Ich habe ein Problem beim automatischen Bereitstellen separater Pools mit verschachtelten Mountpunkten. Ich verwende ZfsOnLinux 0.6.2.
Die Situation ist derzeit wie folgt:
zpool1 ---> /var
zpool1/log ---> /var/log
zpool1/mail ---> /var/mail
Jetzt muss ich einen separaten zpool für db hinzufügen. Um die Verzeichnishierarchie konsistent zu halten, habe ich darüber nachgedacht:
zpool2 ---> /var/db
Das Problem ist nun, dass zpool1 beim ersten Mounten von zpool2 nicht gemountet werden kann (dies ist logisch).
Gibt es eine Möglichkeit, die Mount-Reihenfolge von Pools zu erzwingen, um das Mounten von zpool2 in zpool1 zu ermöglichen, abgesehen von der Verwendung der Legacy-Mount-Option? So etwas wie Zpools Abhängigkeit? Oder sollte ich solche verschachtelten Mounts um jeden Preis vermeiden?
mount
zfs
automount
zfsonlinux
Paweł Rumian
quelle
quelle
Antworten:
Anstatt
zpool2
als zu/var/db
montieren, montieren Sie es als/zpool2
oder/db
oder was auch immer für Sie sinnvoll ist.Dann machen Sie
/var/db
einen Symlink zu/db
.quelle
/var
muss gemountet werden, bevor der Bind-Mount erstellt werden kann./var
, Festlegen von Mountpunkten fürzpool1
undzpool2
annone
und Mounten nur der Datasets. Sollte das funktionieren? Der Nachteil ist natürlich, dass ich separate Datensätze für alle Verzeichnisse in/var/
...Sie können die Mountpoint-Eigenschaften des Dateisystems auf festlegen
legacy
und/etc/fstab
zum Definieren verwenden.Auf diese Weise können Sie die Reihenfolge definieren, in der sie bereitgestellt werden.
Bearbeiten: Ich habe gerade bemerkt, dass Sie bereits über den Legacy-Ansatz nachgedacht haben. Es könnte jedoch der einzige sein.
quelle
Innerhalb desselben Pools bestimmt die Zusammensetzung der Mount-Pfade die Mount-Reihenfolge. Innerhalb eines Pools sortiert Zfs die zu mountenden Dateisysteme nach ihren jeweiligen Mountpunktpfaden, wodurch die richtige Mountreihenfolge garantiert wird.
Wenn zwei oder mehr Pools beteiligt sind, gibt es keine ähnliche Möglichkeit, die Mount-Reihenfolge zwischen den Pools automatisch festzulegen.
Mit anderen Worten, Zfs verfügt über einen integrierten Mechanismus, der sicherstellt, dass bei jeder Mount-Point-Komposition die fs-s in der richtigen Reihenfolge bereitgestellt werden. Es gibt jedoch keine ähnliche Möglichkeit, diese Garantie zu übernehmen, wenn mehrere Pools beteiligt sind.
Wenn Pool2 über ein Dateisystem verfügt, das so eingerichtet ist, dass es auf einem Bereitstellungspunkt bereitgestellt wird, der durch das erstmalige Bereitstellen eines fs in pool1 verfügbar gemacht wird, muss der Administrator sicherstellen, dass pool1 tatsächlich zuerst bereitgestellt wird. ZB: Es muss ein Skript erstellt werden. Die Antwort lautet also "Erwarten Sie nicht, dass sich das von selbst regelt".
quelle
Vielleicht könnte die Verwendung von Root unter ZFS helfen.
Ich verwende ZFS unter FreeBSD mit zwei Pools und verschachtelten Mountpunkten. Der erste Pool (ssd) ist der Pool, in dem sich das Root-Dateisystem befindet, wie auch die meisten anderen Dateisysteme. Der zweite Pool (HDD) wird für Dateisysteme mit großen Datenmengen verwendet, die an bestimmten Speicherorten bereitgestellt werden.
Ich glaube, aufgrund des Root-Dateisystems werden alle Dateisysteme aus dem SSD-Pool zuerst und die Dateisysteme aus dem HDD-Pool an zweiter Stelle gemountet.
Ich hatte noch nie Probleme mit diesem Setup. Dies ist jedoch ein Produktionsserver, und ich starte ihn nicht zu oft neu.
quelle