PRIMECLUSTERでZFSを使用する場合の、監視対象やサポート構成およびFsystemリソースに登録する前に必要な設定手順について、説明します。
監視機構
PRIMECLUSTERではZFSストレージプールとその上に構築されるZFSファイルシステムについて、以下の監視機能を提供します。
ZFSストレージプールの状態(zpool listコマンドで表示される状態)の監視
ZFSストレージプール上に作成したZFSファイルシステムのマウント状態の監視
ZFSストレージプール上に作成したZFSファイルシステムのNFS share状態の監視
サポートする構成
PRIMECLUSTERでサポートするZFS構成は以下の通りです。
ZFSストレージプールのデバイス
GDSの物理特殊ファイル(例: /dev/sfdsk/class/dsk/volume0001)のみ。
ZFSファイルシステムのタイプ
非レガシーファイルシステム(*1)とレガシーファイルシステム(*2)のどちらのタイプもサポートします。
また、一つのZFSストレージプール上に両者が混在していても構いません。
*1: ZFSのデフォルトのファイルシステムです。ZFSストレージプールのimport/exportの際にマウント/アンマウントされます。
*2: mountpointプロパティにlegacyを設定したファイルシステムです。UFSファイルシステムと同様、mount/umountコマンド、/etc/vfstab.pclにより管理されます。
最上位のZFSファイルシステム
最上位のZFSファイルシステム(ZFSストレージプール作成時に自動的に作成されるファイルシステム)は非レガシーファイルシステムとしてください。
データセット
ZFSストレージプール上に作成できるデータセットの種類に制約はありませんが、監視対象となるのはファイルシステムのみです。
レガシーファイルシステム使用時の注意
PRIMECLUSTERでレガシーファイルシステムを使用する場合、以下のデメリットがあるため、非レガシーファイルシステムを使用することを推奨します。
ZFSストレージプールの制御の延長ではマウント/アンマウントされないため、UFSファイルシステムと同様にファイルシステムごとにリソースが作成され、ファイルシステム単位でのマウント/アンマウントの制御が行なわれます。このため、Online/Offline処理に非レガシーファイルシステムよりも時間がかかります。
注意
ZFSストレージプールと、その上に作成したレガシーZFSファイルシステムは1つのFsystemリソースとして作成してください。
ZFSストレージプールと同名のディレクトリを、レガシーZFSファイルシステムのマウントポイントとして使用することはできません(例:ZFS ストレージプール app1 の mountpoint プロパティに legacy を設定し、/app1 にマウントするよう/etc/vfstab.pcl を設定)。
ZFSストレージプール上で、レガシーZFSファイルシステムを多段マウントする場合は、同一のZFSストレージプール内で多段マウントしてください。
複数のファイルシステムを組み合わせて使用する場合の注意
Fsystem リソースが制御する ZFS ファイルシステム上のディレクトリに、レガシー ZFS ファイルシステムやUFS ファイルシステムをマウントしたい場合は、レガシーマウントを使用してください。
具体的には、ZFS ストレージプール上にデータセットを新たに1つ作成し、そのデータセットをレガシーマウントするように設定します。さらに、そのレガシーマウントされたファイルシステム配下のディレクトリに レガシーZFSファイルシステムやUFSファイルシステムをマウントするようにします。
例
ZFS ストレージプール app1 上に UFS ファイルシステムをマウントする場合の手順は以下の通りです。
app1/zfsmnt というデータセットをレガシー ZFS ファイルシステムとして作成し、そのデータセットを/zfsmnt にマウントするよう /etc/vfstab.pclファイルに設定する。
UFS ファイルシステムを /zfsmnt/ufsmnt にマウントするよう /etc/vfstab.pcl に設定する。
以下の構成(組み合わせ)のFsystemリソースは作成できません。
非レガシーZFSファイルシステム上に、他のストレージプールのデータセットやUFSファイルシステムをマウントする構成
例
ZFSストレージプール app1 を import した /app 配下の /app/data ディレクトリに UFS ファイルシステムを直接マウントすることはできません。
レガシーZFSファイルシステム、または、ZFS以外のFsystemリソースにより制御されるマウントポイント配下に、ZFSストレージプールをimportする構成
例
Fsystemリソースとして制御するUFSのマウントポイント /mnt 上に、ZFSストレージプールのマウントポイント /mnt/data を作成することはできません。
GDSの構成設定
"6.3.2 GDSの構成設定"、および"PRIMECLUSTER Global Disk Services 説明書"を参照し、共用ディスクを作成してください。以降の作業をするノードにおいて対象となるGDSの物理特殊ファイルにアクセスできるようにしておいてください。
ZFSストレージプールの作成
以下、「手順5 ZFSストレージプールのexport」までの手順はクラスタを構成するどちらか一方のノードで実施してください。
zpool createコマンドによりZFSストレージプールを作成します。以下の例では、ストレージプール名がapp、GDSの物理特殊ファイル(/dev/sfdsk/class/dsk/volume0001)を使用しています。
# zpool create app /dev/sfdsk/class/dsk/volume0001
# zfs list -r app
NAME USED AVAIL REFER MOUNTPOINT app 178K 129G 28.5K /app
使用するコマンドの詳細についてはSolaris ZFS管理ガイドを参照してください。
上記の例のように、ZFSストレージプールを作成すると最上位のZFSファイルシステムが自動的に作成されます。
ZFSファイルシステムの作成
zfs createコマンドによりZFSファイルシステムを作成します。以下の例では、app/home、app/config、app/dataの3つの非レガシーファイルシステムを作成しています。
# zfs create app/home
# zfs create app/config
# zfs create app/data
# zfs list -r app
NAME USED AVAIL REFER MOUNTPOINT app 178K 129G 28.5K /app app/config 24.5K 129G 24.5K /app/config app/data 24.5K 129G 24.5K /app/data app/home 24.5K 129G 24.5K /app/home
レガシーファイルシステムを作成する場合、mountpointプロパティーをlegacyに設定します。以下はファイルシステムapp/dataをlegacyに設定する例です。
# zfs set mountpoint=legacy app/data
参考
zfs createでファイルシステムを作成する際に”-o mountpoint=legacy”を指定してmountpointプロパティを設定しても構いません。
Fsystem リソースの事前設定
”6.7.1.2 Fsystemリソースの作成”の注意事項、および“6.7.1.2.1 事前設定”の手順に従い、Fsystem リソースに登録するための事前設定を行ってください。
NFS で共有する設定についても、“6.7.1.2.1 事前設定”の手順を参照してください。なお非レガシーファイルシステムを NFS で共有する場合は、ZFS の sharenfs プロパティを設定しておく必要があります。sharenfs プロパティの設定方法については、ZFS のマニュアル ZFS(1M) を参照してください。以下はファイルシステムapp/homeにsharenfs(on指定)を設定する例です。
# zfs set sharenfs=on app/home
ZFSストレージプールのexport
zpool exportコマンドにより、上記で作成したZFSストレージプールをexportします。
# zpool export app
PRIMECLUSTERでZFSを使用する場合、以下の運用上の注意があります。
import先、マウント先にファイルを配置したり他のファイルシステムをマウントしないでください。ZFSリソースのOnline処理において、ZFSストレージプールのimport、ZFSファイルシステムのマウントが行なわれます。このため、そのimport先のディレクトリやファイルシステムのマウントポイントにファイルを配置したり他のファイルシステムをマウントした状態にしていると、userApplicationの起動やフェイルオーバが失敗することがあります。
userApplication起動時、ZFSストレージプールはexportされた状態にしておく必要があります。ZFSストレージプール作成後、設定が完了したら“6.4.1.2 設定手順”の5の手順に従いexportしてください。また、バックアップなどの目的で手動でimportした場合も、userApplication起動前にはexportしておいてください。importしたままの状態では、userApplicationの起動に失敗します。
ZFSストレージプール作成後は、GDSの物理特殊ファイル(/dev/sfdsk/class/dsk/volumeおよび/dev/sfdsk/class/rdsk/volume)経由でアクセスしないでください。
非レガシーzfsファイルシステムにおいて、sharenfsプロパティーまたはshare.nfsプロパティーにonを設定したデータセットのマウントポイントに対し、unshareコマンドを実行しないようにしてください。
また、zfs set -c によりZFS共有を削除しないで下さい。これらのコマンドを実行すると、データセットを含むプールの起動時にマウントポイントがNFS公開されないため、リソース異常を検出し、userApplicationを起動できなくなります。
unshareコマンドを誤って実行した場合は、すべてのノードのRMSを停止後、手動で非レガシーZFSファイルシステムのimportを実行し、unshareコマンドを実行したディレクトリに対し、shareコマンドを実行してください。
その後、ZFS共有を削除し、非レガシーZFSファイルシステムをexportしてください。
zfs set -c コマンドによりZFS共有を誤って削除した場合は、すべてのノードのRMSを停止後、手動で非レガシーZFSファイルシステムのimportを実行し、ZFS 共有を削除したいデータセットに対してsharenfsプロパティーまたはshare.nfsプロパティーを、off に設定してください。その後、非レガシーZFSファイルシステムをexportしてください。