Si3 Deduplication Troubleshooting

From SEPsesam
Jump to: navigation, search
Other languages:
Deutsch • ‎English

Copyright © SEP AG 1999-2022. All rights reserved.

Any form of reproduction of the contents or parts of this manual is allowed only with the express written permission from SEP AG. When compiling and designing user documentation SEP AG uses great diligence and attempts to deliver accurate and correct information. However, SEP AG cannot issue a guarantee for the contents of this manual.

Docs latest icon.png Welcome to the latest SEP sesam documentation version 4.4.3 Beefalo/5.0.0 Jaglion. For previous documentation version(s), check documentation archive.


Si3 Deduplication

Repairing Si3 deduplication store

Problem

  • There are problems with my Si3 deduplication store.

Solution

Repair the Si3 deduplication store as follows:

  1. Update the SEP sesam Server (where the Si3 runs) to the latest version, see Updating SEP sesam.
  2. Check the recovery log (in the Si3 root directory). If only one, two or three savesets are shown, check whether they have been deleted (purged) due to the expired EOL. If this is the case, delete the entire contents of recovery.log (but do not delete the file!). In a few seconds, the Si3 status should be changed to OK ; in the GUI and in the Web UI, the Si3 store will change from red to black. In this case the problem is solved. However, see also next step.
  3. If there are many entries in recovery.log, you have to use the repair command.
  4. Check if gc or fsck is running (sm_dedup_interface -d <Si3_drive> status). If they are, stop them with the command
  5. sm_dedup_interface -d <Si3_drive> gc stop and fsck stop
    
  6. Check again if 'gc or fsck are stopped (note that fsck can restart quickly).
  7. Start the quick repair; this only works if there are ddl files in <si3-root-dir>/trash/data.
  8. sm_dedup_interface -d <Si3_drive> repair start asc quick <si3-root-dir>/trash/data
    
  9. Use
  10. sm_dedup_interface -d <Si3_drive> repair start asc quick <si3-root-dir>/trash/data
    
    1. If the sanity state is not OK, use
    2. sm_dedup_interface -d <Si3_drive> repair start asc quick <si3-root-dir>/data/lostnfound
      
    3. If the sanity state is still not OK, use
    4. sm_dedup_interface -d <Si3drive> repair start asc quick <si3-root-dir>/data
      
  11. Check that the repair works:
  12. sm_dedup_interface -d <Si3_drive> status
    

    The following line confirms that it works:

    … GC: 0 FSCK: 0, Repair: 1
    
  13. Wait a few minutes. Check the repair with dedup-status. Once the repair is complete, the Si3 state should change to OK. If not, use FULL instead of QUICK repair. Have in mind that this can be quite time-consuming.

Si3 remains in "shutting down" state

Problem

  • Manually stopping Garbage Collection (GC) fails and consequently Si3 remains in the "shutting down" state.

Solution

  • Restart the Si3 daemon by using sm_main restart sds. For more details on stopping and starting the SEP sesam services, see How to Start and Stop SEP sesam.

Si3 deduplication may not work with NFSv4

Problem

  • Si3 deduplication may not work with Network File System version 4 (NFSv4).

Cause

  • SEP sesam operations, such as backup, restore and migration, may fail due to Java problems with NFSv4.

Solution

  • To avoid this problem, connect your backup devices via NFSv3.

Using sm_dedup_interface

sm_dedup_interface

This is the main utility for configuring and managing data stores. Below is a list of some commands and their usage.

Information sign.png Note
Depending on the deduplication store used, Si3 or Si3-NG, some of the commands may be slightly different. When relevant, both command versions are described.
sm_dedup_interface -d <datastore> <command>
  - purge
  - objectinfo <remote filename>
  - put <input filename> <dest filename>
  - get <remote filename> <dest filename> [<bytes skipped then> [<bytes read at beginning>]]
  - delete <remote filename> [<filename 2>]*
  - getlabel
  - getuuid
  - list
  - fsck [start|stop|autopurge|status|incremental|purge now|dump status into <file>|fsck incr start from <file>]
  - gc <start|stop|status|result>
  - key <set <key> <value>|get <key>|list>
  - log@server <msg>
  - propose serverconfig <repository netto GiB>
  - propose jvmconfig <repository netto Gib> (for Si3 store; slightly different usage for Si3 NG, see Notea)
  - snapshot
  - replicate from [-f] <remote hostname> <remote port> <remote filename>
  - replicate show
  - replicate abort <task id>
Notea

Depending on the deduplication store used, Si3 or Si3-NG, the command to find out how much RAM is needed at what capacity of Si3/Si3-NG differs slightly. Example:

Si3-NG
Use the command sm_dedup_interface -T dedup2 propose jvmconfig <Si3_capacity>.
Si3
Use the command sm_dedup_interface propose jvmconfig <Si3_capacity>.

The output of MaxDirectMemorySize is the required RAM value.
Note, however, that SEP sesam calculates the RAM consumption and uses these commands in the background. It is usually not needed to set the values manually. These manual changes are overwritten with the next drive configuration.
The index calculation is also associated with the command. If the index grows and is 95% full, backups can no longer be performed. The RAM must hold the entire index (described by max_pages) in memory. The MaxDirectMemorySize depends directly on max_pages. To solve the problems with the growing index, refer to Si3 Deduplication Troubleshooting.

Specific options

Most of the parameters are for internal use only.

status

Provides information about used space, stored data, label uuid and running processes (gc or fsck), etc.

The value Overall dedup ratio shows by how many percent the stored data has been reduced.

gc start
  • Starts the garbage collection.
  • Identifies unreferenced chunks and moves them to the trash.
  • Is started by SEP sesam with sm_start.
gc stop
  • Stops the garbage collection.
  • Can be restarted later.
gc status
Si3 NG gc status output example
sm_dedup_interface -d 3 gc status
Current gc status:
 State:                       Finished
 Started:                     2022-03-07 08:10:56
 Ended:                       2022-03-07 10:00:15
 Message:                     Sweep Phase: swept 97124/97124 pages [deleted=2194,rewritten=13611,skipped=79550,locked=1769,missing=0]
STATUS=SUCCESS MSG=Sweep Phase: swept 97124/97124 pages [deleted=2194,rewritten=13611,skipped=79550,locked=1769,missing=0]
get
  • Reads an object (file, saveset) from the deduplication store.
  • '-' can be used to specify STDIN.
put
  • Writes an object (file, saveset) to the deduplication store.
  • '-' can be used to specify STDOUT.
fsck
  • Starts a data store check.
  • Must be started manually.
  • If the parameter autopurge is set, all corrupted objects are deleted.
fsck status
Displays the current state or the state of the most recent data store check.

The Si3 NG deduplication store has two types of fsck: object check (occk), which checks if the Si3 data part is still readable, and page check (pcck), which checks the physical data on the disk. All processes (gc, occk and pcck) can run simultaneously.

purge
  • Deletes all pages marked as obsolete (empty trash) by the last run of garbage collection (gc).
  • Is started by sm_start after a SEP sesam day change.
  • getlabel and getuuid can be replaced with status


See also

Analyzing SEP sesam Log FilesHow to Start and Stop SEP sesamSi3 Deduplication