Xsan ボリュームのフェイルオーバーに関する問題のトラブルシューティング

Xsan ボリュームのフェイルオーバーに関する問題のトラブルシューティングについて説明します。

「ボリュームのフェイルオーバー」とは?

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 以降の場合

  1. Xsan Admin を開きます。
  2. 「ボリューム」パネルをクリックします。
  3. 各ボリュームで黄色の感嘆符「!」が表示されていないか確認します。
  4. ボリュームに感嘆符が表示されていた場合、少なくとも 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 以降  

  1. Xsan Admin を開いて、「ボリューム」パネルを選択します。テスト対象の Xsan ボリュームの「ホストサーバ」の値を確認します。
  2. アクションボタンをクリックし、「強制的にフェイルオーバーを行う」を選択します。
  3. フェイルオーバーさせた Xsan ボリュームの「ホストサーバ」の値を確認します。フェイルオーバーが正しく行われた場合は、スタンバイ側の MDC 名が表示されています。

Xsan 1.4.2 以前

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

    sudo cvadmin -e 'fail YourVolumeName'

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

関連情報

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

公開日: