If you would like to read the first part in this article series please go to Windows Server 2012 R2 – Storage Spaces (Part 1).
Storage Layout
I’ve called out this section specifically because it’s so important. The storage layout that you choose will have ramifications for your ability to suffer hardware failure as well as on the overall performance of your Windows-based storage. You have the options below when it comes to how your virtual disk is configured.
- Simple. This is akin to a RAID 0 volume in which data is striped across the physical disks in the storage pool. Although this technique can increase overall throughput since multiple disks are out to work, reliability is very poor. If any disk in the pool fails, all data on the volume is lost.
- Mirror. I’d say that this is kind of like RAID 1, but with Storage Spaces, you have the option to create both two-way mirrors and three-ways mirrors. A two-way mirror will allow you to suffer the loss of a single disk with no problems while a three-way mirror will allow you to lose two disks. Of course, there is quite a bit of capacity overhead required for this level of storage protection. In addition, you will suffer some write performance penalty due to the need to write data two or three times instead of just once.
- Parity. In this scenario, at least three disks are required and data and parity information are striped across the included physical disks. These kinds of volumes can withstand the loss of a single drive, but they can’t be used in failover clusters. There is some performance overhead imposed to generate and write the parity.
Behind the scenes, Storage Spaces will manage all of the underpinnings for the layout you choose.
On another note, Storage Spaces also includes the ability to create thin provisioned or fixed size volumes. Thin provisioned volumes carry some benefits but also introduce some challenges into the overall storage management and monitoring equation. Thin provisioning is a feature that allows an administrator to define the full size of a disk volume at the time of volume creation, but the only space that is actually hard allocated is that which is necessary to meet the current needs of the volume. As more data is added to the volume, the thin provisioning process locates and allocated new space in chunks, only topping out when the volume’s actually capacity hit the original volume size. The downside to thin provisioning is that it requires ongoing careful monitoring. Why? Because thin provisioning makes it possible to allocated more storage than is actually available in a storage space. Administrators need to proceed carefully to avoid running out of disk space.
A fixed volume, on the other hand, has all of its space allocated as soon as the volume is created. This reduces the need to as deeply monitor available storage space, although monitoring at some level should still be performed.
Figure 1: Choose your provisioning type:
You’re not limited to creating just a single virtual disk on your storage space; you can create as many as make sense for your needs. As such, your next step is to determine how large a disk you need. As you can see in Figure 2, I’m creating a 20 GB virtual disk.
Figure 2: Specify the size of your new disk
Just like you did when creating the storage pool, confirm your selections and then click the Create button to proceed.
Figure 3: Review the choices you’ve made
Again, you have the opportunity to make sure that all steps of the process complete successfully, as shown below in Figure 4.
Figure 4: Is everything going as planned?
Create a Volume
We’re still not quite at the point where there is usable storage. We have a virtual disk now, but we still need volumes on that virtual disk. Again, you can create multiple volumes on a single virtual disk.
In the previous step, I checked the box next to Create a volume when this wizard closes so that the volume creation wizard would just start automatically. As you can see in Figure 5, the new volume wizard is alive and well and the first question you’re asked is on which server and disk (physical or virtual) you want to create the new volume.
Figure 5: On which disk would you like to create the new volume?
In the previous section, I create a 20 GB virtual disk. In this question during volume creation, I’m asked to decide how much of that space I want to allocate to my new volume. I’m going to use the full space that I allocated to the virtual disk – 20 GB.
Figure 6: Specify the size of the new volume
Next up, you need to decide how you want this volume to present itself on the server. Do you want to give it a drive letter or would you prefer to mount the space as a folder hanging from an existing volume? Make your choice – my new volume will be Drive E – and click Next to continue.
Figure 7: Tell the wizard the drive letter or folder location for the new volume
The file system you choose is another critical choice in your volume creation journey. Your choices are NTFS – the venerable and robust file system that Microsoft has been using for years – or ReFS, which stands for Resilient File System.
ReFS was introduced in Windows Server 2012 and, while it shares some very basic code with NTFS, it’s an entirely new file system that has its own use cases. The two file systems aren’t compatible with one another and tools that you’ve used to manage your NTFS volumes can’t be used to manage your ReFS volumes.
ReFS supports only a subset of the features of NTFS, as you can see in the information presented in Table 1 below.
NTFS feature |
ReFS feature |
Supports Case-sensitive filenames |
Supports Case-sensitive filenames |
Preserves Case of filenames |
Preserves Case of filenames |
Supports Unicode in filenames |
Supports Unicode in filenames |
Preserves & Enforces ACL’s |
Preserves & Enforces ACL’s |
Supports file-based Compression |
Not supported |
Supports Disk Quotas |
Not supported |
Supports Sparse files |
Supports Sparse files |
Supports Reparse Points |
Supports Reparse Points |
Supports Object Identifiers |
Not supported |
Supports Encrypted File System |
Not supported |
Supports Named Streams |
Supports Named Streams |
Supports Transactions |
Not supported |
Supports Hard Links |
Not supported |
Supports Extended Attributes |
Not supported |
Supports Open By FileID |
Supports Open By FileID |
Supports USN Journal |
Supports USN Journal |
Table 1: Generated using FSUTIL fsinfo volumeinfo driveletter
It may look like ReFS eliminates a bunch of NTFS features, but it also brings to the table a lot to the table, including:
- Automatic repair mechanisms not found in NTFS. These mechanisms include metadata checksums, copy on write functionality, and much more.
- Improved scalability over NTFS to support larger workloads.
- Improved availability mechanisms, which includes isolating failed areas and working around them.
In the unlikely event that you have to support really old 16-bit workloads on your new system, you can have the file system generate short 8.3 format file names. Ahh… the memories.
Figure 8: Which file system would you like to use?
Finally, your selections are parroted back to you for your review. Click the Create button to create the volume.
Figure 9: Once again, confirm your selections
In this step, there are quite a few tasks that need to be completed, all of which can be monitored from the completion page shown in Figure 10.
Figure 10: Make sure that everything proceeds as planned
Summary
You’ve now seen just how easy it can be to leverage Microsoft’s new Storage Spaces feature and learned a bit about how this feature will work in the upcoming R2 release of Windows Server 2012.
If you would like to read the first part in this article series please go to Windows Server 2012 R2 – Storage Spaces (Part 1).