- 1 Overview
- 2 Retention behavior and different EOL parameters
- 3 Automated EOL adjustment
- 3.1 Managing EOL-related backup chain dependencies
- 3.2 Allow extending retention period of another media pool for migrated savesets
- 3.3 Last successful backup or migration is automatically retained
- 4 Manual EOL adjustment
- 5 Checking backup chain dependencies
- 6 See also
When configuring SEP sesam environment, you set up media pools and define the retention time. Media pool retention time is specified in days and defines how long the backed up data on media remains protected after the data is written to the medium. The retention time period starts with the date a saveset is written to the medium and lasts for the period defined by media pool's EOL. When the protection expires, SEP sesam can re-use the media for backups again. This is the basic principle and the simplest scenario.
However, to ensure restorability of the complete backup chain and to protect from data loss, SEP sesam provides dependency-based retention strategy performed by automated EOL adjustment.
What is dependency-based retention
For example, INCR backups require all previous savesets (FULL, DIFF and INCR) to be available for a successful restore. If the retention time is viewed only from the perspective of an individual backup, it can ensure restorability of data for this particular backup only. But to enable the complete restoration of data that was backed up in the backup chain, all dependent backup savesets must be tracked and their retention time must be managed according to their dependencies.
For example, INCR backup that was taken after the third INCR after the FULL, requires the FULL, the first, the second, and the third INCR to provide complete restore capability. If some saveset in the backup chain is missing, you will not be able to recover your data to a specific point in time. For this reason, SEP sesam maintains control over dependencies among the individual backup savesets and provides dependency-based automated retention.
SEP sesam also allows you to manually adjust EOL for individual saveset (saveset EOL) that is stored on data store and for all backup-related savesets (backup EOL). For tape media, extending the backup EOL might result in extending the media EOL of a tape. For the same reason as with the dependency-based automated retention, SEP sesam will automatically adjust EOL of backup chain savesets if required. For details, see Manual EOL adjustment.
Retention behavior and different EOL parameters
Typically, you specify a media pool retention time when creating a media pool. This retention time serves as a basis to determine EOL for backed up data. The EOL property can be managed for four object types:
Media pool EOL
Media pool EOL specifies the retention time (in days) for savesets written to the respective pool. The saveset EOL is calculated when the data is written to the medium: it starts with the date a saveset is created and lasts for the period defined by media pool's retention time. For example, a media pool retention time is 30 days, and the data is backed up to the medium on the 1st of January, therefore the saveset EOL is 31st of January.
This is the expiry date for each saveset. If a saveset is a part of a backup chain, its EOL follows the rules of dependency-based retention; EOL of a previous saveset in the chain must be the same or longer to enable the complete restoration of data.
For example, you specify a media pool retention parameter to 30 days and run a FULL backup. This FULL saveset will initially be kept for 30 days, for example, to the 31st of January. If any following INCR or DIFF saveset in the chain has longer EOL, for example, its expiry date is the 3rd of February, the EOL of all preceding savesets, including the FULL, will be adjusted to the longer expiry date. For details on dependency-based automated retention, see automated EOL adjustment. For details on manually adjusting EOL, see manual EOL adjustment.
This is the expiry date for all data that belongs to the same backup. Backup EOL is determined based on the longest EOL of all savesets that belong to the same backup, including migrated and replicated savesets. For example, adjusting backup EOL of a particular saveset from the 3rd of February to the to 3rd of March results in changed EOL for all related backup data, i.e., original backup, migrated backup, replicated backup, as well as for all backups in a backup chain, if a saveset with adjusted backup EOL is a part of it. For details on dependency-based automated retention, see automated EOL adjustment. For details on manually adjusting EOL, see manual EOL adjustment.
|In case of a failed backup, SEP sesam will delete the backup automatically after 3 days. If you want to keep any failed backup for a longer time, you may manually extend the backup EOL of a particular saveset. For details, see section Manually extending EOL.|
Tape media EOL
When a saveset is stored on tape, every stored saveset has its own saveset EOL, but this does not represent the actual expiration date of the tape. Its expiration date corresponds to the maximum retention time (the longest EOL) identified on tape. Only when all of the savesets on tape have their retention time expired and the tape is not locked (write-protected), the entire tape is eligible for re-use. For details on how manually extending EOL affects EOL of the tape media, see Manually extending EOL.
Note that EOL refers only to backups. SEP sesam logs, readability check logs, calendar sheet entries and restore tasks have separate retention parameters. For details, see retention periods.
What happens when EOL is reached
Once a saveset's end of life is reached, its protection expires. The storage space of an expired saveset is not immediately used; SEP sesam uses the GET_OLDEST policy to preserve the data on the media for the longest possible time. The expired saveset can be re-used when the following conditions are met:
- Typically, there must be no other savesets that depend on this saveset. For details, see How SEP sesam deals with EOL-related backup chain dependencies. You can override this condition by explicitly allowing the EOL for the whole backup chain to be set to expire, thus deleting backup data on all related savesets.
- If a saveset is stored on tape, the EOL of all stored savesets must be expired.
- Media must not be write-protected (locked).
- SEP sesam Server automatically assigns the medium with the oldest EOL for re-use. The oldest medium is a medium with the oldest locked until (is backup day+ EOL) date in the media pool.
|If the saveset resides on tape media, the tape will not be re-used until all the savesets on it are expired. Tape media EOL always corresponds to the maximum retention time (the longest EOL) identified on tape. More precisely, tape media EOL is max EOL of all savesets stored on the tape or max EOL of DIFF/INCR savesets referring to FULL/DIFF/INCR saveset that is stored on other media or even data store. Only when the retention time of all savesets on tape has expired and the tape is no longer locked (write-protected), the entire tape is eligible for re-use.|
Automated EOL adjustment
In some cases, SEP sesam automatically adjusts EOL to retain the consistency of backed up data and ensures successful restore. As of v. 4.4.3 Grolar, every time EOL is modified, corresponding information is shown in main log.
When a new INCR or DIFF backup is run or an INCR or DIFF backup is migrated, SEP sesam automatically adjusts EOL of all related savesets in order to retain the backup data and keep the backup chain readily available for restore. In some special cases, SEP sesam also automatically increases the EOL of the whole FDI backup chain, thus preventing the backup chains from being orphaned. See below sections for details.
Increased EOL of a DIFF or INCR saveset
If the EOL parameter of a DIFF or INCR saveset is increased, SEP sesam will increase EOL of all dependent backups (FULL and other DIFF and INCR). This way SEP sesam ensures that EOL for the FULL backup and other related DIFF and INCR is not shorter than the potentially modified DIFF or INCR saveset's EOL.
Decreased EOL of a DIFF or INCR saveset
If EOL of a DIFF or INCR saveset is decreased to a point in time in the past, SEP sesam will issue a warning message, prompting you to confirm your decision to set the whole backup chain to already passed time. Setting the expired EOL for DIFF or INCR savesets results in purging and overwriting the complete backup chain!
|A patch is available for SEP sesam version 22.214.171.124 to improve handling of manually decreased EOL (for details, see 4.4.3 Tigon v.2 known issues). With this patch, when selecting multiple savesets in the data store properties – tab Savesets – the pop-up opens and displays the number of affected savesets. If all savesets are selected, the message All savesets selected! is shown. You should check that the displayed saveset count corresponds to your selection. If the count does not match, discard the selection by using the No button and re-select the savesets.|
Too short EOL of DIFF/INC savesets
If DIFF/INCR backup detects that a saveset belonging to a FDI chain has too short EOL then any consecutive DIFF/INCR backup that is running on a pool with longer EOL will increase the EOL of the saveset from the respective pool.
|If EOL of a saveset belonging to a FDI chain is already expired, it will not be extended. In such a case the DIFF/INCR will be executed as a FULL backup.|
- The backup chain has the following retention specified: FULL on pool MONTH (EOL:32), DIFF on pool WEEK (EOL:15) and INCR on pool DAY (EOL:7). EOL of such FDI chain is sufficient, therefore EOL is not modified.
Allow extending retention period of another media pool for migrated savesets
Typically, a chain of backup savesets is migrated to one target media pool. You may want to migrate savesets of one backup chain (FULL/DIFF/INCR) to different media pools. Until release 4.4.3 Grolar, it was only possible for migration to increase EOL of the referenced savesets on the target media pool but not on other media pools (as opposed to backups, which are allowed to increase EOL on any media pool).
With Grolar, you can enable extended retention period for migration by using a specific GLBV:
As of SEP sesam v. 4.4.3 Beefalo, you can enable migration to increase EOL of the referenced savesets on other media pools (not only on the target media pool) by adding the following key to global settings in GUI:
- In the menu bar, click Configuration -> Defaults -> Settings.
- Click [+] to add the following key to global settings: eol_adjust_migration_on_other_pool|1|sesam, where value=1 means that the key is active and sesam is the user name.
Last successful backup or migration is automatically retained
SEP sesam may automatically retain the last successful backup or migration saveset when the next backup/migration fails. If this behavior is enabled, SEP sesam extends the EOL of the previous successful backup/migration, thus ensuring that at least one successful backup is retained.
|Whether the last successful backup or migration is retained, depends on SEP sesam version:
This behavior can be changed by using parameters eol_adjust_failed_backup and eol_adjust_failed_migration and setting the value to 1 (savesets are retained) or 0 (not retained) (see below commands).
As of SEP sesam Tigon V2, the following commands can be used to set the desired behavior:
- To activate automatic retention of the last successful backup or migration saveset (set by default in 126.96.36.199 Tigon V2)
- Insert the following entries if they do not yet exist in the table defaults:
sql "INSERT INTO defaults (key,user_name,value) VALUES ('eol_adjust_failed_backup','sesam','1')" sql "INSERT INTO defaults (key,user_name,value) VALUES ('eol_adjust_failed_migration','sesam','1')"
- or update:
sql "UPDATE defaults SET value='1' WHERE key='eol_adjust_failed_backup' AND user_name='sesam'" sql "UPDATE defaults SET value='1' WHERE key='eol_adjust_failed_migration' AND user_name='sesam'"
- Insert the following entries if they do not yet exist in the table defaults:
sql "INSERT INTO defaults (key,user_name,value) VALUES ('eol_adjust_failed_backup','sesam','0')" sql "INSERT INTO defaults (key,user_name,value) VALUES ('eol_adjust_failed_migration','sesam','0')"
- or update:
sql "UPDATE defaults SET value='0' WHERE key='eol_adjust_failed_backup' AND user_name='sesam'" sql "UPDATE defaults SET value='0' WHERE key='eol_adjust_failed_migration' AND user_name='sesam'"
COPY backup fails
If a COPY backup fails, the EOL of the last successful or with warnings COPY backup is increased to the media pool EOL of the backup.
- COPY backup in pool MONTH (EOL: 32) fails. SEP sesam checks for previous successful COPY backup in the same pool and increases its EOL unless the backup EOL is not sufficient, e.g., a migrated saveset exists in pool YEAR (EOL: 375).
FULL/DIFF/INCR backup fails
If a FULL backup fails, the EOL of the last successful or with warnings FULL/DIFF/INCR backup is increased to the media pool EOL of the backup.
- FULL backup in pool MONTH (EOL: 32) fails. SEP sesam checks for previous successful or with warnings FDI backup chain in the same pool and increases the EOL of the whole chain (FULL/DIFF/INCR backups) unless the backup EOL is not sufficient, e.g., a migrated FULL saveset already exists in pool YEAR (EOL: 375).
Manual EOL adjustment
It is not recommended to manually adjust EOL. This will override the EOL that was defined by the retention time (in days) in media pool configuration and started on date a saveset is written to the media. The following options should be used for special cases and exceptions, for example, to allow premature deletion of an individual saveset, or to increase the retention time of a particular backup chain to be stored longer than specified by current EOL.
- You can modify saveset EOL for each individual saveset, stored on a data store. The saveset EOL parameter is available under several properties views, for example, as Locked until option in the backup task properties, or as Saveset EOL (e.g., Components -> Data Store -> Properties -> tab Savesets -> Saveset EOL). You can extend or reduce the saveset's retention time by setting the exact expiry date in the calendar. If the adjusted saveset is a part of a backup chain, the whole chain might be affected.
- Additionally, there is also the backup EOL parameter. This is the expiry date for all data that belong to the same backup, including migrated and replicated savesets. You can check and modify the backup EOL parameter by setting the exact expiry date in the calendar in GUI, by using the Savesets properties (e.g., Main Selection -> Components -> Data Store -> Properties -> tab Savesets -> Backup EOL). If the adjusted saveset is a part of a backup chain, the whole chain is affected.
For details, see section How SEP sesam deals with EOL-related backup chain dependencies.
Manually reducing EOL
Manually reducing EOL in v. 4.4.3 Beefalo:
- If you are reducing the backup EOL, it is adjusted only for the savesets with EOL longer than the newly given EOL, while the savesets with the shorter EOL are not affected; their EOL remains unchanged.
Manually reducing EOL in v. 4.4.3 Grolar:
- If you are reducing the saveset EOL (expiration date) to a point in time in the past, the savesets with expired EOL will be deleted. If one of the savesets is part of a FDI backup chain, this may result in potential data loss due to impossibility to restore your backups.
- If you are reducing the backup EOL (expiration date) to a point in time in the past, the EOL is adjusted for all savesets based on the same backup, including migrated and replicated savesets. Backups with expired EOL will be deleted. If one of the backups is part of an FDI backup chain, this may result in potential data loss due to impossibility to restore your backups.
Manually extending EOL
Extending EOL can be used for special cases, such as increasing the retention time of a particular backup data that has also been migrated and is stored on different media pools.
Manually extending EOL in v. 4.4.3 Beefalo:
- If you are extending the backup EOL (expiration date), the EOL is adjusted only for the saveset that already has the longest EOL, while EOL of other backups is not affected. This behavior has changed compared to the previous versions, where extended backup EOL resulted in extended EOL for all savesets based on the same backup, i.e., original backup, migrated backup, replicated backup, as well as for all backups in a backup chain, if a saveset with adjusted backup EOL was part of it.
Manually extending EOL in v. 4.4.3 Grolar:
- If you are extending the saveset EOL (expiration date) and one of the savesets is part of an FDI backup chain, then the EOL of the previous savesets in the chain will also be increased.
- If you are extending the backup EOL (expiration date), the EOL is adjusted for all savesets based on the same backup, including migrated and replicated savesets. This can lead to unintentional extension of the EOL for backup savesets stored on a media pool with short EOL. If one of the backups is part of an FDI backup chain, then the EOL of the previous savesets in the chain will also be increased.
Checking backup chain dependencies
You can use the saveset tree view in GUI to determine dependencies and EOL of an FDI backup chain. Use this overview prior to manually changing EOL parameter to avoid breaking a backup chain.
|Checking the saveset tree summary will provide instant information about location and status of available savesets for restore. By checking the summary, e.g., availability 5, you can search for the savesets that are not readily available, then migrate them to allow mount and enable selective restore.|
The saveset tree displays a saveset related details together with potential dependent savesets belonging to the same backup chain. The saveset details are read-only. By providing an overview of the backup chain, you get insight on restorability of backups.
You can open the saveset tree view by double-clicking the selected backup in the backup list:
- From Main Selection -> Job State -> Backups or from Main Selection -> Monitoring -> Last Backup State, double-click the selected backup.
- In the backup task properties window, open the tab Savesets.
The saveset tree displays all savesets belonging to the same backup chain with the following details:
- SEP sesam unique identification assigned to a saveset.
- The time when the backup was started.
- The backup level used for saveset: F (FULL), D (DIFF), I (INCR) or C (COPY).
More detailed information displayed for each saveset:
- The media pool to which the saveset belongs.
- The time when the saveset's protection expires. For details, see section EOL-related backup chain dependencies.
- The priority number, based on the location of the savesets. It is useful for identifying savesets that are readily available for restore. For example, a saveset in media pool DAY (data store) is migrated to another pool DeDup and then migrated to tape. The tape will have the lowest avail/priority because it is not readily available for restore. Check also the Availability in the Status at the end of the tree view, which is calculated from the avail of all displayed savesets. See below Availability for details.
- Explains the above avail – availability of individual savesets for restore. The following information shows the relation between the location and avail/prio. Priority is assigned numerically, with 1 being the lowest priority and 6 (or 7 if called with a specific pool) being the highest.
TAPE_SINGLE = 0 TAPE_NOT_IN_LOADER = 1 DISK_OFFLINE = 2 TAPE_ONLINE = 3 DISK_HARD = 4 DISK_STORE_CLONE = 5 DISK_STORE = 6 REQUESTED_POOL = 7 (shown if called with a specific pool, e.g., all savesets on the pool DAY and the saveset_tree was called with the target pool DAY)
- Displays the name of the drive group related to the saveset's media pool.
- The number of the drive that was used for backup.
- Displays an internal identification of a saveset (a media pool name and a 5-digit number), a potential barcode, prio (numerical representation of the availability, see above item), and comment.
- Displays the summary of savesets availability – status, message on availability and a numerical representation. For example, as soon as 1 saveset is migrated to another pool and deleted from the original pool, the availability will be lowered.