4.5.4. Synchronisieren von Kontingenten mit dem quotasync-Befehl
GFS2 speichert alle Kontingentinformationen in seiner eigenen, internen Datei auf der Festplatte. Ein GFS2-Knoten aktualisiert diese Kontingentdatei nicht bei jedem Schreibvorgang im Dateisystem, sondern aktualisiert sie standardmäßig nur alle 60 Sekunden. Dies ist notwendig, um Konflikte zwischen Knoten zu vermeiden, die in die Kontingentdatei schreiben, was sich andernfalls nachteilig auf die Leistung auswirken würde.
Wenn ein Benutzer oder eine Gruppe sich seiner bzw. ihrer Kontingentgrenze nähert, verkürzt GFS2 dynamisch die zeitlichen Abstände zwischen den Aktualisierungen der Kontingentdatei, um das Überschreiten der Grenze zu vermeiden. Der normale Zeitabstand zwischen Kontingentsynchronisationen ist ein einstellbarer Parameter,
quota_quantum
. Sie können dessen Standardwert von 60 Sekunden mithilfe der Einhängeoption quota_quantum=
ändern, wie in Tabelle 4.2, »GFS2-spezifische Einhängeoptionen« beschrieben. Der quota_quantum
-Parameter muss auf jedem Knoten und jedes Mal, wenn das Dateisystem eingehängt wird, gesetzt werden. Änderungen am quota_quantum
-Parameter sind über Aushängevorgänge hinweg nicht persistent. Sie können den quota_quantum
-Wert mit dem Befehl mount -o remount
aktualisieren.
Sie können den
quotasync
-Befehl verwenden, um zwischen den automatischen Aktualisierungen durch GFS2 die Kontingentinformationen manuell von einem Knoten auf die Kontingentdatei auf der Festplatte zu synchronisieren.
4.5.4.1. Verwendung
Synchronisation der Kontingentinformationen
quotasync [-ug] -a|mntpnt
...
u
- Synchronisiert die Benutzer-Kontingentdateien.
g
- Synchronisiert die Gruppen-Kontingentdateien.
a
- Synchronisiert alle Dateisysteme, die derzeit Kontingente aktiviert haben und die Synchronisation unterstützen. Wenn -a nicht angegeben ist, sollte ein Einhängepunkt im Dateisystem angegeben werden.
mntpnt
- Gibt das GFS2-Dateisystem an, auf dem diese Aktion durchzuführen ist.
Anpassen der Zeitabstände zwischen Synchronisationen
mount -o quota_quantum=secs,remount BlockDevice MountPoint
MountPoint
- Gibt das GFS2-Dateisystem an, auf dem diese Aktion durchzuführen ist.
secs
- Gibt den Zeitabstand zwischen regulären Synchronisationen der Kontingentdatei durch GFS2 an. Kleinere Werte können zu mehr Konflikten führen und sich nachteilig auf die Leistung auswirken.
4.5.4.2. Beispiele
Dieses Beispiel synchronisiert alle gecachten, veränderten Kontingente von dem Knoten, auf dem der Befehl ausgeführt wird, auf die Kontingentdatei des Datenträgers für das Dateisystem
/mnt/mygfs2
.
# quotasync -ug /mnt/mygfs2
In diesem Beispiel wird der standardmäßige Zeitraum zwischen den regelmäßigen Aktualisierungen der Kontingentdatei auf eine Stunde (3600 Sekunden) für das Dateisystem
/mnt/mygfs2
beim Wiedereinhängen dieses Dateisystems auf dem logischen Datenträger /dev/volgroup/logical_volume
geändert.
# mount -o quota_quantum=3600,remount /dev/volgroup/logical_volume /mnt/mygfs2