How available space is calculated in AdvancedDisk disk pools

Article:TECH77600  |  Created: 2009-01-04  |  Updated: 2014-05-07  |  Article URL
Article Type
Technical Solution




How available space is calculated in AdvancedDisk disk pools


The Intelligent Capacity Management feature, introduced with Storage Lifecycle Policies (SLPs) and AdvancedDisk in NetBackup 6.5, optimizes the process of 'staging' backups to disk before duplicating them to tape under SLP control.  It does this by checking not only the actual free space in a disk pool but also the potential free space if images stored under capacity managed retention are removed and the amount of space that may be required by other backups running at the time a particular backup starts.  This mechanism ensures a high success rate of backups to disk by reducing the risk that a disk within the pool will run out of space while the backup is in progress.  
This document describes the variables used to calculate the amount of available space in a NetBackup AdvancedDisk disk pool and how that figure is calculated and updated.  
The variables and their associated values in bytes are displayed by the nbdevquery -listdv -D  command as follows:
total_capacity      : xxxxxxx
total_phys_capacity : xxxxxxx
free_space          : xxxxxxx
free_phys_space     : xxxxxxx
potential_free_space: xxxxxxx
committed_space     : xxxxxxx
precommitted_space  : xxxxxxx
Five of these variables (total_capacity, free_space, potential_freespace, committed_space and precommitted_space) are used to calculate available space in AdvancedDisk disk pools.  Two other variables (total_phys_capacity and free_phys_space) are currently unused by NetBackup and are reserved for future feature development.  
Total_capacity is the total size of the disk and free_space is the amount of free space on the disk.  These values are derived from the file system and are updated at one minute intervals.  For the purposes of AdvancedDisk,  total_capacity and total_phys_capacity should have the same values and free_space and free_phys_space should have the same values.
Potential_free_space is  the sum of the sizes of all fragments on the disk that are in EligibleForExpiration (EFE) state.  This information is obtained from the SLP information held in the EMM database and only applies when capacity managed retention is used.  
A fragment enters EFE state when the copy it belongs to uses the Capacity Managed retention type and has been successfully duplicated by the SLP duplication manager.  It leaves EFE state when the copy it belongs to has expired, at which point the fragment moves to ToBeDeleted state.  
There are two points in NetBackup processing when the potential_free_space value will be computed.  Successful duplications will add EFE fragments so the SLP duplication manager will compute the value for each disk at the end of each duplication session.   Successful expirations will remove EFE fragments so the SLP expiration manager will compute the value for each disk at the end of each expiration session.
The algorithm to compute the value simply accumulates the sum of the sizes of all the EFE fragments on the disk.  The potential_free_space value for the disk can become stale and may be incorrect by small amounts between computations due to manual expirations, etc. but it is self-correcting.  The next time the computation is done, the correct value will be reestablished.
Committed_space is the amount of data NetBackup has estimated as being written to the disk and is the sum of all estimated 'in progress' backup sizes based on either 'last backup + 20%' for full and incremental backups or 'total_capacity - high water mark' for user backups.
Precommitted_space is a helper value for committed_space and is decremented as a backup job proceeds.   Each time the capacity and free space information is updated the value of committed_space is also updated to the current value of precommitted_space.  This ensures that all capacity related values are updated at the same time to give the most accurate description of the state of the disk.  
NetBackup uses free_space, potential_free_space and committed_space to determine how much space is available on a disk according to the formula:
available space = free_space + potential_free_space - committed_space
When a backup starts NetBackup first compares the estimated size of the job against the available space on all disks within the disk pool (including any disks that are marked down) to determine if there is sufficient space for the backup.  It then selects the disk within the pool with the most available space and starts writing the backup to that disk until the disk reaches its high water mark or the backup completes.  
When a disk reaches its high water mark potential_free_space is released by expiring images in accordance with the capacity managed retention rules.   Once those images are expired and removed from the disk  potential_free_space for that disk is recalculated.  If high water mark is reached and there are no images eligible for expiration on the disk, the backup will continue.  Should the disk run out of space before the backup completes, it will then span to another disk within the disk pool.  The choice of disk to span to is again based on the most available space.
Note:  The information in this article also applies to MSDP.


Legacy ID


Article URL

Terms of use for this information are found in Legal Notices