Nehmen wir an, ich habe einen Rpool mit etc/ als regulärem Verzeichnis darin und möchte nun einen separaten ZFS-Rpool/etc erstellen, der natürlich alle Daten übernimmt, die ich im ursprünglichen /etc hatte.
Was wäre der geeignetste und sicherste Weg, dies zu tun?
Antwort1
/etc
Die Umwandlung in ein eigenes ZFS-Dateisystem wird nicht unterstützt .
Der Grund dafür ist, dass /etc
es in den frühen Phasen des Bootvorgangs benötigt wird, bevor (Open)Solaris mit dem Mounten von ZFS-Dateisystemen beginnt. Wenn Sie es also ändern, wäre es leer.
Ich vermute, dass Sie Snapshots von erstellen möchten /etc
, aber Sie können stattdessen auch einfach Snapshots des Root-Dateisystems erstellen:
zfs snapshot rpool/ROOT/opensolaris
Möglicherweise müssen Sie es opensolaris
durch den Namen der aktuellen Startumgebung ersetzen (führen Sie es aus, beadm list
um herauszufinden, welche).
Antwort2
Es gibt keine integrierte oder automatisierte Möglichkeit, ein neues DataSet zu erstellen und vorhandene Daten dorthin zu migrieren. Dazu müssen Sie das DataSet erstellen und die Daten manuell (z. B. per rsync) dorthin übertragen.
Angenommen, Sie haben einen Datensatz mit dem Namen tank\set
und darin ein Verzeichnis mit dem Namen folder
. Sie möchten den Ordner zu einem untergeordneten Datensatz mit dem Namen „hochstufen“ tank\set\folder
:
mv /mnt/tank/set/folder /mnt/tank/set/folder-backup # move this out of the way so the new dataset doesn't mount on top of it
zfs create tank/set/folder
rsync -aAX /mnt/tank/set/folder-backup/ /mnt/tank/set/folder # bring over all the old data including acls and attributes
Überprüfen Sie dann, ob die Daten gut aussehen. Machen Sie vorsichtshalber einen Snapshot des übergeordneten Datensatzes und löschen Sie das folder-backup
Verzeichnis.
Antwort3
Eine ziemlich kranke, aber möglicherweise nützliche Idee:
Was passiert, wenn ich einen Klon eines vorhandenen Datensatzes erstelle tank\set
alstank\folder
es wird genau so sein und tank\set
das enthalten, was ich will: tank\folder\folder
und auch eine Menge anderer Dinge.
Und dann kann ich alles entfernen, was ich nicht möchte, tank\folder
und schließlich mv tank\folder\folder\* tank\folder\
, was nur eine Verschiebung im Dateisystem ist und in Sekunden abgeschlossen sein sollte.
Ich werde es in ein oder zwei Tagen testen
Ich fürchte, dass rm -rf länger dauert als gedacht.
eine Option, die man doch nutzen kann.