ストレージ ノードとプロキシ ノードを追加して、Swift クラスタをスケール アウトできます。

重要:

Swift クラスタ内のノードを削除することはできません。クラスタからノードを削除する場合は、クラスタ全体を削除してから、作成し直す必要があります。

クラスタの作成またはストレージ ノードの追加を行った後に別のストレージ ノードを追加するには、所定の時間待つ必要があります。この時間は、クラスタの作成時に --swift-min-part-hours パラメータで設定します。デフォルト値は 1 時間です。

指定した時間が経過する前にストレージ ノードを作成しようとすると、操作に失敗し、Ansible ログに次のエラーが表示されます。No partitions could be reassigned.The time between rebalances must be at least min_part_hours

前提条件

Swift クラスタをデプロイします。Swift コンポーネントの追加を参照してください。

手順

  1. OpenStack 管理サーバviouser としてログインします。
  2. プロキシ ノードをクラスタに追加します。
    sudo viocli swift add-proxy [--proxy-node-count nodes]

    オプション

    説明

    --proxy-node-count

    追加するプロキシ ノードの数。デフォルト値は 1 です。

  3. ストレージ ノードをクラスタに追加します。
    sudo viocli swift add-storage --datastores ds1[,ds2...] [--storage-node-count nodes] [--disk-size gb]

    オプション

    説明

    --datastores

    新しい Swift ストレージ ノードで使用する 1 つ以上のデータストア。エントリが複数ある場合はコンマ (,) で区切ります。

    --storage-node-count

    追加するストレージ ノードの数。デフォルト値は 1 です。

    --disk-size

    各ストレージ ディスクのサイズ(GB 単位)。デフォルト値は 2048 です。

    作成される各ノードのストレージ ディスクは、指定したサイズになります。ディスク サイズが異なるストレージ ノードを作成するには、目的のディスク サイズごとに 1 回コマンドを実行する必要があります。

    または、JSON 形式で目的の仕様を準備し、sudo viocli swift add-storage -f spec-file.json を実行して、ストレージ ノードを追加することもできます。必要な形式の詳細については、viocli swift コマンドを参照してください。