新規 ZFS ブート環境は、同一ルートプール内、新規ルートプール上のどちらにも作成できます。この節には次の概要が含まれます。
同一の ZFS ルートプール内で新規ブート環境を作成する場合は、lucreate コマンドでソースブート環境からスナップショットを作成し、そのスナップショットからクローンを作成します。スナップショットとクローンの作成はきわめて短時間で完了し、ディスク容量の消費も最小限ですみます。最終的にどれくらいの容量が必要かは、アップグレード処理の一環として置き換えられるファイルの数で決まります。スナップショットは読み取り専用ですが、クローンはスナップショットの読み書き可能なコピーです。クローンブート環境に加えられた変更は、スナップショットにも、スナップショットの作成元のソースブート環境にも反映されません。
有効なデータセット内のデータが変更されると、スナップショットは古いデータを参照し続けるための領域を使用します。その場合、スナップショットのため、古いデータの領域は解放されずプールに戻されません。スナップショットの詳細については、『Solaris ZFS 管理ガイド』の第 7 章「ZFS のスナップショットとクローンの操作」を参照してください。
現在のブート環境が同じ ZFS プールにある場合、-p オプションは省略します。
図 11–2 に、ZFS ルートプールからの ZFS ブート環境の作成の概要を示します。スライス c0t0d0s0 に、ZFS ルートプール rpool が含まれています。lucreate コマンドの -n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。元のルートプールのスナップショット rpool@new-zfsBE が作成されます。このスナップショットから、新規ブート環境 new-zfsBE となるクローンが作成されます。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。
この例には、同一のルートプール内に新規ブート環境を作成する、図 11–2 と同じコマンドが示されています。lucreate コマンドでは、-c zfsBE オプションで現在稼動中のブート環境を指定し、-n new-zfsBE オプションで新しいブート環境を作成します。zfs list コマンドでは、新しいブート環境とスナップショットにある ZFS データセットが表示されます。
# 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 - |
lucreate コマンドを使用して、既存の ZFS ルートプールを別の ZFS ルートプール内にコピーできます。コピー処理には、システムによって時間がかかる場合があります。
図 11–3 に、ブート可能な ZFS ルートプールがまだ存在しないため、ZFS ルートプール rpool2 を c0t1d0s5 上に作成する zpool コマンドを示します。lucreate コマンドの -n オプションで、作成するブート環境に new-zfsBE という名前を割り当てます。-p オプションでは、新しいブート環境を配置する場所を指定します。
この例では、新規ルートプールの作成後、新しく作成したルートプールに新規ブート環境を作成する、図 11–3 と同じコマンドを示しています。この例の zpool create コマンドで rpool2 が作成されます。zfs list コマンドで、rpool2 に ZFS データセットが作成されていないことが示されます。データセットは、lucreate コマンドで作成されます。
# 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 - |
新しい ZFS ルートプール rpool2 が、ディスクスライス c0t2d0s5 上に作成されます。
# 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 - |
新しいブート環境 new-zfsBE が、ROOT、dump、および swap の他のデータセットと共に rpool2 に作成されます。ブート環境 new-zfsBE は、すぐにアップグレードおよびアクティブにできます。