NSS is a 64-bit file system that can manage a virtually unlimited number of file objects. On each physical storage device, NSS abstracts physical partitions to make them appear as contiguous free space. With NSS you can create any number of virtual storage resources, called pools. Beginning with OES 2015, NSS supports two types of pools: NSS32 and NSS64. NSS32 pools use 32-bit block addressing and supports pool size upto 8 TB. On the other hand, NSS64 pools use 64-bit block addressing and supports pool size upto 8 EB (exabyte). All pools prior to OES 2015 use 32-bit block addressing and they are of type NSS32. A pool can contain any number of volumes. If the pool spans devices by using space from them for the pool, the volumes automatically span the devices. A single NSS32-bit volume can contain up to 8 trillion files and grow upto 8 TB in size; NSS64-bit volume can grow up to 8 EB in size. The volume sizes depend on the size of the pool and space consumed by other volumes in the pool.
You can use NSS pools and volumes to store applications, files, and databases. You create storage pools by assigning areas of free space obtained from one or more of a server’s storage devices. You can create one or more NSS volumes from the space in the storage pool. The following figure shows how NSS uses free space on multiple devices to create a storage pool.
Figure 1-1 NSS Pool Architecture
The logical volumes you create on NSS storage pools are called NSS volumes. You can specify a maximum storage quota for the volume, or allow the volume to grow dynamically to the size of its pool. You can add any number of volumes to a storage pool.
Because there is no limit to the number of volumes you can create, it is possible that the combined administrative size of all the volumes taken together is larger than the physical size of the storage pool itself. NSS refers to this process as “overbooking.” If you overbook space in the pool, the individual administrative size of a volume cannot exceed the size of the storage pool.
NSS allocates space from the pools to the volumes only as needed. Typically, user consumption of a volume’s available space ebbs and flows; it is unlikely that users concurrently consume volumes at 100% of their available capacity. Each volume consumes the space it needs as it needs it. By overbooking space, NSS provides a flexible and cost effective way to accommodate expanding storage needs.
For example, suppose you have a 300 GB storage pool. From this storage pool, you create two NSS volumes of 200 GB. You can define two 200 GB NSS volumes out of a storage pool of only 300 GB, if you feel comfortable that the NSS volumes will not both exceed 75 percent capacity (150 GB) and therefore, exceed the overall size of the storage pool. If one NSS volume does reach 150 GB, but the other volume stays under 100 GB, your overbooking plan worked.
Suppose you expect one of the volumes might exceed its share of the pool. You can overbook the pool by creating one NSS volume with a quota of 200 GB and a second NSS volume that can grow to the size of the pool. As the combined size nears the size of the pool, you can extend the size of the pool by adding another segment to it, allowing more space for the larger, expanding volume. Your overbooking plan works because you built in the opportunity to expand the pool and volume, according to your business needs.