The Server Core option is a new minimal installation option that is available when you are deploying the Standard, Enterprise, or Datacenter edition of Windows Server 2008
1. Server Core provides you with a minimal installation of Windows Server 2008 that supports installing only certain server roles, as described later in this chapter. Contrast this with the Full installation option for Windows Server 2008, which supports installing all available server roles and also other Microsoft or third-party server applications, such as Microsoft Exchange Server or SAP.
Before we go any further, the phrase "installation option" needs to be explained. Normally, when you purchase a copy of Windows Server 2008, you purchase a license to use certain editions or stock-keeping units (SKUs). Table 1-1 lists the various editions of Windows Server 2008 that are available. The table also indicates which installation options (Full, Server Core, or both) are available for each edition.
Table 1-1 Windows Server 2008 Editions and Their Support for Installation Options
To understand what an "installation option" is, let's say you've purchased a volume license that lets you install a copy of Windows Server 2008 Enterprise Edition. When you insert your volume-licensed media into a system and begin the installation process, one of the screens you'll see, as shown in Figure 1-1, presents you with a choice of editions and installation options.
Figure 1-1 Selecting a Server Core installation option to install
In Figure 1-1, your volume license (or product key, for retail media) gives you two installation options you can choose between: the second option (a Full Installation of Windows Server 2008 Enterprise) and the fifth option (a Server Core Installation of Windows Server 2008 Enterprise), with the latter selected in this example. You'll learn more about installing Server Core in Chapter 2, "Deploying Server Core."
Full vs. Server Core
Since the early days of the Microsoft Windows platform, Windows servers were essentially "everything" servers that included all kinds of features, some of which you might never actually use in your networking environment. For instance, when you installed Windows Server 2003 on a system, the binaries for Routing and Remote Access Service (RRAS) were installed on your server even if you had no need for this service (although you still had to configure and enable RRAS before it would work). Windows Server 2008 improves earlier versions by installing the binaries needed by a server role only if you choose to install that particular role on your server. However, the Full installation option of Windows Server 2008 still installs many services and other components that are often not needed for a particular usage scenario.
That's the reason Microsoft created a second installation option—Server Core—for Windows Server 2008: to eliminate any services and other features that are not essential for the support of certain commonly used server roles. For example, a Domain Name System (DNS) server really doesn't need Windows Internet Explorer installed on it because you wouldn't want to browse the Web from a DNS server for security reasons. And a DNS server doesn't even need a graphical user interface (GUI), because you can manage virtually all aspects of DNS either from the command line using the powerful Dnscmd.exe command, or remotely using the DNS Microsoft Management Console (MMC) snap-in.
To avoid this, Microsoft decided to strip everything from Windows Server 2008 that was not absolutely essential for running core network services like Active Directory Domain Services (AD DS), DNS, Dynamic Host Configuration Protocol (DHCP), File and Print, and a few other server roles. The result is the new Server Core installation option, which can be used to create a server that supports only a limited number of roles and features.
The Server Core GUI
When you finish installing Server Core on a system and log on for the first time, you're in for a bit of a surprise. Figure 1-2 shows the Server Core user interface after first logon.
Figure 1-2 Server Core user interface
There's no desktop! That is, there is no Windows Explorer shell, with its Start menu, Taskbar, and the other features you may be used to seeing. All you have is a command prompt, which means that you have to do most of the work of configuring a Server Core installation either by typing commands one at a time, which is slow, or by using scripts and batch files, which can help you speed up and simplify your configuration tasks by automating them. You can also perform some initial configuration tasks using answer files when you perform an unattended installation of Server Core.
For administrators who are experts in using command-line tools like Netsh.exe, Dfscmd.exe, and Dnscmd.exe, configuring and managing a Server Core installation can be easy, even fun. For those who are not experts, however, all is not lost'you can still use the standard Windows Server 2008 MMC tools for managing a Server Core installation. You just need to use them on a different system running either a full installation of Windows Server 2008 or Windows Vista with Service Pack 1.
You'll learn more about configuring and managing a Server Core installation in Chapters 3 to 6 of this book, while later chapters deal with how to manage specific server roles and other components. Meanwhile, if you think you need to learn more about the various Windows command-line tools and how to use them, there are two good resources to consult:
- The Command Reference section of the Windows Server 2008 Technical Library ()
- The Windows Command-Line Administrator's Pocket Consultant by William R. Stanek (Microsoft Press, 2008)
Table 1-2 lists the main GUI applications, together with their executables, that are available in a Server Core installation.
Table 1-2 GUI Applications Available in a Server Core Installation
That's a pretty short list! Now here's a list of user interface elements that are not included in Server Core:
- The Windows Explorer desktop shell (Explorer.exe) and any supporting features such as Themes
- All MMC consoles
- All Control Panel utilities, with the exception of Regional And Language Options (Intl.cpl) and Date And Time (Timedate.cpl)
- All Hypertext Markup Language (HTML) rendering engines, including Internet Explorer and HTML Help
- Windows Mail
- Windows Media Player
- Most accessories such as Paint, Calculator, and Wordpad
The .NET Framework is also not present in Server Core, which means there's no support for running managed code on a Server Core installation. Only native code—code written using Windows application programming interfaces (APIs)—can run on Server Core. In summary, any GUI applications that depend on either the .NET Framework or on the Explorer.exe shell won't run on Server Core. You'll learn more about running applications on Server Core in Chapter 13, 'Maintaining Server Core.'
Supported Server Roles
A Server Core installation includes only a limited number of server roles compared with a Full installation of Windows Server 2008. Table 1-3 compares the roles available for both Full and Server Core installations of Windows Server 2008 Enterprise Edition.
Table 1-3 Comparison of Server Roles for Full and Server Core Installations of Windows Server 2008 Enterprise Edition
While the roles available for Server Core are generally the same regardless of architecture (x86 or x64) and product edition, there are a few exceptions:
- The Hyper-V (virtualization) role is available only if you purchased Windows Server 2008 with Hyper-V product media (Hyper-V is available only for x64 versions). If you do not need this role, you can purchase Windows Server 2008 without Hyper-V product media instead. For more information about installing Hyper-V on Server Core, see Chapter 12, 'Hyper-V and Other Roles.'
- The File Services role on Standard Edition is limited to one standalone Distributed File System (DFS) root and does not support Cross-File Replication (DFS-R). For more information about this,
- Before you can install the Streaming Media Services role on Server Core, you need to download and install the appropriate Microsoft Update Standalone Package (.msu file) for your server's architecture (x86 or x64) from the Microsoft Download Center. For more information concerning this.
- The Web Server (IIS) role does not support ASP.NET. This is because the .NET Framework is not supported on Server Core, which limits what you can do with a Server Core Web server.
Supported Optional Features
A Server Core installation also supports only a limited subset of the features available on a Full installation of Windows Server 2008. Table 1-4 compares the features available for both Full and Server Core installations of Windows Server 2008 Enterprise Edition.
Table 1-4 Comparison of Features for Full and Server Core Installations of Windows Server 2008 Enterprise Edition
Again, there are some points you need to know about concerning the features available on Server Core:
- Some features may require special hardware to function properly (or at all) on Server Core. These features include BitLocker Drive Encryption, Failover Clustering, Multipath IO, Network Load Balancing, and Removable Storage.
- Failover Clustering is not available on Standard Edition.
Server Core Architecture
Digging deeper into Server Core, let's briefly look at the architecture of a Server Core installation of Windows Server 2008 by comparing it with that of a Full installation. First, remember that Server Core is not a different version of Windows Server 2008 but simply an installation option that you can select when installing Windows Server 2008 onto a system. This implies the following:
- The kernel on a Server Core installation is the same one found on a Full installation of the same hardware architecture (x86 or x64) and edition.
- If a binary is present on a Server Core installation, a Full installation of the same hardware architecture (x86 or x64) and edition has the same version of that particular binary (with two exceptions discussed later).
- If a particular setting (for example, a specific firewall exception or the startup type of a particular service) has a certain default configuration on a Server Core installation, that setting is configured exactly the same way on a Full installation of the same hardware architecture (x86 or x64) and edition.
Figure 1-3 shows a simplified view of the architecture of both a Full installation and a Server Core installation of Windows Server 2008. The dotted line indicates the architecture of Server Core, while the entire diagram represents the architecture of a Full installation.
The diagram illustrates the modular architecture of Windows Server 2008, with Server Core being constructed upon a subset of the core operating system features. For the same hardware architecture and edition, every file present on a clean install of Server Core is also present on a Full installation, with the exception of two special files (Scregedit.wsf and Oclist.exe), which are present only on Server Core. These special files were included on Server Core to simplify the initial configuration of a Server Core installation and the addition or removal of roles and optional components. For more information concerning Scregedit.wsf.
Figure 1-3 The architectures of Server Core and Full installations
Driver Support
The architectural diagram of Server Core shown in Figure 1-3 is obviously simplified; one thing it doesn't show is the difference in device driver support between Server Core and Full installations. A Full installation of Windows Server 2008 contains thousands of in-box drivers for different types of devices, which enable you to install products on a wide variety of different hardware configurations. (Client operating systems like Windows Vista include even more drivers to support devices such as digital cameras and scanners that are normally not used with servers.)
If a new device is connected to (or installed in) a Full installation of Windows Server 2008, the Plug and Play (PnP) subsystem first checks whether an in-box driver for the device is present. If a compatible in-box driver is found, the PnP subsystem automatically installs the driver and the device then operates. On a Full installation of Windows Server 2008, a balloon popup notification may be displayed, indicating that the driver has been installed and the device is ready for use.
On a Server Core installation, the driver installation process is the same (the PnP subsystem is present on Server Core) with two qualifications. First, Server Core includes only a minimal number of in-box drivers, and only for the following types of devices:
- A standard Video Graphics Array (VGA) video driver
- Drivers for storage devices
- Drivers for network adapters
Note that for each of the three device categories shown here, Server Core includes the same in-box drivers that are found on a corresponding Full installation (for the same hardware architecture).
Also, when the PnP subsystem automatically installs a driver for a new device, it does so silently—no balloon popup notification is displayed. Why not? Because there is no GUI on Server Core'there's no taskbar, so there's no notification area on the taskbar!
So what do you do when you add the Print Services role to a Server Core installation and you want to install a printer? You add the printer driver manually to the server—Server Core has no in-box print drivers. For more information on installing device drivers on Server Core,
Service Footprint
Because Server Core is a minimal installation, it has a smaller system service footprint than a corresponding Full installation of the same hardware architecture and edition. For example, about 75 system services are installed by default on a Full installation of Windows Server 2008, of which approximately 50 are configured for automatic startup. By contrast, Server Core has only about 70 services installed by default, and fewer than 40 of these start automatically.
Table 1-5 lists the services that are installed by default on a Server Core installation, with the startup mode for and account used by each service.
Table 1-5 System Services Installed by Default on Server Core
For information on managing services on a Server Core installation,
1 Windows Web Server 2008, which is designed to be used as a single-purpose or scale-out front-end Web server, also supports both the Full and Server Core installation options. However, Windows Web Server 2008 is available only on preinstalled systems through system builder and original equipment manufacturer (OEM) channels. This book focuses on supporting only Server Core installations of Standard, Enterprise, and Datacenter editions.
To decide whether and how to implement Server Core in your environment, you need to understand the benefits that Server Core can provide and some possible usage scenarios for the platform.
Benefits of Server Core
Before we look at the benefits of Server Core, let's debunk a misconception: Improved performance is not one of the benefits of running Server Core instead of a Full installation of Windows Server 2008. This may seem paradoxical until you realize that most of the elements that are part of a Full installation but not Server Core are idle unless a user is logged onto the server. And because servers usually don't have users logged onto them except when they're being administered, the result is that the performances of a Server Core installation and a Full installation are about equal if they are both running identical roles.
So what are the benefits of running Server Core instead of a Full installation? There are many, including the following:
- Greater stability. Because a Server Core installation has fewer running processes and services than a Full installation, the overall stability of Server Core is greater. Fewer things can go wrong, and fewer settings can be configured incorrectly.
- Simplified management. Because there are fewer things to manage on a Server Core installation, it's easier to configure and support a Server Core installation than a Full one—once you get the hang of it.
- Reduced maintenance. Because Server Core has fewer binaries than a Full installation, there's less to maintain. For example, fewer hot fixes and security updates need to be applied to a Server Core installation. Microsoft analyzed the binaries included in Server Core and the patches released for Windows Server 2000 and Windows Server 2003 and found that if a Server Core installation option had been available for Windows Server 2000, approximately 60 percent of the patches required would have been eliminated, while for Windows Server 2003, about 40 percent of them would have.
- Reduced memory and disk requirements. A Server Core installation on x86 architecture, with no roles or optional components installed and running at idle, has a memory footprint of about 180 megabytes (MB), compared to about 310 MB for a similarly equipped Full installation of the same edition. Disk space needs differ even more—a base Server Core installation needs only about 1.6 gigabytes (GB) of disk space compared to 7.6 GB for an equivalent Full installation. Of course, that doesn't account for the paging files and disk space needed to archive old versions of binaries when software updates are applied. See Chapter 2 for more information concerning the hardware requirements for installing Server Core.
- Reduced attack surface. Because Server Core has fewer system services running on it than a Full installation does, there's less attack surface (that is, fewer possible vectors for malicious attacks on the server). This means that a Server Core installation is more secure than a similarly configured Full installation.
Possible Usage Scenarios
Consider again the nine server roles you can install on Server Core:
- AD DS
- AD LDS
- DNS
- DHCP
- File Services
- Print Services
- Streaming Media Services
- Web Server (IIS)
- Hyper-V
This list of roles should immediately suggest some possible usage scenarios for Server Core within your organization. Here are some ways that you could use Server Core to make your network more secure, more reliable, easier to manage, and easier to maintain:
- Infrastructure servers. Domain controllers, DHCP servers, and DNS servers are the backbone of your network. Running these roles on Server Core can strengthen this backbone in every way.
- Branch office servers. Because Server Core installations are more secure and require fewer software updates than Full installations, they are ideal for use in remote locations, such as branch offices where you have few (or no) information technology (IT) staff and less physical security than at your head office location. For example, you might deploy a Server Core installation as a read-only domain controller with BitLocker for added security at a branch office.
- Server consolidation and testing. Because Hyper-V is a supported role on Server Core, you can use Server Core to consolidate multiple servers onto a single system while still keeping them isolated. This can help lower your TCO by reducing your hardware requirements and your power, cooling, and management costs. Server Core running Hyper-V also provides a convenient environment for deployment testing.
- Extending hardware life. Because Server Core has lower disk and memory requirements than Full installations, you may be able to get more life out of old systems. For example, when you need to upgrade your e-mail or database servers, those boxes could be moved down the line to become network infrastructure servers running Server Core.
Non-Usage Scenarios
What
shouldn't you use Server Core for? The main thing to understand is that Server Core is intended to run only the nine server roles listed previously.
Nothing else. In other words, Server Core can't be used as a platform for running server applications such as Exchange Server, Microsoft SQL Server, or third-party server applications like SAP. You also can't use it for running Microsoft Office System applications or Microsoft Office SharePoint Server. And you can't (or at least shouldn't) use it to run custom applications you've developed in-house. In short, Server Core is not an application hosting platform.
This doesn't mean you can't install some applications on Server Core—you can, provided the applications have no dependency on the GUI. For example, you can install many of the following types of server applications onto Server Core:
- Antivirus agents
- Backup agents
- System management agents
You'll learn more about installing applications on Server Core . But that's about it as far as what else you can install on Server Core is concerned.