障害が発生したストレージ ボリュームでストレージを再フォーマットして再マウントするスクリプトを実行し、システムが必要であると判断した場合にはストレージ ノードのCassandraデータベースを再構築する必要があります。
開始する前に
- Passwords.txtファイルが必要です。
- サーバ上のシステム ドライブに損傷がないことが必要です。
- 障害の原因を特定し、必要であれば交換用のストレージ ハードウェアを入手しておく必要があります。
- 交換用ストレージの合計サイズは、元のストレージと同じであることが必要です。
- ストレージ ノードの運用停止処理が進行中でないこと、または運用停止処理が一時停止されていることを確認しておきます (グリッド管理インターフェイスで、に移動します)。
- ストレージ ノードの拡張が進行中でないことを確認しておきます (グリッド管理インターフェイスで、に移動します)。
- 「ストレージ ボリュームのリカバリに関する警告の確認」を読んでおく必要があります。
手順
- 必要に応じて、すでに特定してアンマウント済みの、障害ストレージ ボリュームに関連して障害が発生した物理または仮想ストレージを交換します。
ストレージを交換したら、オペレーティング システムによって認識されるようにストレージを再スキャンまたはリブートします。ただし、ボリュームは再マウントしないでください。ストレージは以降の手順で再マウントして/etc/fstabに追加します。
- サービス ラップトップから、障害が発生したストレージ ノードにログインします。
- 次のコマンドを入力します:ssh admin@grid_node_IP
- Passwords.txtファイルに含まれているパスワードを入力します。
- 次のコマンドを入力してrootに切り替えます:su -
- Passwords.txtファイルに含まれているパスワードを入力します。
rootとしてログインすると、プロンプトが$から#に変わります。
- テキスト エディタ(viまたはvim)を使用して、/etc/fstabファイルから障害ボリュームを削除し、このファイルを保存します。
注:/etc/fstabファイルで障害ボリュームをコメント アウトするだけでは不十分です。リカバリ プロセスではfstabファイルのすべての行がマウントされたファイルシステムと一致するかどうかが検証されるため、fstabからボリュームを削除する必要があります。
- 障害ストレージ ボリュームを再フォーマットし、必要に応じてCassandraデータベースを再構築します。次のコマンドを入力します。 reformat_storage_block_devices.rb
- ストレージ サービスが実行されている場合は、停止するよう求められます。「y」と入力します。
- 必要に応じてCassandraデータベースを再構築するよう求められます。
- ストレージ ノード上の各rangedbドライブについて「Reformat the rangedb drive <name> (device <major number>:<minor number>)? [Y/n]?」と尋ねられたら、次のいずれかの応答を入力します。
- y:エラーが発生したドライブを再フォーマットする場合。ストレージ ボリュームが再フォーマットされ、そのストレージ ボリュームが/etc/fstabファイルに追加されます。
- n:ドライブにエラーがなく、ドライブを再フォーマットしない場合。
注:「n」を選択するとスクリプトが終了します。ドライブをマウントする(ドライブ上のデータを保持する必要があり、ドライブが誤ってアンマウントされた場合)か、または取り外します。次に、reformat_stroage_block_devices.rbコマンドをもう一度実行します。
次の出力例では、ドライブ/dev/sdfの再フォーマットは必要ですが、Cassandraを再構築する必要はありませんでした。
root@DC1-S1:~ # reformat_storage_block_devices.rb
Storage services must be stopped before running this script.
Stop storage services [y/N]? y
Shutting down storage services.
Storage services stopped.
Formatting devices that are not in use...
Skipping in use device /dev/sdc
Skipping in use device /dev/sdd
Skipping in use device /dev/sde
Reformat the rangedb drive /dev/sdf (device 8:64)? [Y/n]? y
Successfully formatted /dev/sdf with UUID c817f87f-f989-4a21-8f03-b6f42180063f
Skipping in use device /dev/sdg
All devices processed
Running: /usr/local/ldr/setup_rangedb.sh 12075630
Cassandra does not need rebuilding.
Starting services.
Reformatting done. Now do manual steps to
restore copies of data.