Sometimes people ask hypothetical questions of EMC’s field TC’s (technical consultants) just to see what we say.
Here’s one example of a hypothetical question that a few of us were discussing internally:
Question: What is the maximum size of a LUN you can present to a Windows server?
It’s all about the underlying addressing space of the disk and the filesystem you choose to create the volume that gets presented to the Windows server.
Address Spaces and Phone Numbers
I remember a time I could dial a five digit local phone number as in 5-1212 to reach local people. As the town grew, it extended to seven digits… 555-1212. Eventually this turned into a 10 digit string such as (123) 555-1212. We began using a larger addressing space.
Address Spaces and IP Addresses
A better analogy is IPv6 which, although still in its infancy, is being put into place to provide a significantly larger “address space” for IP addresses. IPv4 (the current standard) allows 232 addresses. The new address space thus supports 2128 (about 3.4×1038) addresses and could eliminate the need for clunky workarounds like NAT. A typical IPv6 address looks like
2001:db8:cafe::1, compared to an IPv4 address
192.168.148.1. You can read more about IPv6 in its Wikipedia entry or in the free book, The Second Internet. You can use IPv6 tunnels if your ISP does not offer IPv6 connectivity yet. Using http://test-ipv6.com/, you can verify IPv6 connectivity.
Back to the Disks
Master Boot Record (MBR) Disks have 32 bit address spaces. Both the partition length and partition start address are stored as 32-bit quantities. When the block size is 512 bytes (one sector in most cases), this implies that neither the maximum size of a partition nor the maximum start address (both in bytes) can exceed 232 × 512 bytes, or 2 TB.
Alleviating this capacity limitation is one of the prime motivations for the development of the GUID Partition Table (GPT).
GUID Partition Table (GPT) Disks are 64 bit or 264 × 512 bytes giving you much more room to grow. From a Windows persective, Windows Server 2003 SP1 introduced GPT support and has been carried forward since.
Windows Filesystems Maximums
- FAT volumes have a maximum size of 4GB and a file size limit of 2GB.
- FAT32 file systems have a maximum volume size of 32GB with a file size limit of 4GB.
- NTFS volumes can be up to 2TB on an MBR disk and 16 Exabytes (EB) on GPT disks.
- The maximum size NTFS volume that has been tested by Microsoft is 16 TB.
- The maximum size of a VHD is 2040 GB (8 GB short of 2 TB).
- The maximum size of a VHDX (Windows 8) is 16 TB.
- Microsoft iSCSI Software Target maximum VHD size is 16 TB.
In reality, there are other considerations when creating huge volumes:
SCSI limitations. Microsoft Windows operating systems support two different SCSI standards when it comes to reads and writes (Read10/Write10 and Read16/Write16) , and each of this SCSI standards also have different lookup tables if you will. Read10/Write10 has room for 4 bytes of info (Max 2TB) and Read10/Write10 has room for 8 bytes of info with a max of about 8 zettabytes.
Chkdsk times. If you have a bad crash on a huge volume, and have to scan each file for errors, then you are talking about a very long wait before you are back up and running (assuming you have a huge number of files).
Backup and Restore. How do you do this effectively for such huge volumes? Not a streaming back I hope. Hopefully you’d never have to restore this from tape…
So, while this is not an official EMC blog, unofficially I’d recommend no bigger than a 2 TB LUN presented to a Windows server. Anything more and you should make sure you are checking with your storage vendor to make sure it’s going to work the way you’d want without causing any problems for you down the road…