Oracle® Solaris 11.2 ブート環境の作成と管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

ブート環境のクローニングの例

次の例は、ブート環境のクローニング方法を示し、ゾーンとデータセットの構造によってクローニング処理がどのように異なるかを示しています。最初の例では、大域ゾーンと非大域ゾーンを含むシステムでクローニングが動作する方法について説明します。2 つ目の例では、クローニングに関連するデータセットの詳細を示します。3 つ目の例では、システムをクローニングした場合に共有データセットに起こる問題を示します。


注 - ゾーンとデータセットについては、次を参照してください。
使用例 3-1  非大域ゾーンを含んでいる大域ゾーンのブート環境を複製する

この例では、非大域ゾーンを含む大域ゾーン内でブート環境をクローニングするときの beadm create コマンドのゾーンへの影響を示します。

複製されるブート環境が、関連付けられたゾーンブート環境を非大域ゾーン内にもつ場合、関連付けられたブート環境も複製されます。たとえば、BE1 に関連付けられたゾーンブート環境 BE2 が非大域ゾーン内にあるとします。BE1 が複製されると、BE2 も複製されます。

  • この例で、大域ゾーン内の元のブート環境の名前は solaris で、ルートデータセットは rpool/ROOT/solaris にあります。

  • z1 という名前の非大域ゾーンが存在し、データセット rpool/zones/z1 をそのゾーンパスとして持ちます。大域ゾーン内の元の solaris ブート環境は、非大域ゾーン z1 内に関連付けられたブート環境をもちます。この関連付けられたゾーンブート環境の名前は solaris で、ルートデータセットは rpool/zones/z1/rpool/ROOT/solaris にあります。

# zfs list -r rpool
NAME                                    USED  AVAIL  REFER MOUNTPOINT
rpool                                  11.5G  3.89G  4.46M  /rpool
rpool/ROOT                             8.47G  3.89G    31K  legacy
rpool/ROOT/solaris                     2.98M  3.89G  2.49G  /
rpool/ROOT/solaris/var                  428K  3.89G   298M  /var
rpool/dump                             1.03G  3.92G  1.00G  -
rpool/export                            120K  3.89G    32K  /export
rpool/export/home                      88.5K  3.89G    32K  /export/home
rpool/export/home/user1                56.5K  3.89G  56.5K  /export/home/user1
rpool/swap                             1.03G  3.92G  1.00G  -
rpool/zones                             672M  3.89G    32K  /zones
rpool/zones/z1                          672M  3.89G    32K  /zones/z1
rpool/zones/z1/rpool                    671M  3.89G    31K  /rpool
rpool/zones/z1/rpool/ROOT               671M  3.89G    31K  legacy
rpool/zones/z1/rpool/ROOT/solaris       671M  3.89G   591M  /zones/z1/root
rpool/zones/z1/rpool/ROOT/solaris/var  79.3M  3.89G  78.4M  /zones/z1/root/var
rpool/zones/z1/rpool/export              62K  3.89G    31K  /export
rpool/zones/z1/rpool/export/home         31K  3.89G    31K  /export/home

この例では、root として次のコマンドを発行して大域ゾーン内でブート環境をクローニングし、新しいブート環境に solaris-1 という名前を付けます。

# beadm create test
# zfs list -r rpool
NAME                                      USED  AVAIL  REFER MOUNTPOINT
rpool                                    11.5G  3.89G  4.46M  /rpool
rpool/ROOT                               8.47G  3.89G    31K  legacy
rpool/ROOT/solaris                       2.98M  3.89G  2.49G  /
rpool/ROOT/solaris/var                    428K  3.89G   298M  /var
rpool/ROOT/test                           71K  3.89G  2.50G  /
rpool/ROOT/test/var                        1K  3.89G  2.88G  /var
rpool/dump                               1.03G  3.92G  1.00G  -
rpool/export                              120K  3.89G    32K  /export
rpool/export/home                        88.5K  3.89G    32K  /export/home
rpool/export/home/user1                  56.5K  3.89G  56.5K  /export/home/user1
rpool/swap                               1.03G  3.92G  1.00G  -
rpool/zones                               672M  3.89G    32K  /zones
rpool/zones/z1                            672M  3.89G    32K  /zones/z1
rpool/zones/z1/rpool                      671M  3.89G    31K  /rpool
rpool/zones/z1/rpool/ROOT                 671M  3.89G    31K  legacy
rpool/zones/z1/rpool/ROOT/solaris         671M  3.89G   591M  /zones/z1/root
rpool/zones/z1/rpool/ROOT/solaris/var    79.3M  3.89G  78.4M  /zones/z1/root/var
rpool/zones/z1/rpool/ROOT/solaris-1        2K  3.89G   591M  /
rpool/zones/z1/rpool/ROOT/solaris-1/var    1K  3.89G  78.4M  /var
rpool/zones/z1/rpool/export                62K  3.89G    31K  /export
rpool/zones/z1/rpool/export/home           31K  3.89G    31K  /export/home
  

クローンの名前は test で、ルートデータセットは rpool/ROOT/test にあります。

ここで、大域ゾーン内の solaris ブート環境は、z1 非大域ゾーン内に関連付けられたゾーンブート環境をもつため、クローニング処理では z1 内の関連付けられたゾーンブート環境もクローニングされます。ゾーン z1 の新しい solaris-1 クローンは、ルートデータセットが rpool/zones/z1/rpool/ROOT/solaris-1 にあります。

使用例 3-2  データセットを持つ新しいブート環境をクローニングする

この例では、新しく作成されたブート環境内でデータセットを設定する方法について説明します。この例は複数のゾーンを含みません。

root として、次のコマンドを入力します。

# beadm create BE2

この例の元のブート環境は BE1 で、ルートデータセットは rpool/ROOT/BE1 にあり、これは別のデータセット var を含んでいます。

# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                     42.5G  24.4G  4.65M  /rpool
rpool/ROOT                25.6G  24.4G    31K  legacy
rpool/ROOT/BE1            8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var        3.96M  24.4G   276M  /var

BE1 が複製された後、新しいクローン BE2 には、すべて BE1 から複製されたルートデータセットおよび他のネストされたデータセットが含まれます。BE1 はルートデータセットの下に /var ファイルシステムを含んでいるため、/var も複製されます。

# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                     42.5G  24.4G  4.65M  /rpool
rpool/ROOT                25.6G  24.4G    31K  legacy
rpool/ROOT/BE1            8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var        3.96M  24.4G   276M  /var
rpool/ROOT/BE2            8.91M  24.4G  4.17G  /
rpool/ROOT/BE2/var        3.96M  24.4G   276M  /var

対照的に、ルートデータセットの外側に共有ファイルシステムがあった場合、共有ファイルシステムは複製されません。次の例で示すように、元のブート環境とクローンは、元の共有ファイルシステムを「共有」します。

使用例 3-3  共有データセットを持つ新しいブート環境を作成する

この例では、既存の共有データセットがある場合に新しいブート環境を作成する方法について説明します。この例では、元のブート環境は BE1 で、共有データセットは rpool/export および rpool/export/home です。この例は複数のゾーンを含みません。

BE1 を複製し、クローンに BE2 という名前を付けるために、root として次のコマンドを入力します。

# beadm create BE2

ブート環境がクローニングされるときに、共有データセット tank および tank/export はクローニングされません。共有データセットは rpool/ROOT/BeName データセットの外側にあり、複製されたブート環境 BE2 によって元の場所で参照されます。

元のブート環境 BE1 とデータセットは次のとおりです。

# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    42.5G  24.4G  4.65M  /rpool
rpool/ROOT               25.6G  24.4G    31K  legacy
rpool/ROOT/BE1           8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var       3.96M  24.4G   276M  /var
tank                      450K   457G    18K  /tank
tank/home                 315K   457G    21K  /tank/home

ルートデータセットは rpool/ROOT/BE1 にあり、/var データセットはルートデータセットの下にあります。ルートデータセットと /var の両方が複製されます。

クローニングされたブート環境 BE2 には新しいルートデータセットおよび新しい /var データセットが作成されていますが、元の共有データセット tank および tank/home は変更されません。

# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    42.5G  24.4G  4.65M  /rpool
rpool/ROOT               25.6G  24.4G    31K  legacy
rpool/ROOT/BE1           8.91M  24.4G  4.17G  /
rpool/ROOT/BE1/var       3.96M  24.4G   276M  /var
rpool/ROOT/BE2           8.91M  24.4G  4.17G  /
rpool/ROOT/BE2/var       3.96M  24.4G   276M  /var
tank                      450K   457G    18K  /tank
tank/home                 315K   457G    21K  /tank/home