NSS Pool space consumed but unavailable to the pool.

  • 7009712
  • 09-Nov-2011
  • 27-Apr-2012

Environment

Novell Open Enterprise Server 2 (OES 2) Linux
Novell Open Enterprise Server 11 (OES 11) Linux

Situation

Upon the creation of a new NSS pool, and specifying the desired NSS pool size, the new NSS pool will be created as initiated, but directly after pool creation, the NSSMU Pool information screen reveals that a fragment of the newly created NSS pool already displays as 'Used Space' and is further unavailable to store data. It is also not very clear as to what this "Used Space" belongs to.

The larger the capacity of the new NSS pool that is being created, the more space is seemingly identified as 'Used Space'.

What is this  'Used and Unavailable Space' reserved for ?

Resolution

The explanation for this missing space is relatively simple.

The original system requirement is that a rebuild on a pool must be able to take place, even when no other volumes are available for the system to store the information on that is required for the rebuild (information needed to rebuild the Beast tree).

As a rebuild is also specific to the pool it is performed against, the design is to store the rebuild data with the pool. Therefor the space that is reserved when the pool is created/expanded is used for the rebuild. When a  volume is created, no additional reserved space is needed for the rebuild.

The total amount of space that is automatically reserved for the rebuild is approximately 0.3% from the total specified pool size.

Additional Information

Examples given below are for a 2 GB, 20 GB, 200 GB & 2 TB pool.
The NSS pools are created here, but no volumes are associated to the pools here.

For a newly created 2 GB pool, named 2GB, using NSSMU (as 2.000 MB).
The '/_admin/Manage_NSS/Pool/2GB/PoolInfo.xml' file shows  :

    <poolTotalSize>2096103424 (1.95 GB)</poolTotalSize>
    <poolFreeSize>2051264512 (1.91 GB)</poolFreeSize>
    <poolAvailableSize>2051264512 (1.91 GB)</poolAvailableSize>
    <poolUsedSize>44838912 (42.76 MB)</poolUsedSize>
    <poolUnavailableSize>44838912 (42.76 MB)</poolUnavailableSize>

For a newly created 20 GB pool, named 20GB, using NSSMU (as 20.000 MB)
The '/_admin/Manage_NSS/Pool/20GB/PoolInfo.xml' file shows  :

    <poolTotalSize>20970471424 (19.53 GB)</poolTotalSize>
    <poolFreeSize>20900446208 (19.46 GB)</poolFreeSize>
    <poolAvailableSize>20900446208 (19.46 GB)</poolAvailableSize>
    <poolUsedSize>70025216 (66.78 MB)</poolUsedSize>
    <poolUnavailableSize>70025216 (66.78 MB)</poolUnavailableSize>

For a newly created 200 GB pool, named 200GB, using NSSMU (as 200.000
The '/_admin/Manage_NSS/Pool/200GB/PoolInfo.xml' file shows  :

    <poolTotalSize>209714151424 (195.31 GB)</poolTotalSize>
    <poolFreeSize>209090437120 (194.73 GB)</poolFreeSize>
    <poolAvailableSize>209090437120 (194.73 GB)</poolAvailableSize>
    <poolUsedSize>623714304 (594.82 MB)</poolUsedSize>
    <poolUnavailableSize>623714304 (594.82 MB)</poolUnavailableSize>

For a newly created 2 TB pool, named 2TB, using NSSMU (as 2.000.000 MB)
The '/_admin/Manage_NSS/Pool/2TB/PoolInfo.xml' file shows  :

    <poolTotalSize>2097150951424 (1.90 TB)</poolTotalSize>
    <poolFreeSize>2090940035072 (1.90 TB)</poolFreeSize>
    <poolAvailableSize>2090940035072 (1.90 TB)</poolAvailableSize>
    <poolUsedSize>6210916352 (5.78 GB)</poolUsedSize>
    <poolUnavailableSize>6210916352 (5.78 GB)</poolUnavailableSize>