12.5. オブジェクトストレージノードの置き換え
本項の手順で、クラスターの整合性を保ちながらオブジェクトストレージノードを置き換える方法を説明します。以下の例では、3 台のノードで構成されるオブジェクトストレージクラスターで、ノード overcloud-objectstorage-1
を置き換えます。この手順の目的は、ノードを 1 台追加し、その後 overcloud-objectstorage-1
を削除することです (結果的に、置き換えることになります)。
手順
ObjectStorageCount
パラメーターを使用してオブジェクトストレージ数を増やします。このパラメーターは、通常ノード数を指定する環境ファイルのnode-info.yaml
に含まれています。parameter_defaults: ObjectStorageCount: 4
ObjectStorageCount
パラメーターで、環境内のオブジェクトストレージノードの数を定義します。今回の例では、ノードを 3 つから 4 つにスケーリングします。更新した
ObjectStorageCount
パラメーターを使用して、デプロイメントコマンドを実行します。$ source ~/stackrc (undercloud) $ openstack overcloud deploy --templates -e node-info.yaml ENVIRONMENT_FILES
- デプロイメントコマンドの実行が完了すると、オーバークラウドには追加のオブジェクトストレージノードが含まれるようになります。
新しいノードにデータを複製します。ノードを削除する前に (この場合は
overcloud-objectstorage-1
)、複製のパス が新規ノードで完了するのを待ちます。/var/log/swift/swift.log
ファイルで複製パスの進捗を確認することができます。パスが完了すると、Object Storage サービスは以下の例のようなエントリーをログに残します。Mar 29 08:49:05 localhost object-server: Object replication complete. Mar 29 08:49:11 localhost container-server: Replication run OVER Mar 29 08:49:13 localhost account-server: Replication run OVER
リングから不要になったノードを削除するには、
ObjectStorageCount
パラメーターの数を減らして不要になったノードを削除します。今回は 3 に減らします。parameter_defaults: ObjectStorageCount: 3
新規環境ファイル (
remove-object-node.yaml
) を作成します。このファイルでオブジェクトストレージノードを特定し、そのノードを削除します。以下の内容ではovercloud-objectstorage-1
の削除を指定します。parameter_defaults: ObjectStorageRemovalPolicies: [{'resource_list': ['1']}]
デプロイメントコマンドに
node-info.yaml
ファイルとremove-object-node.yaml
ファイルの両方を含めます。(undercloud) $ openstack overcloud deploy --templates -e node-info.yaml ENVIRONMENT_FILES -e remove-object-node.yaml
director は、オーバークラウドからオブジェクトストレージノードを削除して、オーバークラウド上の残りのノードを更新し、ノードの削除に対応します。
最初に作成したオーバークラウドからの環境ファイルおよびオプションをすべて追加するようにしてください。これには、コンピュート以外のノードに対する同様のスケジューリングパラメーターが含まれます。