同一の 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 - |