- Windows File Systems
- Windows ReFS
- Windows NTFS
- Windows DFS
- Windows CIFS
- Virtual Disk Services
- Volume Shadowcopy Services
- Removable Storage System
- Windows Volume Mgmt.
- Windows System state
Storage Spaces is the new version of Windows VDS and runs on Windows Server 2012 or Windows 8. It is effectively just software RAID. If you use hardware RAID controllers then you do not need Storage Spaces as Storage Spaces just performs the tasks that a good hardware controller does.
Storage Spaces is just a way of virtualising physical disks to make them more manageable. The main concepts is Storage pools, physical disks grouped together into a pool of storage. The disks can be SATA, SAS or SSDs, in either JBOD or RAID enclosures. However if RAID is used then all the RAID functionality must disabled. Disk types can be mixed in the same pool and then Storage tiers can be used to place data on the correct type of disk required for its current access pattern. In other words, high usage data will be kept on SSD and low usage in SATA. Storage Spaces will transparently move data between the tiers at a sub-file level as the data access frequency changes. Pools can be expanded dynamically by simply adding additional drives.
Data Resilience is managed by providing three types of storage layouts:
Storage Spaces includes the concept of hot spares, so if a physical disk fails in a Parity or Mirror configuration it can be automatically rebuild using either a dedicated hot spare disk or by using spare capacity on other drives in the pool.
Storage Spaces is fully integrated with Windows Clustering. Storage pools can be clustered across several nodes in a cluster and if the node fails that is running an instance of Storage spaces, the storage will fail over transparently to a different node. Failover can also happen if required for load balancing.
A curiosity is that Storage spaces can be configured on USB drives. USB 3 drives are recommended to get adequate performance.
Virtual Disk Service (VDS) was introduced in Windows Server 2003. It is intended to simplify disk management on NAS, SAN and direct storage, by providing a scriptable command line interface (CLI) for disk management operations. Disks can be defined as JBOD or RAID. Four CLIs are provided
DISKPART is a command line utility used to manage partitions on both basic and dynamic disks. You also use DISKPART to configure software RAID devices. You can set up a script that will dynamically extend a volume if the used space reaches an alert threshold.
You use the command line utility ISKRAID to configure virtual disks (logical disks that span two or more physical disks) on hardware RAID devices.
DSKMGMT is GUI based and is used to remotely manage disks and volumes on other computers running Windows 2000, Windows XP or Windows Server 2003.
You use the command line utility MOUNTVOL to create, delete or list volume mount points. You can use MOUNTVOL to link volumes without using drive letters.
An especially useful VDS feature is its ability to configure and control disks from several vendors. Most of us populate our SANs with disks from more than one vendor, and each vendor's disks have a different management interface. VDS gives you a single interface to all the disks on your SAN, including NAS systems. The VDS has a command line interface which supports scripts, and that makes the interface even easier, as you can write scripts to perform repetitive work, and VDS then sends the correct commands to the physical disks. For this to work, each hardware provider must translate the VDS standard APIs into instructions specific to their own storage device
You can use VDS to create partitions on physical or basic disks, to create the volumes that are then mapped to drive letters. These volumes are known as 'simple volumes' and do not span multiple disks. Basic disks are a legacy from pre-Windows 2000 days.
You can also use VDS to create dynamic disks that can consist of either simple volumes or multi-partition volumes that physically span more than a single disk but are logically considered a single volume. You can define dynamic disks as follows, depending on your requirements
See the RAID section for details. You can use VDS to increase the size of dynamic disks when they are starting to fill up.
You can use VDS to configure, or change the configuration of NAS devices. If you have a NAS 'head' plugged into your SAN, then the storage behind it may be from multiple vendors. You may want to reconfigure that storage as appropriate to your needs. Each storage device will have a different management interface, but if you have VDS, then you can use a common interface for all the different storage boxes.
Multi-path Input/Output (MPIO) was introduced in Windows Server 2003
MPIO can provide up to 32 paths to storage, for redundancy on failure, or load balancing to improve performance. MPIO used to be vendor specific and used Windows APIs. That meant that each vendor used their own command set for MPIO. It is now supplied by Microsoft and is HBA agnostic.
This Microsoft Management Console snap-in facility is used to centrally manage SAN storage devices. This MMC facility will only work on storage devise that support VDS. You would use it to configure and assign LUNs without having to log into each storage subsystem individually.