この節では、『Sun Cluster のシステム管理 (Solaris OS 版)』内の記述の誤りと記載漏れについて説明します。
テストの目的で、アプリケーションをクラスタ外で実行するには、次の手順に従います。
定足数デバイスが Solaris Volume Manager メタセットで使用されるかどうかを判定し、定足数デバイスが scsi2 または scsi3 予約を使用するかどうかを判別します。
# clquorum show |
定足数デバイスが Solaris Volume Manager メタセット内にある場合、あとで非クラスタモードで取得されるメタセットの一部ではない定足数デバイスを新しく追加します。
# clquorum add did |
古い定足数デバイスを削除します。
# clqorum remove did |
定足数デバイスが scsi2 予約を使用する場合、scsi2 予約を古い定足数から消し込み、scsi2 予約が残っていないことを確認します。
# /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/dids2 # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/dids2 |
非クラスタモードで起動するノードを退避します。
# clresourcegroup evacuate -n targetnode |
HAStorage または HAStoragePlus リソースを含み、また、あとで非クラスタモードで取得するメタセットの影響を受けるデバイスやファイルシステムを含むリソースグループをすべてオフラインにします。
# clresourcegroup offline resourcegroupname |
オフラインにしたリソースグループ内のすべてのリソースを無効にします。
# clresource disable resourcename |
リソースグループを非管理状態に切り替えます。
# clresourcegroup unmanage resourcegroupname |
対応するデバイスグループをオフラインにします。
# cldevicegroup offline devicegroupname |
デバイスグループを無効にします。
# cldevicegroup disable devicegroupname |
パッシブノードを非クラスタモードで起動します。
# reboot -x |
次に進む前に、パッシブノードで起動プロセスが完了したことを確認します。
Solaris 9
ログインプロンプトが表示されることが起動プロセスの完了を意味しているので、アクションは不要です。
Solaris 10
# svcs -x |
メタセット内のディスクに scsi3 予約があるかどうかを判別します。メタセット内のすべてのディスクで次のコマンドを実行します。
# /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/dids2 |
scsi3 予約がある場合は、消します。
# /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/dids2 |
退避したノード上のメタセットを取得します。
# metaset -s name -C take -f |
メタセット上で定義されたデバイスを含むファイルシステムをマウントします。
# mount device mountpoint |
アプリケーションを起動し、必要なテストを実行します。テスト終了後、アプリケーションを停止します。
ノードを再起動し、起動プロセスが完了するまで待機します。
# reboot |
デバイスグループをオンラインにします。
# cldevicegroup online -e devicegroupname |
リソースグループを起動します。
# clresourcegroup online -eM resourcegroupname |
Sun Cluster は Solaris IP フィルタリングをサポートしますが、次の制限があります。
フェイルオーバーデータサービスのみがサポートされます。
Sun Cluster は、スケーラブルデータサービスと一緒には IP フィルタリングをサポートしません。
ステートレスフィルタリングのみがサポートされます。
NAT ルーティングはサポートされません。
ローカルアドレスの変換のための NAT の使用はサポートされます。NAT 変換は、パケットを無線で書き換えるため、クラスタソフトウェアからは見えません。
/etc/iu.ap ファイル内で、clhbsndr pfil をモジュールリストにリストするようにパブリック NIC エントリを変更します。
pfil は、リストの最後のモジュールである必要があります。
プライベートおよびパブリックネットワークに対して同じタイプのアダプタを使用している場合、/etc/iu.ap ファイルへの編集は、pfil をプライベートネットワークストリームにプッシュします。ただし、ストリーム生成時に、クラスタトランスポートモジュールは望ましくないモジュールをすべて自動的に削除するため、pfil はプライベートネットワークストリームから削除されます。
IP フィルタが非クラスタモードで確実に機能するようにするには、/etc/ipf/pfil.ap ファイルを更新します。
/etc/iu.ap ファイルに対する更新は、多少異なります。詳細は、IP フィルタのマニュアルを参照してください。
影響を受けるすべてのノードを再起動します。
ノードを順次、起動できます。
影響を受けるすべてのノード上の /etc/ipf/ipf.conf ファイルに、フィルタルールを追加します。IP フィルタルールについては、ipf(4) を参照してください。
Sun Cluster ノードにフィルタルールを追加する際は、次のガイドラインと要件に留意してください。
Sun Cluster は、ネットワークアドレスをノードからノードへフェイルオーバーします。フェイルオーバー時に特別な手順やコードは必要ありません。
論理ホストネームの IP アドレスと共有アドレスリソースを参照するすべてのフィルタリングルールは、すべてのクラスタノード上で同一である必要があります。
予備ノードに関するルールは、存在しない IP アドレスを参照します。このルールは、依然として IP フィルタの有効なルールセットの一部であり、フェイルオーバー後にノードがアドレスを受け取ると有効になります。
すべてのフィルタリングルールは、同じ IPMP グループ内のすべての NIC で同一である必要があります。言い換えると、ルールがインタフェース特有の場合、同じ IPMP グループ内のすべてのほかのインタフェースにも同じルールが存在する必要があります。
ipfilter SMF サービスを有効にします。
# svcadm enable /network/ipfilter:default |