Sie können eine neue ZFS-Boot-Umgebung innerhalb des gleichen Root-Pools oder auf einem anderen Root-Pool erstellen. Dieser Abschnitt enthält Übersichten zu den folgenden Themen:
Erstellen einer neuen Boot-Umgebung innerhalb des gleichen Root-Pools
Erstellen einer neuen Boot-Umgebung in einem anderen Root-Pool
Beim Erstellen einer neuen Boot-Umgebung innerhalb des gleichen ZFS-Root-Pools erstellt der Befehl lucreate zunächst einen Snapshot der Quell-Boot-Umgebung und dann aus diesem Snapshot einen Klon. Das Erstellen des Snapshots und des Klons nimmt sehr wenig Zeit in Anspruch, und der belegte Festplattenspeicherplatz ist minimal. Der letztendlich erforderliche Speicherplatz hängt davon ab, wieviele Dateisysteme im Zuge des Upgrade-Vorgangs ersetzt werden. Der Snapshot ist schreibgeschützt, der Klon ist jedoch eine nicht schreibgeschützte Kopie des Snapshots. Alle an der geklonten Boot-Umgebung vorgenommenen Änderungen werden nicht in den Snapshot bzw. die Boot-Umgebung, aus der der Snapshot erstellt wurde, übernommen.
Auch bei Änderungen an den Daten des aktiven Datasets belegt der Snapshot durch Referenzierung der alten Daten weiterhin Speicherplatz. Deswegen verhindert der Snapshot, dass die Daten zurück ins Pool freigegeben werden. Weitere Informationen zu Snapshots finden Sie in Kapitel 7, Arbeiten mit Oracle Solaris ZFS-Snapshots und -Klonen in Oracle Solaris ZFS-Administrationshandbuch.
Wenn sich die aktuelle Boot-Umgebung auf dem gleichen ZFS-Pool befindet, kann die Option - p ausgelassen werden.
Abbildung 11–2 zeigt das Erstellen einer ZFS-Boot-Umgebung aus einem ZFS-Root-Pool. Das Slice c0t0d0s0 enthält das ZFS-Root-Pool rpool. Im Befehl lucreate weist die Option -n der neu zu erstellenden Boot-Umgebung den Namen neue-zfsBU zu. Aus dem ursprünglichen Root-Pool wird der Snapshot rpool@new-zfsBE erstellt. Von diesem Snapshot wird der Klon angelegt, der die neue Boot-Umgebung neue-zfsBU darstellt. Die Boot-Umgebung neue-zfsBU kann jetzt aktualisiert und aktiviert werden.
Dieses Beispiel zeigt den gleichen Befehl wie in Abbildung 11–2, mit dem im gleichen Root-Pool eine neue Boot-Umgebung erstellt wird. Der lucreate-Befehl benennt die aktuell laufende Boot-Umgebung mit der Option -c zfsBU, und die Option -n neue-zfsBU erstellt die neue Boot-Umgebung. Der Befehl zfs list zeigt die ZFS-Datasets mit der neuen Boot-Umgebung und dem Snapshot an.
# lucreate -c zfsBE -n new-zfsBE # zfs list AME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
Mit dem Befehl lucreate können Sie ein vorhandenes ZFS-Root-Pool in ein anderes ZFS-Root-Pool kopieren. Je nach System kann der Kopiervorgang einige Zeit in Anspruch nehmen.
Abbildung 11–3 zeigt den Befehl zpool, der das ZFS-Root-Pool rpool2 auf c0t1d0s5 erstellt, da ein bootfähiges ZFS-Root-Pool noch nicht vorhanden ist. Im Befehl lucreate weist die Option -n der zu erstellenden Boot-Umgebung den Namen neue-zfsBU zu. Die Option -p legt fest, wo die neue Boot-Umgebung angelegt werden soll.
Dieses Beispiel zeigt die gleichen Befehle wie in Abbildung 11–3, die zunächst ein neues Root-Pool und dann in diesem neu erstellten Root-Pool eine neue Boot-Umgebung erstellen. In diesem Beispiel erstellt der Befehl zpool create das Pool rpool2. Der Befehl zfs list zeigt, dass in rpool2 keine ZFS-Datasets angelegt wurden. Die Datasets werden mit dem Befehl lucreate erstellt.
# zpool create rpool2 c0t2d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
Das neue ZFS-Root-Pool rpool2 wird auf dem Festplatten-Slice c0t2d0s5 erstellt.
# lucreate -n new-zfsBE -p rpool2 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
Die neue Boot-Umgebung neue-zfsBU wird zusammen mit den anderen Datasets ROOT, dump und swap auf rpool2 erstellt. Die Boot-Umgebung neue-zfsBU kann jetzt aktualisiert und aktiviert werden.