Solaris ゾーン環境で GFS を使用する場合、GFS のインストール、コマンドの実行、および、GFS 共用ファイルシステムの作成・管理ができるのは、グローバルゾーンだけです。ただし、グローバルゾーンでマウントしている GFS 共用ファイルシステムを、ループバック仮想ファイルシステムとしてノングローバルゾーンに共有することにより、ノングローバルゾーンにおいても GFS 共用ファイルシステムが使用できます。
グローバルゾーンの /gfs01 にマウントしている GFS 共用ファイルシステムを、ゾーン名が zone01 のノングローバルゾーンの /gfs に lofs として共有する場合の設定例を以下に示します。
# zonecfg -z zone01 zonecfg:zone01> add fs zonecfg:zone01:fs> set dir=/gfs ←ノングローバルゾーンのマウントポイント zonecfg:zone01:fs> set special=/gfs01 ←lofs として共有するグローバルゾーンの GFS 共用ファイルシステムのマウントポイント zonecfg:zone01:fs> set type=lofs zonecfg:zone01:fs> end zonecfg:zone01> verify zonecfg:zone01> commit zonecfg:zone01> exit |
設定情報は、以下のコマンドで確認できます。
# zonecfg -z zone01 info zonename: zone01 (略) fs: dir: /gfs special: /gfs01 raw not specified type: lofs options: [] (略) # |
ポイント
GFS 共用ファイルシステムを共有するノングローバルゾーンを、システム起動時に自動的に起動したい場合、以下の設定をしてください。
GFS のサービス svc:/milestone/fjsvgfs-zones を有効にします。
svcadm(1M) で、サービス svc:/milestone/fjsvgfs-zones を有効にしてください。
# svcadm enable svc:/milestone/fjsvgfs-zones |
サービスが有効になったことを svcs(1) で確認します。STATE が online になっていることを確認してください。
# svcs svc:/milestone/fjsvgfs-zones STATE STIME FMRI online 10:11:22 svc:/milestone/fjsvgfs-zones:default |
GFS 共用ファイルシステムをノード起動時に自動マウントするよう設定します。
設定方法は、 “11.2.4 vfstab の設定” を参照してください。
sfcfrmd デーモンの起動方法として wait (デフォルト) を選択します。
設定方法は、“9.5 管理パーティションに登録されている sfcfrmd デーモンの起動方法の変更”を参照してください。
本設定をしない場合、システム起動時の GFS 共用ファイルシステムのマウントが失敗する場合があります。/var/adm/messages に以下のメッセージが出力されます。
ERROR: sfcfs_mount:0010: special is already mounted, mount_point is busy |
復旧方法は、“A.2.6 エラーメッセージ sfcfs_mount コマンド”の該当メッセージの対処を参照してください。
注意
グローバルゾーン上の GFS 共用ファイルシステムを共有するノングローバルゾーンを起動する場合、事前にグローバルゾーン上で GFS 共用ファイルシステムをマウントしてください。
グローバルゾーン上の GFS 共用ファイルシステムをアンマウントする場合、事前に GFS 共用ファイルシステムを共有するノングローバルゾーンを停止してください。
ノングローバルゾーン上で動作するアプリケーションを PRIMECLUSTER で監視する場合、ウォームスタンバイで運用してください。
ノングローバルゾーン上で動作するアプリケーションを PRIMECLUSTER で監視しない場合、ノングローバルゾーン制御用の Cmdline リソースを1つのグローバルゾーンだけで起動するように設定してください (SysNode を1つだけ設定します)。
1つのノード上で同時にオープンできるファイル数は、1つの GFS 共用ファイルシステムあたり 5000 個です。1つのグローバルゾーン上にある複数のノングローバルゾーンから、同じ GFS 共用ファイルシステムにアクセスする場合、同時にオープンできるファイル数は、グローバルゾーンとすべてのノングローバルゾーンの合計で 5000 個になります。
ノングローバルゾーンでは、GFS のコマンドを実行できません。グローバルゾーンの /usr/sbin ディレクトリにインストールされた GFS のコマンドをノングローバルゾーンで実行すると、以下のエラーになります。
ld.so.1: command: fatal: libsfcfs.so: open failed: No such file or directory |
または
cannot be executed in non-global zone |