クラスターストレージとしてNFSファイルサーバー(Network Attached Storage)を使用するためにLifeKeeperを設定するにあたっていくつかの特別な考慮事項があります。

Recovery Kit for Network Attached Storageの使用

オプションのRecovery Kit for Network Attached Storageは、LifeKeeper for LinuxでNFSサーバーを共有ストレージアレイとして使用する場合に必要になります。各クラスターノードにRecovery Kit for Network Attached Storage(およびライセンス)をインストールしてください。詳細については、 Recovery Kit for Network Attached Storage のドキュメンテーションを参照してください。

エラーメッセージ

MySQLとNetwork Attached Storage(NAS)を使用する際に、システムクラッシュによりMy SQLインスタンスがフェイルオーバー後に再起動できないといった事象に遭遇する可能性があります。MySQLエラーログで、エラーの原因が分かります。

MySQL 5.0

110523 22:10:58 mysqld started
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
110523 22:10:58 InnoDB: Retrying to lock the first data file
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.

MySQL 5.5

110524 10:52:20 InnoDB: The InnoDB memory heap is disabled
110524 10:52:20 InnoDB: Mutexes and rw_locks use GCC atomic builtins
110524 10:52:20 InnoDB: Compressed tables use zlib 1.2.3
110524 10:52:20 InnoDB: Initializing buffer pool, size = 128.0M
110524 10:52:20 InnoDB: Completed initialization of buffer pool
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
110524 10:52:20 InnoDB: Retrying to lock the first data file
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.

これはLifeKeeperによって制御されているNFSファイルシステム上で、MySQL mysqldプロセスが ibdata1 ファイルをNFS lockに設定しているということを示しています。システムクラッシュによりロックがクリアされなかったので、LifeKeeperはMySQLインスタンスをIn Serviceの状態に戻すことができません。MySQLは何か別のプロセスが ibdata1 ファイルを使用しているとみなします。

解決方法

この事象を解決するためには、ファイルシステムリソースを作成する前に「nolock」とよばれるNFSのオプションで ibdata1 を格納する予定のNFSファイルシステムをマウントしてください。デフォルトでは、NFSはファイルをロックさせるよう設定しています。「nolock」オプションがリソース作成前に使用されると、LifeKeeperはこのオプションを認識し、ファイルシステムリソースをIn Serviceの状態にするたびにこのオプションを使用します。LifeKeeperは(クラスターノードから)ibdata1を含んだファイルシステムへのアクセスを制御するので、通常、ロックは重要ではありません。テスト中に使用されるNFSマウントオプションは「rw,sync,tcp,nfsvers=3,nolock」です。

MySQLのバイナリーが格納されているファイルシステムといったようなMySQLリソース階層によって使用されるその他のファイルシステム上で「nolock」を使用する必要はありません。

NASファイルシステムリソースがすでに「nolock」オプション設定なしに作成されている場合は以下の手順に従ってマウントオプションを変更してください。

  1. LifeKeeper GUIを使用して変更する必要があるファイルシステムリソースに対してOut of Service操作を行ってください。この操作は LifeKeeper GUIでファイルシステムリソース上にポインタを置き、右クリックしてドロップダウンメニューから [Out of Service] を選択することで可能です。この操作は親リソースも同じくOut of Service状態にします。

  1. [Out of Service] 操作を実行し、プロセスを完了させてください。
  1. 一旦ファイルシステムリソースがOut of Service状態になったら、ポインタをリソース上に置き右クリックし、ドロップダウンメニューから [Change Mount Options] を選択してください。

  1. ポップアップウィンドウで、オプションの行に 「nolock」 を追加し、 [Set Value] をクリックしてください。クラスターの各ノードで手順3および4を繰り返す必要があります。

  1. マウスを右クリックし、 [In Service] を選択し、NASファイルシステムリソースをIn Serviceの状態に戻してください。
  1. ファイルシステムリソースのプロパティパネルが、「nolock」が現在のマウントオプションであることを表示します。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信