障害ストレージボリュームのリカバリとCassandraデータベースの再構築
障害が発生したストレージボリュームでストレージを再フォーマットして再マウントするスクリプトを実行し、システムが必要であると判断した場合にはストレージノードの Cassandra データベースを再構築する必要があります。
-
を用意しておく必要があります
Passwords.txt
ファイル。 -
サーバ上のシステムドライブに損傷がないことが必要です。
-
障害の原因 を特定し、必要に応じて交換用ストレージハードウェアを入手しておく必要があります。
-
交換用ストレージの合計サイズは、元のストレージと同じである必要があります。
-
ストレージノードの運用停止処理が進行中でないこと、またはノードの手順 の運用停止処理が一時停止されていることを確認しておきます(Grid Managerで、* Maintenance * Maintenance Tasks * Decommission *を選択します)。
-
拡張が進行中でないことを確認しておきます(Grid Managerで、* Maintenance * Maintenance Tasks * Expansion *を選択します。)
-
ストレージボリュームのリカバリに関する警告を確認しておく必要があります。
-
必要に応じて、前述の手順で特定してアンマウントした障害ストレージボリュームに関連付けられた、障害が発生した物理または仮想ストレージを交換します。
ストレージを交換したら、オペレーティングシステムによって認識されるようにストレージを再スキャンまたはリブートします。ただし、ボリュームは再マウントしないでください。ストレージが再マウントされてに追加されます
/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 データベースを再構築するよう求められます。
-
警告を確認します。いずれの状況も該当しない場合は、 Cassandra データベースを再構築します。「 * y * 」と入力します
-
複数のストレージノードがオフラインの場合、または別のストレージノードが 15 日以内に再構築されている場合は、「 * n * 」と入力します
スクリプトは Cassandra を再構築せずに終了します。テクニカルサポートにお問い合わせください。
-
-
ストレージノード上の各rangedbドライブについて尋ねられたときは、次のようになります。 `Reformat the rangedb drive <name> (device <major number>:<minor number>)? [y/n]?`で、次のいずれかの応答を入力します。
-
* y * :エラーが発生したドライブを再フォーマットします。ストレージボリュームが再フォーマットされ、にストレージボリュームが追加されます
/etc/fstab
ファイル。 -
*n * ドライブにエラーがなく、ドライブを再フォーマットしない場合。
*n * を選択すると、スクリプトが終了します。ドライブをマウントするか(ドライブ上のデータを保持する必要があり、ドライブが誤ってアンマウントされた場合)、ドライブを取り外します。次に、を実行します reformat_storage_block_devices.rb
コマンドをもう一度実行します。
一部の StorageGRID リカバリ手順では、 Reaper を使用して Cassandra の修復を処理します。関連サービスまたは必要なサービスが開始されるとすぐに修理が自動的に行われます。スクリプトの出力には、「 reaper 」または「 Cassandra repair 」が含まれていることがあります。 修復が失敗したことを示すエラーメッセージが表示された場合は、エラーメッセージに示されたコマンドを実行します。 -
次の出力例では、ドライブが表示されています
/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.
-