障害ストレージ ボリュームのリカバリとCassandraデータベースの再構築

障害が発生したストレージ ボリュームでストレージを再フォーマットして再マウントするスクリプトを実行し、システムが必要であると判断した場合にはストレージ ノードのCassandraデータベースを再構築する必要があります。

開始する前に

手順

  1. 必要に応じて、すでに特定してアンマウント済みの、障害ストレージ ボリュームに関連して障害が発生した物理または仮想ストレージを交換します。
    ストレージを交換したら、オペレーティング システムによって認識されるようにストレージを再スキャンまたはリブートします。ただし、ボリュームは再マウントしないでください。ストレージは以降の手順で再マウントして/etc/fstabに追加します。
  2. サービス ラップトップから、障害が発生したストレージ ノードにログインします。
    1. 次のコマンドを入力します:ssh admin@grid_node_IP
    2. Passwords.txtファイルに含まれているパスワードを入力します。
    3. 次のコマンドを入力してrootに切り替えます:su -
    4. Passwords.txtファイルに含まれているパスワードを入力します。
    rootとしてログインすると、プロンプトが$から#に変わります。
  3. テキスト エディタ(viまたはvim)を使用して、/etc/fstabファイルから障害ボリュームを削除し、このファイルを保存します。
    注:/etc/fstabファイルで障害ボリュームをコメント アウトするだけでは不十分です。リカバリ プロセスではfstabファイルのすべての行がマウントされたファイルシステムと一致するかどうかが検証されるため、fstabからボリュームを削除する必要があります。
  4. 障害ストレージ ボリュームを再フォーマットし、必要に応じて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コマンドをもう一度実行します。

    次の出力例では、ドライブ/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.