Hi there! I'm Scott Johnson, Program Manager for the Windows Storage Server product line. We have many cool things going on in the Windows Storage Server team that need to be talked about, so we decided to kick off this blog! For starters, here is a rundown of the key features of a Microsoft Windows Storage Server. I will strive to post a new article every month. If you have a topic that you think needs to be covered, post a request and I'll see what I can do.
What are Windows Storage Servers?
- Windows Storage Server (WSS) and Windows Unified Data Storage Server (WUDSS) are a family of storage-appliance operating systems from Microsoft.
- Server manufacturers, known as Original Equipment Manufacturers (OEMs), use the OS for server appliances that specialize in file, block and print workloads.
- Storage servers specialize in large multi-terabyte disk subsystems that typically use RAID technology to provide data redundancy, fault-tolerance and high-performance. Also included is support for a plethora of Directly Attached Storage (DAS) solutions using a multitude of interfaces, like ATA, SATA, or SCSI and more advanced storage fabrics using SAS, iSCSI or Fibre Channel. I like using the words plethora and multitude in the same sentence, I am hoping to get a triple word score. 🙂
- These servers come in highly available configurations that are usually headless, easy to deploy, pre-configured by Microsoft’s OEM channel partners and only available pre-installed on the servers.
- These operating systems utilize Windows technologies and support the Windows ISV ecosystem, including backup and anti-virus applications.
- Windows storage servers do not require any Client Access Licenses (CALs) so this does not present a limitation for deployments.
- WSS and WUDSS are usually sold headless (without monitors, keyboards, etc) and are dedicated storage appliances.
- Technical and licence restrictions exist that prevent users from using Storage Servers as a general server and it cannot run server applications like SQL or Exchange.
Key Features of Windows Storage Servers
- SMB(CIFS) and NFS file protocols
SMB is probably the most ubiquitous and widely used feature of Windows in a networked environment. Every time you use a UNC path, like \\Server\share, you are using SMB to communicate over the network. Most people take SMB for granted. When comparing SMB to other CIFS implementations, people really like the performance and features we have added to the original CIFS protocol, see this interesting white-paper on when CIFS performance matters. NFS support in Windows continues to get better, see the NFS performance data on a few OEM systems. On a single node system they were able to achieve around 38,000 SpecSFS, which is a pretty good number.
- File-server performance optimizations
There are some settings in Windows Server 2003 that speed up network traffic and NAS operations, like removing file-system aliases, turning off 8.3 name creation, and setting the TCP ACK frequency to better utilize the network frame size and speed. See the performance tuning white-paper for more information. OEMs can also improve their performance by setting the interrupt affinity of NIC cards and making sure that proper disk alignment is considered when setting up the RAID array. See below for more information about both of these topics.
- iSCSI Target
The iSCSI Target enables application servers, like SQL or Exchange, to get access to raw storage blocks running on a remote system. iSCSI makes it possible for businesses to take advantage of existing network infrastructure to enable block-based Storage Area Networks (SAN) without having to invest in additional hardware. As far as the application servers are concerned, the storage looks like it is directly attached to the server. The iSCSI initiator runs on the application servers to make the connection.
The iSCSI Target, which only runs on Windows storage servers, supports 16TB LUNs, dual-active clustering, VSS and VDS, it can do MPIO (Multi-pathing the network connections for fail over), it can integrate with iSNS servers, supports IPv6 and CHAP security. Jose Barreto's blog has an awesome post on how to configure the iSCSI Target.
The Microsoft iSCSI initiator is standard in Windows Vista and Windows Server 2008, and it can be downloaded for free for Windows XP or Windows 2000 Server and Windows Server 2003. The latest version is 2.7.
- Single Instance Storage (SIS)
SIS scans storage volumes for duplicate files, and moves the duplicate files to the common SIS store. The file on the volume is replaced with a link to the file, which has its own set of ACLs. This reduces the amount of storage space required, by as much as 40-70% depending on the amount of file-level duplication. Checkout Jose Barreto's blog on SIS for a nicely detailed overview and the Microsoft IT Showcase: SIS to see how Microsoft uses SIS to reduce storage.
- Index-based search
Windows Storage Server 2003 R2 provides an index-based, full-text search that is built on the indexing engine in Windows server. The updated search engine speeds up indexed searches on network shares by allowing partial matches to come back immediately. The Microsoft filter team provides filters in the box for searching many standard file formats, such as .zip, AutoCAD, XML, MP3, and .PDF, and the Microsoft Office file formats. The team just announced a new filter pack that is a free download a few months ago that enables searches of Microsoft Office 2007 documents. You will also need to install the Microsoft Core XML Services (MSXML) 6.0 package to use these.
- SharePoint Services
Windows Storage Server 2003 R2 includes built-in support for Windows SharePoint Services and can be used to quickly setup a document repository or it can be upgraded to Microsoft Office SharePoint Portal Server to get support for collaboration, enterprise search and other advanced features.
- Distributed File System Namespace (DFS-N)
DFS allows multiple network shares to be aggregated as a virtual file system, so that all users in the company can remember a simple namespace, like \\contoso.local\accounting even though the files under these directories may be spread over hundreds of servers. An MMC snap-in can be used to centrally manage storage volumes, including DFS shares, on servers running Windows Storage Server 2003 R2.
- Distributed File System Replication (DFS-R)
The DFS-R service is a multi-master replication engine that is used to keep folders synchronized on multiple servers. Especially useful in a branch-office scenarios where replicating data to multiple servers increases data availability and gives users in the remote sites fast, reliable access to files. DFSR uses a compression algorithm called Remote Differential Compression (RDC). RDC is a "diff over the wire" protocol that can be used to efficiently update files over a limited-bandwidth network. RDC detects insertions, removals, and rearrangements of data in files, enabling DFSR to replicate only the changes when files are updated. If somebody changes the title of a 40MB Powerpoint file, it only has to sync a few kilobytes rather than the entire file. Checkout this DFSR FAQ on technet for some great information.
- File Server Resource Manager (FSRM)
FSRM delivers functionality to setup directory-based quotas and file screens. Windows storage servers come with five pre-made templates for quotas and file screens which have a good sample of typical quotas and screens and an IT administrator might deploy. OEMs or end-users can quickly add new templates to the system too.
- Storage Server Out of the Box Experience (OOBE)
There is a specialized application (storageoobe.exe) that runs the first time a user signs-in to the machine. This is used to configure the machine name, join a domain, set the time, setup clustering, etc. This application can be customized by an OEM by simply using an XML file to put in graphics or content to give the appliance UI a nice tie-in to the hardware.
- Volume Shadow Copy Service (VSS)
VSS is a set of COM interfaces that implements a framework to allow up to 512 point-in-time volume backups to be performed while applications on a system continue to write to the volumes. VSS has the built-in capability to provide extremely fast recovery of lost data—recovery times can be dramatically reduced to minutes rather than the hours or days it can take to recover from tape. Shadow copies, also known as point-in-time images or data "snapshots," can be made as frequently as an administrator deems necessary. See the MSDN topic about VSS to see how it works.
- Virtual Disk Service (VDS)
VDS is a service to abstract all of the types or RAID adapters into a common API so that our management tools can work. A vendor-specific VDS 1.1 hardware provider is required to allow the UI, scripts and tools that leverage VDS APIs. VDS aims to unify volume and disk management and hardware RAID management under a single API. See the MSDN topic about VDS to see how it works.
- Remote Administration Options
A) Terminal Shell
A terminal emulation program such as HyperTerminal can be used with a serial cable, this is especially useful to set the IP address in non-DHCP environments. Command-line support is provided through the Special Administration Console (SAC), which is the primary Emergency Management Services command-line environment hosted by Windows Server 2003. You can add it to a given OS install by adding to bootcfg:
bootcfg /ems on /port ComPort /baud BaudRate /id OSEntryLineNum
Example: bootcfg /ems on /port com1 /baud 115200 /id 2
B) Remote Desktop
The Windows Terminal Services client works great when pointing to the storage server and it uses the well-known Remote Desktop Protocol (RDP), or if you point a browser to: http://servername/admin, the server detects Windows and Internet Explorer and it will provide an ActiveX control, otherwise it will offer a special Java-based RDP applet that is only available in Windows storage server. This will give you the full windows desktop from any machine, including a Linux or Unix machine running the java runtime and a supported browser.
- Multi-Language User Interface (MUI) Support
Windows Storage Servers support the following single byte languages: German, French, Spanish, Italian and these double-byte languages: Japanese, Korean, Chinese (simplified) and Chinese (traditional)
Important OEM customizations
- Disk Alignment
By applying the disk alignment command in diskpart.exe, you can avoid performance loss due to disk misalignment on disks with large track sizes and alignment optimizations.
"The master boot record (MBR) limits the maximum number of hidden sectors to 63. This characteristic of the MBR causes the default starting sector for disks that report more than 63 sectors per track to be the 64th sector. As a result, when programs transfer data to or from disks that have more than 63 sectors per track, misalignment can occur at the track level, with allocations beginning at a sector other than the starting sector. This misalignment can defeat system optimizations of I/O operations designed to avoid crossing track boundaries. Additional disk-design factors make proper alignment even more difficult to achieve. For example, track information reported by disks is not always accurate. In addition, many disks have different numbers of sectors on different tracks (as might be the case with the outer bands versus the inner bands)." *Excerpt taken from this article on technet, it is the most succinct description of the problem I have seen.
Diskpart.exe, a program in Windows Server 2003 can be used to obtain and set partition information.
Solution Example: diskpart> create partition primary align=64 (This example will make the partition start at sector 128)
- Interrupt Affinity for Multi-processor / Multi-NIC systems.
Interrupt affinity refers to the binding of interrupts from a specific device to specific processors in a multiprocessor server. Binding the network adapter to a processor or set of processors allows the system to process incoming packets (SMB requests, data, etc) and improve the system’s responsiveness and scalability. The Interrupt-Affinity Filter (IntFiltr) tool can change the CPU-affinity of the interrupts in a system. Directing a device's interrupts to a specific processor or set of processors instead of always sending interrupts to any of the CPUs in the system.
I hope this gives you an understanding of the Windows storage server product line and the cool features. Coming next is a post about the history of releases and the features in each.
Windows Storage Server