プールの拡張
RustFS クラスターにストレージプールを追加し、Console または rc で拡張後のトポロジーを確認します。
概要
要件
- このガイドで
rcの手順を使う前に、管理用ホストにrcをインストールします。 - RustFS のクラスター状態とプール状態を読み取る権限を持つ認証情報を設定します。
RustFS は、クラスターのトポロジーへ サーバープール を追加して容量を拡張します。各プールは、RUSTFS_VOLUMES 内でスペース区切りになったボリューム式の 1 つです。拡張したトポロジーを適用すると、新しい書き込みは追加された容量を使えます。既存のオブジェクトは、リバランス を実行するまで、現在のプールに残ります。
このガイドでは、次の 2 つのプールを例にします。
RUSTFS_VOLUMES="http://rustfs-node1:9000/data/rustfs{1...4}/mnmd http://rustfs-node2:9000/data/rustfs{1...4}/mnmd"拡張の前に、次を行います。
- 重要なデータをバックアップし、メンテナンス時間帯に手順を実行します。
- すべてのノードで、同じ RustFS のバージョン、同じ認証情報、完全な
RUSTFS_VOLUMESの値を使います。 - 既存のノードと新しいノードのすべてについて、名前解決、時刻同期、ポート
9000の疎通を確認します。 - 新しいプールは、意図したディスク数とストレージ仕様で準備します。
プールは追加し、トポロジーは置き換えない
すべてのノードは、順序を保った完全なプール一覧で起動する必要があります。既存のプールを省いたり、1 つのノードで別の式を使ったりすると、トポロジーが不整合になります。
操作
Console を補助にして拡張する
Console はストレージプールを表示します。サーバー起動時のトポロジーへプールを追加する機能はありません。次の手順では、Console を補助に使います。
- Rebalance(リバランス)または Pool Decommission(プールのデコミッション)で、既存のプールと使用量を記録します。
- 新しいプールのノードへ、同じ RustFS のバージョンとサービス設定をインストールします。
- 既存ノードと新規ノードのすべての
RUSTFS_VOLUMESへ、新しいプールの式を追加します。既存の式は変えず、順序も維持します。 - すべてのノードで RustFS を再起動し、各プロセスが同じ拡張後のトポロジーで起動するようにします。
- すべてのノードが準備完了になるまで待ち、Console のプール一覧を更新します。

Helm のデプロイでは、pools.list に新しいエントリを追加し、helm upgrade を適用します。既存のエントリは削除せず、順序も変えません。
rc で拡張結果を確認する
クラスターとプールの状態を読み取れる認証情報で、エイリアスを設定します。
rc alias set rustfs http://<server-ip>:9000 <your-access-key> <your-secret-key>現在のトポロジーを記録します。
rc admin pool list rustfs新しいノードを準備し、すべてのノードで完全な RUSTFS_VOLUMES の値に新しいプールの式を追加して、クラスター全体の RustFS を再起動します。rc は、サーバー起動時のトポロジーを変更しません。
クラスターが戻ったあと、プールを再度一覧表示します。
rc admin pool list rustfs0 始まりのプール ID で、新しいプールの詳細を確認します。
rc admin pool status rustfs 1 --by-idリバランスのエイリアス
rc admin expand start、status、stop は、拡張後のリバランス手順のエイリアスです。既存のデータを再配置します。RUSTFS_VOLUMES へプールを追加する操作ではありません。
検証
Console で拡張を検証する
次を確認します。
- プール一覧に、元のプールと新しいプールが表示されること。
- 想定するすべてのノードとディスクがオンラインであること。
- 新しいプールが、想定どおりの合計容量と空き容量を報告すること。
- 通常のトラフィックを再開する前に、クラスターが縮退したノードを報告していないこと。
rc で拡張を検証する
次を実行します。
rc admin pool list rustfs
rc admin pool status rustfs 1 --by-id新しいプールが、想定したコマンドラインの式を持ち、稼働状態であることを確認します。リバランスを開始する前に、通常の S3 エンドポイント経由でテストオブジェクトを書き込み、読み取ります。