- Integration Factors to Consider
- The Linux Solution
- File Services
- Print Services
- Edge Services
- DNS/DHCP Servers and Routing
- Web Servers
- Workgroup Databases
- Light Application Servers
- Computation Clusters
- Data Center Infrastructure
- Enterprise Applications
- Messaging and Collaboration
- Internal Development
- Power Workstations
- Summary
Data Center Infrastructure
This section looks at technologies that can be implemented at the data centertechnologies that can provide a portion or all of the services to support the most complex enterprise IT requirements. These include data center infrastructure technologies such as multiprocessing, server farms, storage, and advanced computingthings that enable industrial strength applications and services. Common technologies include symmetric multiprocessing (SMP), Non-Uniform Memory Access (NUMA), hyperthreading, terminal services, grid computing, storage support, and high-end hardware platform support.
This list of data center infrastructure technologies is complemented by a wide selection of commercial hardware/software combinations, including high-speed switches, routers, and hubs, as well as power supplies and generators, cooling systems, and emergency protection mechanisms. The data center solutions discussed here can also include technologies previously discussed for use in workgroups or small- to medium-sized businesses.
Symmetric Multiprocessing
The Linux 2.6 kernel includes enhancements that let applications that have been written for parallel processing take advantage of even more processors. In simple terms, SMP employs several processors on the same machine using the same common memory pool to execute application tasks. This can significantly speed up the processing for data center-type applications, such as large databases and enterprise resource planning (ERP) applications (see Figure 3.14).
Figure 3.14 Symmetric multiprocessing architecture supported on Linux.
Non-Uniform Memory Access
A drawback to SMP technology has been that even though it can theoretically scale for a large number of processors, realistically the number of possible processors has been limited to around eight to twelve. This is because the shared memory bus becomes a bottleneck as each processor accesses the common bus directly. The next generation of SMP technology is NUMA, which provides for flexible nodes (memory blocks) that act as separate buses and can include memory available on each processor. NUMA allows you to accommodate many more processors than standard SMP technologyNovell has successfully tested 512 CPUs in a multiprocessor configuration and found the technology capable of scaling further. There is no theoretical limit on the number of processors that will work (see Figure 3.15).
Figure 3.15 NUMA architecture supported on Linux.
NUMA scalability is also enhanced for multiprocessing with hardware optimization such as is available with AMD's 64-bit Opteron processor or IBM NUMA servers built with Intel Xeon chips. SUSE Linux includes tools that allow developers to fine-tune applications for NUMA support.
Applications that are parallelized or multithreaded for SMP can be run on NUMA servers generally with little modification, and include databases such as Oracle and DB2 and extended ERP systems for supply chain, customer, financial, and human resources management.
Hyperthreading
Hyperthreading is Intel technology that enables multithreaded server software applications to execute two threads in parallel within each individual server processor, thereby dramatically improving transaction rates and response times. In essence, a hyperthreading-equipped processor appears as two logical processors to an application. Depending on the application logic, execution on two logical processors can provide better overall performance.
Multithreaded or SMP-enabled applications can automatically take advantage of hyperthreading, yielding better performance for e-business and enterprise software implementations. Specific fine-tuning will enhance performance even further. Novell SUSE and Intel engineering teams worked closely to ensure that SUSE took advantage of the Intel's hyperthreading technology in the Xeon processor.
Grid Computing
The goal of grid computing is to create virtual systems, independent of specific resources (processors, memory, storage, networking), that provide computing power on demand. In theory, a grid system can provide as much or as little system resource on an "as needed" basis as required. It's analogous to the electricity power grid in which you only pay for what your meter says you use. Grid computing can service one group or many groups, one company or many companiesthe grid is not necessarily tied to an organizational unit, enterprise infrastructure, or geographical location. Linux is emerging as a key element of grid computing for many enterprise companies as well as industry-specific service providers.
Here's how it works. Several Linux/open source technologies contribute to the ability to create computing grids or solutions that can scale significantly to accommodate increased loads. These include load balancing, failover, multiprocessing, and clustering, as well as web services technologies, authentication, and management. These Linux-centric technologies provide a high degree of flexibility for creating scalable combinations or grid services and are based on open standards. This flexibility combined with the openness makes it possible to create comprehensive or complex solutions that can be scaled up simply by adding more open components. These Linux and open source applications and services are like building blocks that can be interconnected, combined, and replicated to create global gridlike solutions that service needs from small to gargantuan.
Grid computing allows you to add or subtract services or underlying hardware as needed. Are you running the quarterly financials report and need lots of extra computing power for a weekend? Pull it from the grid, a pool of resources normally maxed-out during the week but idle on weekends. By Monday morning, all CPU cycles are available again for regular use. The concept is extended to data as well, with applications like Real Application Cluster (RAC) Oracle. Oracle's grid solutions provide databases that can float from platform to platform without changes and are not tied to specific machines. These types of solutions are increasingly being supported on blade hardwaregrid-specific machines for which Linux is idealbuilt by IBM, SUN, HP, Dell, and others.
IBM and Novell SUSE have teamed up to provide grid capabilities with Linux and IBM zSeries computers using the Globus Toolkit, a collection of software services and libraries that facilitate creation of grid systems. With a zSeries computer (mainframe), hundreds of instances of Linux can be running with others added and subtracted dynamically depending on grid needs.
Terminal Services/Thin Clients
Linux desktops are discussed more later, but it's worth noting here that enterprise applications can be configured to run completely at the data center, with all processing and data manipulation occurring at the back end and only the display at the client. This is possible using open standards/Linux technologies, including X Windows, web services, and a form of terminal services. With Linux, any computer can function as a client to any other computer. The graphics display and interface running on one machine can control the application or data processing on another machine using Xfree86, the open source version of X Windows. This is true distributed computing, and makes possible a wide range of centrally based and centrally managed applications.
As discussed previously, web services applications also make it possible for thin clients with only a browser running to access, interact with, and control enterprise-class applications. Many of the major ERP solutions now have web-based clients allowing users full access to application data with a simple browser from any location on the Internet.
Finally, using any of several Linux boot technologies such as PXE Boot, it is possible to create diskless thin-client workstations that access all services on a "fat" server. A sample scenario is using a floppy or network boot version of Linux to bring up the client and connect to the serverno local hard drive is necessary. The server then houses or provides access to all applications, including browser, office applications, ERP, mainframe access, or web services applications. Everything is centralized and manageable by corporate IT and little if any support at the workstation is required. Organizations can provision a few to thousands of users in a matter of minutes. Thin-client implementations work particularly well with grid computing, making it possible to scale up or down dramatically with very little management or support effort.
Multisite Clustering
Clustering has been covered in previous sections, but is mentioned again here to illustrate that it can be a valuable tool for enterprise failover, high availability, and redundancy requirements. Geographically remote sites can be included as part of clusters using private VPNs or the Internet. For example, a primary storage area network might be located at site A, which accommodates data needs for a specific enterprise application. A mirrored SAN at site B is available if the SAN at site A should go down. The applications that the SAN services could also be separated and mirrored to other clusters at other sites so that a multisite failover network is in place should anything happen at site A or B. High-availability cluster networks can be set up using technology available with Linux. Adding to it technology such as iSCSI SANs from Novell, redundant arrays of storage can be ready for access in case of emergency, anywhere on the Internet.
Storage
The high-end storage capabilities included with Linux also are conducive to data center-class storage solutions. Journaling File System (JFS) is a full, 64-bit file system that can support very large files and partitions and is ideal for high-performance systems. Maximum file size can be 8EB. Novell Storage Services (NSS) enables snapshot file services for backup and versioning of enterprise applications, even when files are open. Software RAID 5 support included with NSS lets organizations create hot swappable storage solutions, and NSS does not experience performance degradation, even with millions of files in a given subdirectory.
Platform Support
Linux is the only operating system that you can use on any hardware platform from Atari to IBM S/390 mainframes. It is extremely easy to scale up by moving to the next level of hardware platform power. For many applications, even in the data center, today's best x86 hardware is more than adequate. But, if your application needs more advanced hardware, Linux and the applications it supports will run there, too. AMD Athlon64 and Opteron run Linux, as does the Intel Itanium Processor Family (IPF). IBM POWER series hardware (64-bit) for the IBM iSeries and pSeries servers is supported by Linux. Linux also supports the IBM zSeries, IBM's 64-bit platform mostly used in the S/390x mainframe series and the IBM 31-bit S/390 systems. On this system, Linux can be virtualized, making it possible to run hundreds of instances of Linux on one mainframe, with each instance performing as an independent operating system. This provides phenomenal scalability for a wide range of applications on a single, centrally managed machine.
Table 3.5 shows Linux support just for the IBM line of servers.
Table 3.5 Linux on IBM Hardware Scales from Desktop Workstations to Largest Mainframes
Linux on Intel-based Servers |
|
|
|
IBM eServer xSeries |
Blades, 1-2 way Servers, Workstations, 32-bit, 64-bit |
|
IBM eServer Cluster |
High-performance cluster interconnect |
Linux on POWER |
|
|
|
IBM eServer OpenPower |
64-bit POWER Servers |
|
IBM eServer pSeries |
32/64-bit, dual OS, 8-way |
|
IBM eServer iSeries |
Virtualized server farm, advanced logical partitioning (LPAR), capacity on demand, virtual storage, and virtual Ethernet |
Linux on AMD |
|
|
|
IBM eServer 325 |
64-bit dual AMD Opteron |
Linux on IBM Mainframe |
|
|
|
IBM zSeries S/390 Mainframe |
Virtualization and dynamic allocation, hundreds of individual Linux servers on a single server |
Each of these technologies mentioned in Table 3.5 can be used to provide enterprise-class, full data center applications and services, and Linux accommodates or supports all of them. Combining Linux with commercial applications and services can provide any enterprise company with the capacity and processing power required for much less capital expense and management effort.