VERITAS ClusterServer 資料一覧
2007/9/1更新
対応バージョン: 2
標準で用意されているNFSリソースはタイプがOnOnlyになっているのでそのままでは別のリソースとの接続ができない。
そこでNFSサーバの起動スクリプト(/etc/init.d/nfs.server)を変更し、OSブート時にはNFSのサーバ群「だけ」を起動するようにし、ShareについてはVCSのShareタイプを使って管理するようにする。
以下に作業手順を示す。
通常(OS標準)のShareシーケンス停止
# /usr/sbin/unshareall -F nfs
/etc/dfs/dfstabからShare部分をコメントアウト
NFSサーバの起動スクリプト変更
# cd /etc/init.d # cp -p nfs.server nfs.server.org (*)
(*) 上記作業はmvではなくcpにする。これは以下のファイルがnfs.serverにハードリンクしているため、mvすると新しいnfs.serverのiノード番号が変わってしまい、リンクを張り直す必要がでてきてしまうからである。
/etc/rc0.d/K28nfs.server /etc/rc1.d/K28nfs.server /etc/rc2.d/K28nfs.server /etc/rc3.d/S15nfs.server /etc/rcS.d/K28nfs.server
/etc/dfs/dfstab内にnfsタイプのShareが指定されていなくてもNFSサーバ関連デーモン(mountd,nfsd)が起動するように同デーモン起動スイッチを最初から1(ON)にしておく
# vi nfs.server : 35 startnfsd=0 ← 0を1にする :
VCSエージェント作成
ShareをVCS管理下で行なうためのVCSエージェントを作成する。
エージェントの設定はクラスタメンバの1つのマシン上で行なえばよい。
ここでは例として以下のようなShareエージェントを作成するものとして説明する。
システム
sysa,sysb
メンバグループ
grpa,grpb
リソース名
grpa_Share_ap (grpaに所属)
依存リソース
grpa_Mount_ap
Shareポイント
/opt/ap
Shareオプション
rw(Read Write)
host_aとhost_bからのrootの書き込み可
リソース定義モード変更(書き込み不可 → 可)
# haconf -makerw
リソース定義
# hares -add grpa_Share_ap Share grpa # hares -modify grpa_Share_ap Critical 0 (*)
(*) 通常運用ではこの値を1(ON)にする。1にするとこのリソースにエラーが発生したり手動でオフラインにした場合に他のリソースを含めて全体がフェールオーバするのでテスト時には0にしておいてこのリソース単体の試験等によって全体がフェールオーバするのを防ぐ。
# hares -modify grpa_Share_ap PathName "/opt/ap" # hares -modify grpa_Share_ap Options "rw,root=host_a:host_b" # hares -link grpa_Share_ap grpa_Mount_ap
リソース有効化 & online
# hares -modify grpa_Share_ap Enabled 1 # hares -online grpa_Share_ap -sys sysa
リソース状況チェック
# hares -display grpa_Share_ap #Resource Attribute System Value grpa_Share_ap Group global sysa grpa_Share_ap Type global Share grpa_Share_ap AutoStart global 1 grpa_Share_ap Critical global 0 grpa_Share_ap Enabled global 1 grpa_Share_ap LastOnline global sysa grpa_Share_ap MonitorOnly global 0 grpa_Share_ap ResourceOwner global unknown grpa_Share_ap TriggerEvent global 0 grpa_Share_ap ArgListValues sysa /opt/ap "" grpa_Share_ap ArgListValues sysb /opt/ap "" grpa_Share_ap ConfidenceLevel sysa 100 grpa_Share_ap ConfidenceLevel sysb 0 grpa_Share_ap Flags sysa grpa_Share_ap Flags sysb grpa_Share_ap IState sysa not waiting grpa_Share_ap IState sysb not waiting grpa_Share_ap Probed sysa 1 grpa_Share_ap Probed sysb 1 grpa_Share_ap Start sysa 1 grpa_Share_ap Start sysb 0 grpa_Share_ap State sysa ONLINE grpa_Share_ap State sysb OFFLINE grpa_Share_ap Options global rw,root=host_a:host_b grpa_Share_ap PathName global /opt/ap
確認
# share - /opt/ap rw,root=host_a:host_b ""
フェールオーバ確認
# hagrp -switch grpa -to sysb
この段階でsysb上でshareが正しく行われていることを確認し、問題なければフェールバックする。
# hagrp -switch grpa -to sysa
リソース設定変更
リソース定義時に0に設定していたCriticalフラグを必要に応じて1(フェールオーバ対象)に設定する。
hares -modify grpa_Share_ap Critical 1
リソース定義モード変更(書き込み可 → 不可)
# haconf -dump -makero
このようにNFSサーバとShareの関連性を切ることによってフェールオーバ時にもNFSのサーバ群には影響を与えずにUnshare/ShareがVCSの管理下で行える。