Upgrading and Repairing Servers

The Solaris operating system for the SPARC platform was Sun's only offering for much of its early history. Sun started offering an x86 or Intel version of its Solaris operating system, but there was talk before Solaris 9 was released in May 2002 about phasing out the Intel version of Solaris. The popularization of Linux and the success of Linux servers, mainly at the expense of Sun's server line, have influenced Sun to continue developing Solaris on Intel as well as release a number of Intel architecture servers based on the AMD Opteron CPUs discussed earlier in this chapter.

Note

The Solaris operating system version has a somewhat convoluted relationship to the Sun OS version. To convert the Solaris version number to the Sun operating system number, you add to it the prefix Sun OS 5. Thus Solaris 8 is Sun OS 5.8 and Solaris 10 is Sun OS 5.10. Most people now simply refer to the Solaris version as the current OS name.

The Solaris operating system is sometimes referred to as the Solaris operating environment, particularly when Solaris is running applications on Sun equipment. Although the Intel architecture comes with the same set of management tools and interface as the SPARC platform, many features are available on UltraSPARC Solaris systems that aren't found on the Solaris-on-Intel version. Although Sun ported Solaris 2.5.1 to PowerPC, that port died a fast death in the marketplace.

Today Solaris 10 runs on the following architectures:

  • SPARC

  • x86

  • x86-64

With Solaris 10's release in February 2005, Sun has paid a lot of attention to architecting the operating system so that it is optimized for 64-bit computing on Intel architecture systems. At this point in the company's development, it appears that Sun is equally committed to Solaris on SPARC and on Intel.

Solaris is available for free download from Sun's site, at www.sun.com/software/solaris/get.jsp. Restrictions on the use of downloaded copies of Solaris change from time to time, but basically, if you aren't using Solaris for commercial use, you can acquire a free license to run the software. For current license requirements under the Common Development and Distribution License, see www.opensolaris.org. Sun has a version of Solaris called OpenSolaris that is based on Solaris 10 and has some built-in restrictions that allow for open source development work.

The original Solaris graphical interface was based on OpenWindows, and many of Sun's applications still share that origin. OpenWindows is built as a graphical front end to the X Window System. Starting with Solaris 2.6, Sun made the Common Desktop Environment (CDE), a Motif variant, its default GUI. The current default interface in Solaris 10 is called the Java Desktop System (JDS), which is based on the GNOME software project. Figure 19.1 shows the CDE interface of Solaris 2.6 through Solaris 9, and Figure 19.2 shows the JDS interface.

Figure 19.1. The CDE is the GUI in Solaris 2.6 through Solaris 9.

Figure 19.2. The current desktop of choice in Solaris 10 is the JDS, a variant of GNOME.

Solaris is unique among network operating systems that you've read about in this book in that it provides the best support for Java applications, as well as probably the best-supported version of UNIX, running on the broadest range of equipment. Sun Java System Directory Server, Sun Java System Application Server, and Sun Java System Message Queue are server technologies that run on top of the Solaris operating system. In the Solaris 10 distribution, Sun offers almost 200 free or open source programs compiled to run on Solaris. Notable among them are the following:

  • Apache, Tomcat, and Zebra network servers and webservers

  • Bison, Perl, Python, and GCC (GNU Compiler Collection) programming tools

  • The GNOME GUI, Mozilla browsers, and Evolution desktop usability software

  • IP Filter, TCP wrappers, and secure shell (SSH) utilities

These applications are found on the Solaris Software Companion CD-ROM.

PC NetLink Integration Software

Solaris PC NetLink software is interoperability software that allows a Solaris system to serve the function of a Windows server in a Windows-based domain but without the added cost of having to obtain Windows client access licenses (CALs). The software is based on AT&T Advanced Server for UNIX. With NetLink, it is possible to have a Solaris system participate in Windows Active Directory services, Windows logons, and as a Windows file and print server. From a client standpoint, and particularly a Windows client standpoint, Sun Solaris systems running PC NetLink appear in a Windows network as any Windows server would appear.

A PC that runs PC NetLink can do the following:

  • Perform the duties of a backup domain controller (but not a domain controller in a native Active Directory domain)

  • Act as a SAM/SID security/authentication server

  • Act as a file and print server for the NTFS file system

  • Act as a network browser

  • Use NetBIOS and WINS naming services

Solaris systems can support a full range of Windows clients, but they only replicate the capabilities of a Windows NT 4.0 server by running the network services shown in this list. Figure 19.3 shows how the PC NetLink services are layered on top of the Solaris operating system. On a Sun Fire 15K server running PC NetLink, Sun has demonstrated more than 20,000 concurrent Windows connections.

Figure 19.3. PC NetLink software runs Windows network services on top of the Solaris operating system.

Reliability and Scalability

When you scale systems larger, your risks of failure grow simply because the numbers of components are increased. These two trends work at cross-purposes. You can scale your systems and maintain reliability by duplicating components, which greatly improves your fault tolerancebut often at a high price. Who wants to pay twice the cost of a system just to ensure that the system will stay up and running? Some highly fault-tolerant systems do duplicate all components, but they tend to be higher-end systems.

Another approach to improving reliability while you scale your systems is to abstract your physical resources into logical units so that if a physical asset such as a processor or disk fails, the system simply stops asking it to participate in the service being provided. As enterprises continue to build larger systems, often from small building blocks such as blades, this approach offers many benefits. Chapter 11, "Disk Subsystems," describes how RAID can abstract disk assets into volumes and protect the data of a group of disks by writing redundant information. With servers, you can also abstract your servers into a logical pool of resources, which is the essence of Sun's vision of server virtualization.

Server virtualization offers three benefits:

  • Server resource optimization When an application demands more processing resources, you can add those resources to the container.

  • Fault isolation When a server or processor fails, it is removed from the container.

  • Security isolation Because a container is an operating system object, you can apply security constraints to it, thereby restricting or allowing access to users and groups, as required.

Sun introduced DSD in 1996. When you define a domain in DSD, each domain runs an instance of Sun Solaris. When an application fails or an error occurs in one instance of the domain, the other domain continues to operate, unaffected. Unlike what was done in mainframe technology, DSD can be dynamically reapportioned. If a domain requires more resources, those resources can be reallocated.

DSD runs multiple instances of the Sun Solaris operating environment (but not the Sun OS), which is a waste of system resources. The next step in server virtualization is to abstract resources under a single instance of Solaris. That's what SC does. Figure 19.4 shows a schematic of these two different virtualization schemes.

Figure 19.4. DSD and SC are logical entities that allow you to manage system resources dynamically, reconfiguring them as the servers are running.

SC, formerly called N1 Grid Containers, allocates processor resources to applications, creating a logical unit called a container. Just as you can concatenate volumes into a single volume, with Solaris containers, you can add and remove processors or entire servers from the container that is used to service an application. Essentially, you use software to create hardware resource boundaries that you can then flexibly apply to your processing needs. You can even manage your software applications running under one instance of Solaris by using a Solaris container, and each container runs in isolation from the other. SC is available to software developers to incorporate and manage within their products.

Категории