Deploying Linux Solutions on IBM iSeries and pSeries Servers
Linux is a stable and reliable development and deployment operating system which allows applications to be deployed across a wide range of servers. Its low cost, broad availability, open source development, and increasing scalability make it an attractive operating system. Linux continues to be developed in the open-source community and is rapidly maturing into a enterprise-level reliable, available, scalable operating system, which can be used for a steadily increasing number of enterprise-level applications and workloads. A demonstration of the maturing of the Linux market is the emergence of the Linux standard and testing capabilities to give application providers a means to assure their conformance to it and, hence, their portability across distributions. More information can be found at http://www.linuxbase.org/.
Linux support across all IBM eServer platforms (pSeries, iSeries, xSeries, and zSeries) is an important part of IBM’s strategy. This allows porting applications to all of these platforms with few changes required to the source code. By deploying your application to Linux on any one of the IBM eServer platforms, you will be able to port your application easily to any other eServer platform, gaining an even greater customer base.
Linux for the IBM POWER platforms, both pSeries and iSeries servers, is a key element of the IBM eServer Linux strategy. On the POWER-based servers, both pSeries and iSeries servers, you can run your Linux applications on enterprise-strength reliable servers. You can also benefit from running your application in a Linux partition, gaining the benefit of shared system resources on a single server. On iSeries in particular, disk RAID and mirroring can be used by Linux partitions without needing any processor cycles from the Linux processor allocation -- i5/OS helps transparently. Additionally, IBM Linux consulting services and support can give you the confidence of having world-class support and services ranging from architecting a solution to system administration education to Linux cluster implementations. (See the Support and Services section below.) It is also well known that IBM is a strong contributor to the Linux open source community and has contributed features such as journaled file systems, schedulers and more.
Linux on POWER-based servers
As both pSeries and iSeries servers are based on the same POWER processor architecture, binaries compiled under a Linux distribution on either pSeries or iSeries will run on both platforms with no or minimal changes. (See the FAQ section for more information.) This is another advantage to deploying your application on Linux on iSeries and pSeries. Additionally, compilers which have been optimized to the pSeries and iSeries platforms are provided to minimize the need for application tuning. See the compiler section below.
Linux on pSeries
The pSeries servers offer industry-proven performance, scalability, and reliability. Linux on pSeries leverages the enterprise-level advantages of pSeries hardware while allowing administrators and users to utilize Linux applications. Linux for pSeries is especially compelling for solutions requiring a 64-bit architecture or the high-performance floating-point capabilities of the POWER processor. IBM’s pSeries servers utilize POWER processors to provide excellent 64-bit performance and industrial strength reliability, as well as supporting 32-bit applications on Linux for pSeries for added choice. With the mainframe-inspired technologies in the pSeries servers, deploying your application on Linux on pSeries is a persuasive combination. Linux is continually being supported on the newest available servers. Currently, Linux can be installed standalone on such IBM pSeries entry servers as p615 and p630; midrange servers p650 and p655; and in a logical partition on mid-range pSeries server p670 and high-end pSeries server p690.
A recent addition is the two-way blade server BladeCenter JS20 based on two PowerPC 970 processors. Together, this family of hardware offers 64-bit environments for your application on Linux on pSeries at a low total cost of ownership. This set of hardware is currently being expanded with introduction of POWER5-based systems in pSeries lines of IBM e-server products.
In addition, the logical partitioning (LPAR) capability of pSeries servers makes it possible to run one or more instances of Linux along with AIX, IBM’s award-winning UNIX operating system, on a singler server. If your application has already been deployed on AIX, you may want to deploy your application in a Linux partition on a LPAR-capable pSeries server. You can compare your application’s performance within the AIX partition, and continue to develop your application within the Linux partition on the same server. This is a low-risk way to get started with Linux. Only IBM supports both UNIX and Linux partitions on a single server.
Linux on iSeries
Linux on iSeries provides the ability to run Linux applications natively in a secondary partition on a single iSeries server, while continuing to support your core business applications. iSeries is a mainframe-strength, reliable server and an excellent candidate for doing server consolidation. iSeries supports not only Linux and its native operating system, i5/OS, but also Java, Domino, WebSphere, and even UNIX and Windows 2000 Server applications. All these applications can run on the same server, in separate partitions, with no interference between them. One undeniable advantage to deploying your application on Linux on iSeries, is the ability to consolidate several Linux servers. Many iSeries models support up to 31 Linux partitions. System resources can be shared dynamically across all partitions, including the Linux partitions which reduces the deployment cost further. This line of outstanding products has just recently been expanded with introduction of the next generation of IBM eServer iSeries servers: the IBM eServer i5 520 and the IBM eServer i5 570. The new eServer i5 server is the industry's first server based on IBM POWER5 technology and it is designed to reduce complexity, help simplify your infrastructure and enhance productivity.
IBM is working with Novell and Red Hat to certify Linux distributions for the new eServer i5 servers. Specifically the next version of SUSE Linux Enterprise Server, SLES 9, and the next quarterly update of Red Hat Enterprise Linux AS 3 will support eServer i5. Another compelling reason to deploy on iSeries, is that the same highly-reliable disaster recovery available for i5/OS backups is also available for Linux.
The Linux operating system is a free UNIX-like operating system that runs on the entire range of IBM hardware: xSeries Intel-based servers, pSeries UNIX servers, iSeries mid-range integrated servers, and zSeries high-end mainframes.
A short history of Linux
Linux was originally developed by Linus Torvalds (Linus + Unix = Linux), starting in 1991 while he was as a student at the University of Helsinki in Finland. Since then, Linux continues to be developed at a phenomenal rate by the open source development community. Linux is now ready to crack open the enterprise-level environments. It boasts a solid graphical environment, powerful compilers and debugging environments, easy-to-install packages, and numerous applications. Linux started out on the Intel platform, but now supports hardware platforms big and small from embedded systems (including watches), all the way to IBM’s zSeries mainframes.
The Linux kernel is developed and distributed under the GNU General Public License (GPL), which means that its source code is freely available to anyone. Companies may market commercial versions of Linux, but the source code must remain freely available. The Free Software Foundation (FSF) is the main sponsor of the GNU (Gnu’s Not UNIX) Project whose mission is to provide free software. FSF is the author of the GPL, as well as GNU software programs such as the GCC (GNU Compiler Collection) and the EMACS editor environment. When Linus Torvalds developed the Linux kernel, it was made available under the GPL. For more information on FSF, GNU, or GPL, see the main GNU web site at http://www.gnu.org.
Since the source code for the Linux kernel is freely available under the GNU General Public License, many companies have developed their own versions (or distributions) of Linux which each have their own distinct advantages for installation, system administration, compilers, libraries and available software. Although it is possible to download and install Linux for free, it is more common to buy a particular Linux distribution plus support. Linux has been available for the POWER architecture since Linux kernel version 2.2.
SUSE Linux Enterprise Server (SLES) and Red Hat Enterprise Linux (RHEL) AS 3 distributions are the most commonly used for Linux on iSeries and pSeries. Today, the Linux on POWER distributions, such as SUSE SLES 8 and RHEL AS 3 are based on the 2.4 version of the 64-bit Linux kernel for POWER systems, and support 64-bit as well as 32-bit applications. IBM plans to support distributions based on the 2.6 version of the 64-bit Linux kernel later in 2004. For more information on Linux for pSeries and iSeries, see:
- Linux on pSeries at http://www.ibm.com/servers/eserver/pseries/linux/
- Linux on iSeries at http://www.ibm.com/servers/eserver/iseries/linux/
Also, see the web sites for these two Linux distributors:
Linux is in many ways similar to commercial UNIX. There are some variations from distribution to distribution, such as directory structure, binary packaging, and tools, but for the most part, Linux is Linux. Members of the open source community provide web pages that provide administration tips, mailing lists, FAQs, and other useful resources. A brief list of these resources is provided below. It is highly recommended that a new Linux user investigate and make use of the open source community and their willingness to support and assist Linux users. Especially the resources provided by the Free Standards Group, through which commonality across Linux distributions is increased.
- Free Standards Group at http://www.freestandards.org
- GNU Operating System - Free Software Foundation at http://www.gnu.org
- GNU Operating System - Free Software Foundation at http://www.fsf.org/
- SourceForge.net at http://sourceforge.net/
- The Linux Documentation Project at http://www.tldp.org
For some users, the desktop environment is an important part of the setup of Linux on a server. There are several desktop environments available for Linux, including the IBM pSeries and iSeries servers. Two popular desktop environments are:
- KDE (K Desktop Environment)
- GNOME (GNU Network Object Model Environment)
Each desktop environment has its own set of features although they both provide the following: a customizable graphical user interface for session and window management with a set of utilties and applications. The desktop environments differ in the types of utilities and applications offered. Although they both have file and data management utilities and other applications such as calendars, mailers, and text editors, each desktop environment differs in how these utilities and applications are implemented. Both of the desktop environments use X Windows as a base graphical user interface.
The X Window System, also known as X or X11, is an open source graphical user interface that is the de facto standard for Linux (and UNIX) systems. (Xfree86, a version of X, is used by Linux.) Components described below such as widget sets and desktop environments, use X as the underlying system.
- Widget libraries
- Widget libraries, or widget sets, provide the ability to draw windows, buttons, and menus (that is, widgets). Motif widgets are one type of widget library.
- Toolkits provide more functionality than widget libraries, and often offer complete application developer frameworks. The toolkits are a set of APIs that can be used cross-platform by developers. Toolkits include Qt, GTK+ and Motif.
- Window managers
- A window manager is a program that controls the management and look and feel of windows. Window managers are generally tightly coupled with the desktop environment. For example, KDE requires the use of the kwm window manager. With GNOME you can use several different windows manager, such as Sawfish or Metacity.
- Themes are a customized overall look to the desktop and windows. This is similar to the Microsoft Windows display schemes, but not only affect the appearance of your desktop environment but also affects how widgets (buttons, menus, etc) behave. There are many themes available for the different window managers. Both KDE and GNOME have theme managers built into their respective control centers.
The K Desktop Environment (KDE) is an open-source graphical desktop built together with X Windows. KDE provides application development framework tools as well as system administrator tools. KDE can be easily customized. The Qt toolkit can be used with KDE.
The GNU Network Object Model Environment (GNOME) desktop is also similarly built together with X Windows. GNOME commonly uses the GTK+ toolkit library.
The Common Desktop Environment (CDE) is a widely-available commercial desktop environment based on X11 and Motif. CDE is available by default on AIX servers. CDE is available commercially for Linux but is less commonly used than KDE or GNOME.
There is some effort being made to unify the desktop environments (see http://www.freedesktop.org), mainly between GNOME and KDE. GNOME and KDE appear to be growing closer together and do offer a measure of interoperability.
Linux for iSeries and pSeries is in the unique position as a development environment of offering many different compilers. In addition to the VisualAge C, C++, and Fortran compilers developed by IBM, the GNU Software Project has provided four versions of their compilers (GCC) for development on Linux for iSeries and pSeries. For high performance applications, especially those with intensive floating point demands, the VisualAge compilers provide an enterprise class development tool delivering the best available optimization on iSeries and pSeries servers.
Java Development kits
IBM provides for Linux on iSeries and pSeries JDK 1.3.1 and JDK 1.4.1 in 32-bit address space, and JDK1.4.2 in both 32-bit and 64-bit flavors, that are all fully compatible with respective Sun’s JVM specification. IBM’s JDKs are available athttps://www6.software.ibm.com/dl/lxdk/lxdk-p.
Integrated Development Environment
Several development tools and development environments are available to Linux developers. The most popular are the GNU tools, including the compilers mentioned above.
EMACS is an open source IDE available from the GNU Project web site and has been used by UNIX and Linux users alike for many years. Originally simply an editor, it has now grown to a full-fledged IDE with built-in compiler and script support. See http://www.gnu.org/software/emacs/emacs.html for more information.
Another IDE is Eclipse. Eclipse is a fully integrated open source, extensible development platform rapidly achieving a high level of acceptance by the development community. By itself, Eclipse is a building block environment for easy plugin of development tools. However, it does provide a standard set of plugins such as Java Development Tools. Eclipse is not yet available for the POWER architecture but may become available later. For those interested in exploring Eclipse, please visit eclipse at http://www.eclipse.org for of "how-to" and "getting-started" articles.
Using an IDE for development needs is a matter of personal choice. Some developers feel that access to a fully integrated development platform can take years off their development efforts.
Running Linux applications on a POWER processor platform
Applications developed on a low-end Intel processor machine can be recompiled using the same development tools on the higher-end POWER-based servers in both 32- or 64-bit mode for deployment. It is also possible to use cross-compiler options that allow creation of POWER processor binaries on an Intel processor. However, it is recommended that the VisualAge compilers be used for the best possible performance on the POWER processor family. It is also recommended that any application that does not necessarily need 64-bit addressing, stay as a 32-bit binary to maintain its runtime efficiency.
Running Linux in an LPAR on pSeries
Linux can be installed in a LPAR and applications deployed on it without ever requiring AIX. All LPAR functions are controlled by the Hardware Management Console and the firmware on LPAR-capable systems. Instances of AIX and Linux run as peer operating systems in separate LPARs. Linux is installed, booted, and runs independent of any use of AIX.
Running Linux in an LPAR on iSeries
Linux can be installed in up to 31 partitions on many iSeries servers. These LPARs are essentially identical to Linux LPARs on pSeries, but unlike pSeries, iSeries Linux LPARs depend on at least one i5/OS LPAR to be installed. Instances of i5/OS and Linux run in completely separate LPARs, and are managed independently.
New POWER5 based iSeries i5 models offer a multi-platform operating environment with the capability to run i5/OS (the latest generation of OS/400), Linux, Microsoft Windows Server, AIX 5L, plus enterprise-class dynamic logical partitioning for allocation and virtualization of resources - up to 160 partitions on i5 model 570 and 20 partitions on i5 model 520.
Licensing of Linux software is often a confusing topic for developers. It is recommended that any development team review the GNU Public License (GPL). This is the license that the Linux kernel and much of the open source software uses. Details of the GPL and other popular open source licenses and their implications have been examined in detail. Resources provided by the Free Software Foundation (FSF) can be found at http://www.fsf.org/philosophy/free-sw.html to help you understand the details of the GPL and other popular open source licenses.
Support and services
Support for Linux for iSeries and pSeries servers is available from several sources. Linux distributors such as SuSE and Red Hat include support and maintenance for the Linux distributions on IBM’s pSeries and iSeries platforms. At present, for SuSE Linux Enterprise Server (SLES) for iSeries and pSeries systems, the distribution’s pricing includes one year of maintenance (fixes, updates, and defect support) and thirty days of installation support either directly from SuSE or from one of SuSE’s partners. See SuSE’s web site for more information. Similarly, Red Hat provides one year of installation support and one year of software maintenance (upgrades and defect support) along with its Linux distribution. Additionally, Linux community support is available for all Linux distributions either through web sites devoted to Linux development or through news groups and mailing lists. IBM’s main Linux and eServer pages also offer resources and information at:
Also see the Community Resources section for open source resources.
Fee-based services are available through the Linux distributors and also through IBM. Third-party vendors also provide Linux services such as Linuxcare (http://www.linuxcare.com). Both SuSE and Red Hat offer fee-based consulting services. Details on these offerings are available on their web sites. Maintenance contracts for software upgrades can also be obtained from the distributors. See:
- SuSE Professional Services -http://www.suse.com/us/business/services/index.html
- Red Hat Consulting - http://www.redhat.com/services/consulting/
IBM Global Services has developed a comprehensive portfolio of Linux service, support, and education offerings. These offerings currently include:
- Consulting, planning and implementation services
- Open Source Consulting
- Linux Server Consolidation Services
- Migration Services for Linux
- IBM Middleware Enablement Services for Linux
- Linux Cluster Implementation Services
- Worldwide remote 24x7 technical support
- Support Line
- Classroom and Web-based Education and Training
For further information see IBM Global Services Linux web site at http://ibm.com/linux/services.
IBM hardware and software support
Support for IBM hardware, both iSeries and pSeries, is available whether you are using Linux, AIX, or i5/OS operating systems. Similarly, support for IBM software such as IBM’s WebSphere and VisualAge products does not differ for Linux on iSeries and pSeries.
- Does Linux on POWER-based servers differ from Linux on Intel?
- The Linux distrubution on iSeries and pSeries servers differs from Linux on Intel in that the binaries are created for the respective processor and related I/O family. However, there should be source code compatibility between most applications written for 32 bit and 64 bit applications in the user space.
- Does Linux on PowerPC (POWER-based servers) differ from Linux on Apple?
- Though both platforms have the same processor, there are differences in the I/O support for each platform. There is a high level of binary compatibility between the two platforms, though some work may be needed to make applications written on one platform work well on the other.
- Can I run any Linux application that has been compiled on a pSeries server, on the iSeries platform?
- Most Linux applications written on pSeries platform will run unmodified on the iSeries platform. However, since the I/O support is different between the two platforms, some changes may be required for I/O support.
- What are the advantages of running Linux on the POWER processors?
- The POWER-based servers offer a proven environment with industry leading performance, scalability, reliability and autonomic computing manageability features. Linux on pSeries, for example, leverages many of the competitive advantages of pSeries hardware while allowing choices in the development and deployment environment.
Helpful terms and definitions
- AIX 5L
- Version 5 of the AIX operating system that runs on POWER-architecture based systems. The latest version is AIX 5.3.
- GNU Compiler Collection. A collection of compilers available through the GNU Project, including C, C++, and Java compilers among others.
- IBM’s collection of compilers which includes C and C++ among others.
- Operating system
- The name of the common chip architecture for IBM’s pSeries and iSeries servers.
- Same as POWER. The common chip for IBM’s pSeries and iSeries servers.
- The latest currently available POWER chip. Like the POWER3 and POWER4, the POWER5 technology unifies the POWER and PowerPC architectures. It features communications acceleration, chip multiprocessing, and simultaneous multithreading (SMT).
- The POWER4 architecture has superior performance across a broad range of commercial and high performance computing environments. POWER4-based iSeries and pSeries servers support dynamic logical partitioning. See the POWER4 whitepaper in the Rsources section for more information.
- One of the currently available POWER chips available for entry-level pSeries servers.
- IBM’s UNIX-based servers which run AIX or Linux. AIX and Linux can run on the same POWER4-based system in logical partitions. Linux can also run as the primary OS on pSeries.
- IBM’s integrated servers which run i5/OS and Linux. i5/OS and Linux can run in logical partitions on iSeries servers. iSeries can support up to 31 Linux partitions. IBM has announced a statement of direction to run AIX in a partition in a future iSeries release.
- Logical Partitioning. Allows multiple operating system instances to run on a single server.
- Dynamic Logical Partitioning. Like LPAR, but also provides the additional capability of dynamically changing system resources (CPU, memory, etc) without the need for system or partition reboots.
- Integrated Development Environment. A development environment for compiling and debugging application code.
- GNU Compiler Collection (GCC)
- The open source GNU Compiler Set, including gcc, the GNU C Compiler, g++, the GNU C++compiler, and g77, the GNU Fortran77 compiler.
- The GNU General Public License, under which the Linux kernel and much of the software found in the open source community is licensed.More about the GPL can be found at http://www.gnu.org.
- IBM Linux at http://www-1.ibm.com/linux/
- IBM Linux for pSeries at http://www-1.ibm.com/servers/eserver/pseries/linux/
- IBM Linux for iSeries at http://www.ibm.com/servers/eserver/iseries/linux/
- IBM iSeries InfoCenter at http://publib.boulder.ibm.com/pubs/html/as400/infocenter.html
- IBM Global Services for Linux at http://www-1.ibm.com/services/ondemand/
- POWER4 System Architecture whitepaper at http://www-1.ibm.com/servers/eserver/pseries/hardware/whitepapers/power4.html
- IBM’s VisualAge C/C++ compiler at http://www.ibm.com/software/awdtools/vacpp/ http://ibm.com/software/ad/vacpp/
- IBM’s Redbooks Linux Domain at http://publib-b.boulder.ibm.com/redbooks.nsf/portals/Linux
- Red Hat for pSeries at http://www.redhat.com/software/eserver/pseries/
- Red Hat for iSeries at http://www.redhat.com/software/eserver/iseries/
- The GNU Project - http://www.gnu.org/
- KDE at http://www.kde.org/
- GNOME at http://www.gnome.org/
- Eclipse at http://www.eclipse.org/
- GNU’s Emacs at http://www.gnu.org/software/emacs/emacs.html