Thoughts from the EPS Windows Server Performance Team
Today we're going to get started with Windows Server 2008 Server Core. First, let's talk about what the Server Core installation is (and what it is not!). Server Core is a minimal environment to run specific server roles, which reduces the maintenance and management requirements and the attack surface for those roles. The following roles are supported on Server Core. At this time, we are still working with the Beta 3 build of Server 2008, so additional roles may be available at Product Launch.
Note: Microsoft recently announced that IIS7 would be available as a Server Core role, however the Beta 3 build does not have IIS support. The IIS Role on Server Core does not include support for .NET. There is also no support for GUI management tools. However, according to Bill Staples' blog, .NET support is still being discussed ...
When you look at what Server Core offers, the roles available are ideal for a branch office deployment scenario where there are limited (or no) IT resources remotely and all management is centralized. So let's get started with our installation. For this Server Core install, I am setting up a File & Print Server in a Virtual Environment for my own testing. I allocated 20GB for the Hard Drive and 256MB of RAM for my VM ... so on with the installation! The first few screens are fairly standard - choosing the installation language, the regional options (time and currency format) and my keyboard layout. However, I did run into one minor glitch ...
Oops! Guess I should have read the Windows Server 2008 System Requirements for Beta 3! After making the appropriate change to the amount of RAM available for the VM, I was able to continue on with the installation ...
Welcome to the Server Core User Interface. There is no traditional UI, only a command prompt. All the management and administration is performed locally via the command prompt, or remotely using a Terminal Server connection, the Microsoft Management Console (MMC) or via command-line tools that support remote use.
Today, we're going to get a few basic tasks accomplished:
In other words - getting all the prep work done to make this a File & Print Server. So the first thing we're going to do is set the password for the Administrator user account. We can accomplish this by using the Net User Administrator * command. Using the * character means that the password is not displayed on the screen as shown below:
So now that the password is changed, we need to verify network connectivity for the server. We are going to set an IPv4 address on this machine. Since this machine is on our corporate network, we will be using DHCP to get our address, but we're going to go through the process to set up a Static IP as well as configuring this machine as a DHCP client. But, before we can set any addresses, we need to know which interface we are working with. To display a list of interfaces, we use the Netsh interface ipv4 show interfaces command:
We can see that there are two interfaces, the Local Area Connection and the Loopback interface (remember, this is a Virtual Machine). Make a note of the number shown in the Idx column of the output for your network adapter. If your computer has more than one network adapter make a note of the number corresponding to the network adapter for which you wish to set a static IP address. To set a Static IP address, we use the following command: netsh interface ipv4 set address name="ID" source=static address=StaticIP mask=SubnetMask gateway=DefaultGateway where:
Notice that we didn't set up any DNS servers for this machine. To add a DNS Server, we use the following command: netsh interface ipv4 add dnsserver name=interfaceid address=ipofdnsserver index=1. For each DNS server you set, you need to increment the index number by 1.
But for this server to be functional on our corporate network here, I need to switch back to DHCP. This is done via the following command: netsh interface ipv4 set address name="ID" source=dhcp
And that's it - I'm back on the corporate network. I'm almost ready to join this machine to the domain. Before doing that, I want to make sure that the server has a friendly name. As you go through the setup, you'll notice that there was no prompt to define the server's name - so what you end up with is an auto-generated name as shown below:
There's no way I'm ever going to remember LH-QU6Z6TS52XSS, so I need to rename the server to CC-LHSCORE-B3. Using the Netdom command we can change the computer name as shown above. As with any server name change, the server has to be rebooted for the rename to be completed. And after the reboot ... a familiar screen:
Now the CC-LHSCORE-B3 server is ready to join the domain. Again, we're going to use the Netdom command to join the domain: netdom join ComputerName /domain:DomainName /userd:UserName /passwordd:*. Before I reboot for the domain join to take effect, I want to make sure that I add my domain user account to the local administrators group. I can do this with the following command: Net localgroup administrators /add DomainName\UserName. Now I'm ready to reboot and log in with my domain user account and work on getting the server set up as a File & Print server. You can use the Ctrl+Alt+Del key combination to bring up the familiar menu which allows you to launch Task Manager as well as restart or lock the machine. You could also use the shutdown command to restart the machine.
And that brings us to the end of our quick walkthrough on getting a Server Core install up and running and ready for configuration. In the next Server Core post, we'll cover adding the Print Services role to the server and configuring some printers. Until next time ...
- CC Hameed
Don't mind people who are negative on the server core issue, they just don't get the point. Meanwhile, I have a question need some answer.
Say if I install a Server Core, move the profiles (C:\Users) to a seperate hard drive on the network, set pagefile to 0, and turn off automatic update, then is it possible to make the entire system (boot) partition read only?
The reason I'm asking is I'm considering some scenarios for low-cost blade servers. Consider a blade with a Core 2 processor, a chipset controller (if Intel could only make a CPU with integrated memory/hd/network control, but that's another discussion another place), maybe 4-8GB memory and a onboard Flash hard drive, this blade would not take more than 3U (maybe even just 2U) tall, and the enclosure could take up to 14-20 blades without heating up too much. Now considering the Flash hard drive, which btw, Sandisk already makes 4GB-16GB ones, a simple switch can physically turn it to read-only mode. According to Tom's Hardware, SSDs have incredible read speed compared to traditional hard drives, but write speed sucks, and will shorten their lifespans. However, if I can make the boot partition read only, and use a server (or blade) as file server for internal updates, I can make up a schedule, manually switch the hard drives back to read-and-write mode, update and afterwards, switch them back to read-only mode. Not only will this be easier for backing up, but will surely reduce attack even more.
Just some thoughts, but would like an answer.
without a command line deploying software to 4000 gets pretty boring and I have no desire to rob my company years of lost productivity ...
sever core gives us the ability to install iis via the command line i would pay thousands just to not wait for that darn add windows components dialogue that takes FOR EVER. :)
outstanding product move
I am searching for some details about Windows Server 2008 Core.
Is there any numbers - how much system performance was reduced from Server with UI to Core Server without UI. Is there really a benefit for Core Server?
hi...can any one tell me how thread level parallelism is done in server core?
This is a nice option for us people who prefer command driven OSs. Still no where near as tweakable as linux, but you cant blame them for trying.
Great job MS! All the complainers on this thread are not admins and have no idea what they are talking about. Server core is perfect for any situation where you want the OS to consume minimum resources. Like a hyper-v host. Or a light-duty file server. GUI fan boys: you can always admin a core box via MSC from remote machines... or do you not know how to do that? Posers.
Server core is an excellent way to go. With the option to have a full command-line interface (and necessary in cases like Windows Deployment Server), I can honestly say that I am very happy Server Core is around. One of the best things to have come out of Server Core is Microsoft Hyper-V Server 2008 R2 which is a server core only FREE Level 1 Hypervisor from Microsoft. I cannot tell you how much I enjoy this thing being around. It competes well with the likes of VMWare's ESXi