Go to main content
Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

ラベル付きゾーンの ZFS データセットを共有する

この手順では、ZFS データセットを読み取り/書き込み権でラベル付きゾーンにマウントします。すべてのコマンドが大域ゾーンで実行されるため、大域ゾーン管理者がラベル付きゾーンへの ZFS データセットの追加を制御します。

データセットを共有するには、最低でもラベル付きゾーンが ready 状態である必要があります。ラベル付きゾーンが running 状態であっても構いません。

始める前に

データセットを持つゾーンを構成するには、最初にそのゾーンを停止する必要があります。大域ゾーンで root 役割になっている必要があります。

  1. ZFS データセットを作成します。
    # zfs create datasetdir/subdir

    データセットの名前には、zone/data などのディレクトリを含めることができます。

  2. 大域ゾーンで、ラベル付きゾーンを停止します。
    # zoneadm -z labeled-zone-name halt
  3. データセットのマウントポイントを設定します。
    # zfs set mountpoint=legacy datasetdir/subdir

    ZFS mountpoint プロパティーで、マウントポイントがラベル付きゾーンに対応付けられたときのマウントポイントのラベルを設定します。

  4. データセットを共有できるようにします。
    # zfs set sharenfs=on datasetdir/subdir
  5. ラベル付きゾーンにデータセットをファイルシステムとして追加します。
    # zonecfg -z labeled-zone-name
    # zonecfg:labeled-zone-name> add fs
    # zonecfg:labeled-zone-name:dataset> set dir=/subdir
    # zonecfg:labeled-zone-name:dataset> set special=datasetdir/subdir
    # zonecfg:labeled-zone-name:dataset> set type=zfs
    # zonecfg:labeled-zone-name:dataset> end
    # zonecfg:labeled-zone-name> exit

    データセットをファイルシステムとして追加することにより、データセットがゾーンの /data にマウントされます。この手順により、ゾーンがブートする前にデータセットがマウントされないようになります。

  6. ラベル付きゾーンをブートします。
    # zoneadm -z labeled-zone-name boot

    ゾーンがブートすると、データセットが、labeled-zone-name ゾーンのラベルを持つ labeled-zone-name ゾーンの読み取り/書き込みマウントポイントとして自動的にマウントされます。

使用例 24  ラベル付きゾーンの ZFS データセットを共有してマウントする

この例では、管理者は ZFS データセットを needtoknow ゾーンに追加し、そのデータセットを共有します。データセット zone/data は現在、/mnt マウントポイントに割り当てられています。restricted ゾーンのユーザーはそのデータセットを表示できます。

最初に、管理者はゾーンを停止します。

# zoneadm -z needtoknow halt

データセットは現在別のマウントポイントに割り当てられているため、管理者は以前の割り当てを削除してから、新しいマウントポイントを設定します。

# zfs set zoned=off zone/data
# zfs set mountpoint=legacy zone/data

次に、管理者はデータセットを共有します。

# zfs set sharenfs=on zone/data

次に、zonecfg 対話型インタフェースで、管理者はデータセットを needtoknow ゾーンに明示的に追加します。

# zonecfg -z needtoknow
# zonecfg:needtoknow> add fs
# zonecfg:needtoknow:dataset> set dir=/data
# zonecfg:needtoknow:dataset> set special=zone/data
# zonecfg:needtoknow:dataset> set type=zfs
# zonecfg:needtoknow:dataset> end
# zonecfg:needtoknow> exit

次に、管理者は needtoknow ゾーンをブートします。

# zoneadm -z needtoknow boot

これで、データセットはアクセス可能になります。

restricted ゾーンは needtoknow ゾーンよりも優位であり、ユーザーは /data ディレクトリに変更することでマウントされたデータセットを表示できます。ユーザーは、大域ゾーンを基準にして、マウントされたデータセットへのフルパスを使用します。この例では、system1 はラベル付きゾーンを含むシステムのホスト名です。管理者は、このホスト名を共有していない IP アドレスに割り当てています。

# cd /net/system1/zone/needtoknow/root/data

トラブルシューティング

上位ラベルからデータセットにアクセスしようとして、エラー not found または No such file or directory が返された場合、管理者は svcadm restart autofs コマンドを実行して、オートマウンタサービスを再起動する必要があります。