「ボリュームのフェイルオーバー」とは?
1 つの Xsan ボリュームが 2 台以上のメタデータコントローラ (MDC) によってホストされている場合、1 台の MDC で障害が発生すると、もう 1 台の MDC が Xsan ボリュームの制御を引き継ぎます。このように、スタンバイ側の MDC がもう一方の MDC のホスト機能を引き継ぐことを「フェイルオーバー」と言います。
フェイルオーバー関連の通信について
Xsan の設定中、Xsan メタデータ通信を行うサブネットを指定します。このサブネットを通じて、MDC はフェイルオーバー関連のハートビートを送受信します。ネットワークの状態や誤設定が原因で、ハートビートの送受信ができなくなると、フェイルオーバーが正常に行われません。
メタデータ通信用のインターフェイスは、以下の方法で識別できます。
Xsan 2.0 以降:
Xsan Admin を開いて、「概要」パネルを選択します。「詳細な情報」セクションに「メタデータサブネット」が表示されます。
Xsan 1.4.2 以前:
Xsan Admin を開いて、「作成」>「コンピュータ」の順に選択します。各 MDC の設定を確認します。メタデータ通信を行うサブネットを指定する「SAN へのアクセス方法」を確認します。
フェイルオーバーが発生する状況
次のような状況では、すべての Xsan ボリュームがフェイルオーバーする可能性があります。
- 
	
- メタデータ通信用の Ethernet ネットワークを使って、スタンバイ側の MDC からアクティブ側の MDC にアクセスできない場合。 
	
- アクティブ側の MDC が再起動またはシステム終了された場合。 

次の状況では、特定の Xsan ボリュームがフェイルオーバーします。
- 
	
- アクティブ側の MDC が、ボリュームに関連付けられた LUN を認識できない場合。 
	
- Xsan Admin または cvadmin がボリュームのフェイルオーバーに使われている場合。 

注意:フェイルオーバーの発生後、フェイルオーバー前にボリュームをホストしていた MDC が再びホストとなるように、自動的にフェイルオーバーすることはありません。
下記の推奨手順を実行して、フェイルオーバー関連の問題のトラブルシューティングを行ってください。
ネットワークパスを確認する
ping コマンドを使って、メタデータ用の Ethernet ネットワーク上にある各 MDC 間にネットワークパスが確立されていることを確認します。ファイアウォールのルールによって MDC 間の通信が妨げられていないことを確認してください。

メタデータコントローラの fsnameservers の設定を確認する
MDC が別のサブネットを使ってメタデータを送受信するように設定されていると、フェイルオーバーは正常に発生しません。MDC が適切なネットワークインターフェイスを使って通信していることを確認するには、各 MDC 上で「/ライブラリ/Filesystems/Xsan/config」にある fsnameservers ファイルを確認します。fsnameservers ファイルには、各 MDC がメタデータを送受信する際に使うインターフェイスの IP アドレスが設定されているはずです。
たとえば、2 台の MDC で 10.0.0.0/24 サブネットを使ってメタデータ情報を送受信するように設定されている場合、各 MDC の fsnameservers ファイルには、次の行が正しく入力されているはずです。
- 
	
- 10.0.0.1 
	
- 10.0.0.2 

次のように入力されている場合は間違いです。
- 
	
- 10.0.0.1 
	
- 192.168.2.2 

fsnameservers が正しく設定されていない場合は、以下の手順で訂正します。
Xsan 2.0 以降:Xsan Admin を開いて「コンピュータ」パネルを選択します。コンピュータの一覧から、fsnameservers ファイルに誤った IP アドレスが指定されているコンピュータを選択します。アクションボタンをクリックして、「SAN からコンピュータを取り除く」を選択します。コンピュータが取り除かれたら、「+」ボタンをクリックして、そのコンピュータを再び SAN に追加します。コンピュータが SAN に再び追加されたら、各 MDC の fsnameservers ファイルで、内容が更新され、正しい情報が含まれているか確認します。
Xsan 1.4.2 以前:Xsan Admin を開いて、「作成」>「コンピュータ」の順に選択します。各 MDC の設定を確認します。「SAN へのアクセス方法」の設定を確認し、各 MDC がメタデータ用に確保されているサブネットを使ってメタデータを送受信しているかどうか確認します。設定を訂正した後、各 MDC の fsnameservers ファイルで、内容が更新され、正しい情報が含まれているかどうか確認します。
注意:MDC のメタデータ用ネットワークインターフェイスの IP アドレスを変更しても、MDC の fsnameservers ファイルに新しい IP アドレスは自動的に反映されません。MDC の IP アドレスの変更について詳しくは、Xsan の「管理者ガイド」の「コントローラの IP アドレスを変更する」セクションを参照してください。


各 MDC で「fsm」が実行されていることを確認する
Xsan ボリュームがフェイルオーバーするには、スタンバイ側の MDC で、各 Xsan ボリュームの fsm プロセスのインスタンスが実行されている必要があります。下記の手順で、各 MDC で各 Xsan ボリュームの fsm プロセスが実行されていることを確認します。
Xsan Admin 2.1 以降の場合
- 
	
- Xsan Admin を開きます。 
	
- 「ボリューム」パネルをクリックします。 
	
- 各ボリュームで黄色の感嘆符「!」が表示されていないか確認します。 
	
- ボリュームに感嘆符が表示されていた場合、少なくとも 1 台以上の MDC でそのボリュームに関連付けられた fsm プロセスが実行されていません。こちらの記事の推奨手順を実行してください。 

Xsan Admin 2.0 以前の場合
ターミナルで次のコマンドを実行します。
- 
	
- Mac OS X 10.4.x 以前を搭載している場合

	ps -auxwww | grep -i YourVolumeName

	 
	 - Mac OS X 10.5 以降を搭載している場合

	ps auxwww | grep -i YourVolumeName


YourVolumeName は、お使いの Xsan ボリュームの名前に置き換えてください。
次の例の出力は、MyXsanVolume に関連付けられた fsm が実行されていることを示しています。
root 67967 0.0 2.6 289876 54248 ?? Ss 9:00AM 0:32.14 /Library/Filesystems/Xsan/bin/fsm MyXsanVolume MyHost.domain.com 0
Xsan ボリュームに関連付けられた fsm プロセスが実行されていない場合は、MDC を再起動します。再起動後、プロセスが実行されているかどうか確認します。


フェイルオーバーをテストする
注意:フェイルオーバーのテストを行うと、ボリュームがしばらく使えなくなる場合があります。フェイルオーバーのテストは、ボリュームが使えなくなっても支障がない時間帯に行ってください。
Xsan 2.0 以降
- 
	
- Xsan Admin を開いて、「ボリューム」パネルを選択します。テスト対象の Xsan ボリュームの「ホストサーバ」の値を確認します。 
	
- アクションボタンをクリックし、「強制的にフェイルオーバーを行う」を選択します。 
	
- フェイルオーバーさせた Xsan ボリュームの「ホストサーバ」の値を確認します。フェイルオーバーが正しく行われた場合は、スタンバイ側の MDC 名が表示されています。 

Xsan 1.4.2 以前
- 
	
- Xsan Admin の「SAN コンポーネント」サイドバーから Xsan ボリュームを選択し、「ホストサーバ」の値を確認することによって、Xsan ボリュームを管理している MDC を確認します。 
	
- ボリュームのフェイルオーバーを開始するには、ターミナルに次のコマンドを入力します。

	

	sudo cvadmin -e 'fail YourVolumeName'

	 
	 - YourVolumeName は、フェイルオーバーを行う Xsan ボリュームの名前に置き換えてください。 
	
- フェイルオーバーさせた Xsan ボリュームの「ホストサーバ」の値を確認します。フェイルオーバーが正しく行われた場合は、スタンバイ側の MDC 名が表示されています。 

関連情報
こちらの記事を参照してください。