障害が発生したストレージボリュームを復旧し、StorageGRID で Cassandra データベースを再構築します
障害が発生したストレージボリュームのストレージを再フォーマットして再マウントし、システムが必要と判断した場合はストレージノード上の Cassandra データベースを再構築するスクリプトを実行する必要があります。
-
あなたは `Passwords.txt`ファイルを持っています。
-
サーバー上のシステムドライブは損傷していません。
-
障害の原因は特定されており、必要に応じて交換用のストレージハードウェアは既に調達済みです。
-
交換用ストレージの総容量は、元のストレージと同じです。
-
ストレージノードの廃止処理が進行中ではないことを確認したか、またはノードの廃止処理を一時停止しました。(グリッドマネージャーで、Maintenance > Tasks > Decommission を選択します。)
-
拡張処理が進行中ではないことを確認しました。(グリッドマネージャで、「メンテナンス」>「タスク」>「拡張」を選択します。)
-
必要に応じて、以前に特定してマウント解除した障害のあるストレージボリュームに関連付けられている、障害のある物理ストレージまたは仮想ストレージを交換してください。
この手順ではボリュームを再マウントしないでください。ストレージは後の手順で再マウントされ、 `/etc/fstab`に追加されます。
-
グリッドマネージャで、ノード >
appliance Storage Node> *ハードウェア*に移動します。ページのStorageGRIDアプライアンスセクションで、ストレージRAIDモードが正常であることを確認します。 -
障害が発生したストレージノードにログインします。
-
次のコマンドを入力します:
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-
ストレージボリューム0がアンマウントされると、Cassandraサービスが停止されることを示すプロンプトとメッセージが表示されます。
-
必要に応じて、Cassandraデータベースの再構築を求めるプロンプトが表示されます。
-
警告内容を確認してください。いずれにも該当しない場合は、Cassandraデータベースを再構築してください。入力:y
-
複数のストレージノードがオフラインになっている場合。入力: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 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 b951bfcb-4804-41ad-b490-805dfd8df16c All devices processed Running: /usr/local/ldr/setup_rangedb.sh 12368435 Cassandra does not need rebuilding. Starting services. Informing storage services of new volume Reformatting done. Now do manual steps to restore copies of data.
-
ストレージボリュームの再フォーマットと再マウントが完了し、必要な Cassandra 操作が完了したら、"Grid Managerを使用してオブジェクトデータを復元する"。