Windows Server Storage Management
Setting up Storage on your new Windows Server 2012
So I have to say that I read a number of articles on storage in Windows 8 and in Windows Server 2012 just so I understood the basics of pools and spaces, but to say I was still confused at the end of it is an understatement. This could of course be for multiple reasons, including the fact that I don’t do this for a living and these aren’t simple concepts. As I was going through thinking about storage I wished Microsoft had provided a practical picture what storage looked like.
So here’s my attempt at this.
At the lowest level are your physical hard drives in your server, the good news in Windows Server is that you can have lots of different size disks here. Now I personally would choose drives of the same speed (both access speeds and interface speed) because my *guess* (really it’s an educated guess) is that if you have mixed performance of drives you’re going to get closer to the slowest drive’s performance and won’t benefit from spending that extra cash. (If you know better, I’d love to hear from you)
Next up are Storage Pools – think of this as an aggregation of physical drives that you want to group together. For example I had a set of 4 drives that were going to be my main file server storage, then I had some older drives which were going to get used by VMs that I was just going to play around with. Don’t worry, storage pool decisions aren’t permanent, you can add and remove drives from pools (assuming when you remove a drive you’ve got enough space for your provisioned volumes).
Ok, the next step is for you to create a virtual disk from within your storage pool. How should you think of a virtual disk at this level? Well the way I think of it is just like a physical disk except I can define some nifty attributes to this new virtual disk. These include thin provisioning and resiliency. Thin provisioning means you can setup a massive disk without actually having all that physical storage. I did this for my main file server disk. You can pick any number you want pretty much, I setup a virtual disk that was 50TB! On the resiliency options you have a few choices.
- Parity – This is an option that requires at least 3 disks
- Mirroring – This option requires that you have at least 2 disks
- None – You just need your 1 disk for this J
Now that you have virtual disks setup you need to remember that you need to now initialize your virtual disk just as you do a physical disk. This means you need to make the choices you do with any physical disk drive. You have to create a partition, choose a drive letter etc.
Since I was planning on using Hyper-V I had some additional thinking to do. When you create VMs in Hyper-V 3 you have the option of using the new VHDX virtual disk format that allows for thin provisioning again. This is one area that caught me off guard as I hadn’t thought through it. So here’s the deal if you create a fixed size VHDX virtual disk on Hyper-V then it’s going to use all that space. i.e. a 500GB drive will allocate 500GB on the filesystem. I wasn’t thrilled about the prospect of just taking up 500GB for each VM that I created so what I did was split my storage into 2 volumes. Volume 1 was not thin provisioned at the host level, but then when I created VMs I thin provisioned each VHDX file. Volume 2 was where I was going to store all my data for my server essentials deployment. So I thin provisioned that at the host level and then allowed the newly created VM to access that storage directly. This means that I only took the thin provisioning hit in one place (either the VHDX or the host) and since data access speed was important I didn’t want thin provisioning going through the hypervisor so having direct access to that drive gave me the confidence to put my media files on that volume.
I’m sure you’ll have different needs so my advice, before you setup any storage think through your usage scenario and map it out on paper. Then you can start creating the logical entities on your physical storage.
Finally, props to Terry Lau for creating a really nice post on how to create your storage spaces, virtual disks in powershell. When I couldn’t get Server Manager to work initially this was a god send. Setting up Windows remote server management is a little tricky, you can check out my post on that if you wan the details.
Hope this helps all of you thinking about storage for your Windows Server deployment.