Linux:ストレージ ノードへの直接接続型ボリュームまたはSANボリュームの追加

ストレージ ノードのストレージ ボリュームが16個未満の場合は、新しいブロック ストレージ デバイスを追加してLinuxホストから認識されるようにし、ストレージ ノードのStorageGRID Webscale構成ファイルに新しいブロック デバイス マッピングを追加することで、ストレージ ノードの容量を増やすことができます。

開始する前に

注意:ストレージ ノードへのストレージ ボリュームの追加は、ソフトウェアのアップグレード、リカバリ手順、または別の拡張手順の実行中は行わないでください。

タスク概要

ストレージ ボリュームを追加するときは、ストレージ ノードが一時的に使用できない状態になります。クライアント向けのグリッド サービスへの影響を避けるために、この手順は一度に1つのストレージ ノードでのみ実行するようにしてください。

手順

  1. 新しいストレージ ハードウェアを設置します。
    詳細については、ハードウェア ベンダーが提供しているドキュメントを参照してください。
  2. 必要なサイズの新しいブロック ストレージ ボリュームを作成します。
    • 新しいディスク ドライブを接続してRAIDコントローラ構成を必要に応じて更新するか、共有ストレージ アレイに新しいSAN LUNを割り当ててLinuxホストにアクセスを許可します。
    • 既存のストレージ ノード上のストレージ ボリュームと同じ永続的な命名規則を使用します。
    • StorageGRID Webscaleのノード移行機能を使用する場合は、このストレージ ノードの移行のターゲットとなる他のLinuxホストから新しいボリュームが認識されるようにします。
    詳細については、Red Hat Enterprise LinuxまたはCentOS環境でのStorageGRID Webscaleのインストールに関する手順を参照してください。
  3. ストレージ ノードをサポートするLinuxホストに、rootアカウントまたはsudo権限を持つアカウントでログインします。
  4. 新しいストレージ ボリュームがLinuxホストで認識されていることを確認します。
    場合によってはデバイスの再スキャンが必要になります。
  5. 次のコマンドを実行して、ストレージ ノードを一時的に無効にします。sudo storagegrid node stop <node-name>
  6. vimやpicoなどのテキスト エディタを使用して、ストレージ ノードのノード構成ファイル(/etc/storagegrid/nodes/<node-name>.conf)を編集します。
  7. ノード構成ファイルで、既存のオブジェクト ストレージのブロック デバイス マッピングが含まれているセクションを探します。
    次の例では、このセクションを太字で示しています。
    NODE_TYPE = VM_Storage_Node
    ADMIN_IP = 10.1.0.2
    BLOCK_DEVICE_VAR_LOCAL = /dev/mapper/sgws-sn1-var-local
    BLOCK_DEVICE_RANGEDB_00 = /dev/mapper/sgws-sn1-rangedb-0
    BLOCK_DEVICE_RANGEDB_01 = /dev/mapper/sgws-sn1-rangedb-1
    BLOCK_DEVICE_RANGEDB_02 = /dev/mapper/sgws-sn1-rangedb-2
    BLOCK_DEVICE_RANGEDB_03 = /dev/mapper/sgws-sn1-rangedb-3
    GRID_NETWORK_TARGET = bond0.1001
    ADMIN_NETWORK_TARGET = bond0.1002
    CLIENT_NETWORK_TARGET = bond0.1003
    GRID_NETWORK_IP = 10.1.0.3
    GRID_NETWORK_MASK = 255.255.255.0
    GRID_NETWORK_GATEWAY = 10.1.0.1
  8. このストレージ ノード用に追加したブロック ストレージ ボリュームに対応する新しいオブジェクト ストレージのブロック デバイス マッピングを追加します。
    次のBLOCK_DEVICE_RANGEDB_NNから、 間を空けずに続けて追加してください。
    • 上記の例の場合、BLOCK_DEVICE_RANGEDB_04から始めます。
    • 次の例では、4つのブロック ストレージ ボリュームが新しいノードに追加されています。新しいマッピングは太字で示してあります。
    NODE_TYPE = VM_Storage_Node
    ADMIN_IP = 10.1.0.2
    BLOCK_DEVICE_VAR_LOCAL = /dev/mapper/sgws-sn1-var-local
    BLOCK_DEVICE_RANGEDB_00 = /dev/mapper/sgws-sn1-rangedb-0
    BLOCK_DEVICE_RANGEDB_01 = /dev/mapper/sgws-sn1-rangedb-1
    BLOCK_DEVICE_RANGEDB_02 = /dev/mapper/sgws-sn1-rangedb-2
    BLOCK_DEVICE_RANGEDB_03 = /dev/mapper/sgws-sn1-rangedb-3
    BLOCK_DEVICE_RANGEDB_04 = /dev/mapper/sgws-sn1-rangedb-4
    BLOCK_DEVICE_RANGEDB_05 = /dev/mapper/sgws-sn1-rangedb-5
    BLOCK_DEVICE_RANGEDB_06 = /dev/mapper/sgws-sn1-rangedb-6
    BLOCK_DEVICE_RANGEDB_07 = /dev/mapper/sgws-sn1-rangedb-7
    GRID_NETWORK_TARGET = bond0.1001
    ADMIN_NETWORK_TARGET = bond0.1002
    CLIENT_NETWORK_TARGET = bond0.1003
    GRID_NETWORK_IP = 10.1.0.3
    GRID_NETWORK_MASK = 255.255.255.0
    GRID_NETWORK_GATEWAY = 10.1.0.1
  9. 次のコマンドを実行して、ストレージ ノードのノード構成ファイルに対する変更を検証します。
    sudo storagegrid node validate <node-name>

    エラーや警告がある場合は、次の手順に進む前に対処してください。

    注:次のようなエラーが表示される場合は、<PURPOSE>の目的で<node-name>で使用されているブロック デバイスをLinuxファイル システムの<path-name>にマッピングするようにノード構成ファイルで設定されているが、有効なブロック デバイス スペシャル ファイル(またはブロック デバイス スペシャル ファイルへのソフトリンク)がこのパスにないことを示しています。
    Checking configuration file for node <node-name>…
    ERROR: BLOCK_DEVICE_<PURPOSE> = <path-name>
    <path-name> is not a valid block device
    正しい<path-name>が入力されていることを確認してください。
  10. 次のコマンドを実行して、新しいブロック デバイス マッピングを設定したノードを再起動します。
    sudo storagegrid node start <node-name>
  11. Passwords.txtファイルに含まれているパスワードを使用して、ストレージ ノードにadminとしてログインします。
  12. サービスが正しく開始されることを確認します。
    1. サーバのすべてのサービスのステータスのリストを表示します。sudo storagegrid-status
      ステータスは自動的に更新されます。
    2. すべてのサービスが「Running」または「Verified」になるまで待ちます。
    3. ステータス画面を終了します。Ctrl+C
  13. ストレージ ノードで使用する新しいストレージを設定します。
    1. 新しいストレージ ボリュームを設定します。sudo add_rangedbs.rb
      新しいストレージ ボリュームがすべて検出され、それらをフォーマットするように求められます。
    2. y」と入力して、ストレージ ボリュームをフォーマットします。
    3. 以前にフォーマットされたボリュームが含まれている場合は、それらを再フォーマットするかどうかを指定します。
      • 再フォーマットする場合は「y」と入力します。
      • 再フォーマットをスキップする場合は「n」と入力します。
      ストレージ ボリュームがフォーマットされます。
    4. y」と入力して、このスクリプトを実行する前にストレージ サービスを停止します。

      ストレージ サービスが停止され、rangedbs setupスクリプトが実行されます。ボリュームがrangedbとして使用できるようになると、サービスが再び開始されます。

  14. サービスが正しく開始されることを確認します。
    1. サーバのすべてのサービスのステータスのリストを表示します。sudo storagegrid-status
      ステータスは自動的に更新されます。
    2. すべてのサービスが「Running」または「Verified」になるまで待ちます。
    3. ステータス画面を終了します。Ctrl+C
  15. ストレージ ノードがオンラインであることを確認します。
    1. サポートされているブラウザを使用してGrid Managerにログインします。
      MaintenanceまたはRoot Access権限が必要です。
    2. [Support] > [Grid Topology]を選択します。
    3. [site] > [Storage Node] > [LDR] > [Storage]を選択します。
    4. [Configuration]タブを選択し、[Main]タブを選択します。
    5. [Storage State - Desired]ドロップダウン リストが[Read-only]または[Offline]に設定されている場合は、[Online]を選択します。
    6. [Apply Changes]をクリックします。
      注:次回のリブートまでの間、新しいストレージ ボリュームの書き込みキャッシュ ステータスは「Unknown」になります。
  16. 新しいオブジェクト ストアを確認するには、次の手順を実行します。
    1. [Support] > [Grid Topology]を選択します。
    2. [site] > [Storage Node] > [LDR] > [Storage]を選択します。
    3. [Overview]タブの[Object Stores]テーブルで詳細を確認します。

タスクの結果

拡張したストレージ ノードの容量をオブジェクト データの保存に使用できるようになります。