VSS: Limit der Volumenschattenkopien erhöhen
Volumenschattenkopien können in bestimmten Szenarien ein Datensicherungskonzept abrunden und ergänzen. Lassen die Datentypen und Daten-Veränderungsraten den Einsatz von VSS zu, sollte diese Methode in die Planung von Sicherungskonzepten nach Möglichkeit Beachtung finden.
Wie viele historische Datenzustände vorgehalten werden können, hängt von der VSS-Konfiguration ab. In der Regel wird ein Speicherkontingent (Speicherbereich) für die Schattenkopien definiert. Bei Erschöpfung des Kontingents werden die ältesten Kopien als erstes gelöscht.
Standardmäßig werden jedoch maximal 64 Kopien vorgehalten. Hierbei spielt es keine Rolle, ob das konfigurierte Speicherkontingent bereits ausgereizt ist oder nicht. Dies kann gerade dann ungünstig sein, wenn die Anforderung besteht, Schattenkopien in einer sehr hohen Frequenz zu erzeugen oder über einen längeren Zeitraum vorzuhalten.
Daher sollte dies bei der Planung und dem Einsatz von VSS unbedingt bedacht werden. Möglicherweise können so die errechnete bzw. gewünschte Rückhaltezeit der alten Datenzustände aufgrund des Limits nicht erzielt werden.
Um zu prüfen ob das Speicherkontingent aktuell ausgereizt wird, kann folgender Befehl genutzt werden:
vssadmin list shadowstorage
Der Befehl listet sowohl den genutzten als auch den konfigurierten Speicherbereich für jede eingerichtet VSS Sicherung auf. Wichtig: Das konfigurierte Speicherkontingent steht natürlich immer in Abhängigkeit zum freien Speicherplatz auf dem entsprechenden Datenträger.
Um zu prüfen wie viele Kopien für einen bestimmten Datenträger aktuell existieren, habe ich folgendes Script erstellt:
$DriveLetter = 'D'
$VolumeID = Get-Volume | Where DriveLetter -eq $DriveLetter | Select UniqueId,FileSystemLabel
$ShadowCopyCount = Get-CimInstance -ClassName Win32_ShadowCopy | where VolumeName -eq $VolumeID.UniqueId | measure
Write-Host $DriveLetter":\" $VolumeID.FileSystemLabel - $ShadowCopyCount.Count"Volume Shadow Copies"
Hinweis: Der Wert des Laufwerksbuchstabe für die Variable $DriveLetter muss entsprechend angepasst werden.
Anpassung des Kopie-Limits: Lassen die geringen Daten-Veränderungsraten bzw. die Größe des Speicherkontingents (ergo freie Speicherplatz auf dem Datenträger) mehr als 64 Kopien zu, kann das Standard-Limit mit folgendem Befehl erweitert und so den Bestand einzelner Schattenkopien verlängert werden:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\VSS\Settings" /v "MaxShadowCopies" /d 128 /t REG_DWORD /f
In diesem Beispiel wird das Limit der Schattenkopien von 64 auf 128 erhöht. Maximal können 512 Schattenkopien vorgehalten werden.
Ein Neustart des Dienstes Volumeschattenkopie (Dienstname: VSS) liest den neuen Wert unmittelbar ein und macht die Änderung wirksam.
Restart-Service -Name VSS
Hinweis: Der Befehl sollte nicht während laufender Sicherungen ausgeführt werden.