シングルノード・マルチディスク(SNMD)
単一サーバーに RustFS をインストールし、データを複数のディスクに分散します。
シングルノード・マルチディスク(SNMD)モードでは、1 台のサーバーが複数のデータディスクにデータを分散します。各オブジェクトは K 個のデータシャードと M 個のパリティシャード(イレイジャーコーディング)に分割されるため、最大 M 台のディスクを失ってもデータは失われません。
SNMD は、中規模で重要度の低いワークロードに適しています。このデプロイでは、最大 M 台のディスクを失ってもデータは失われません。ただし、サーバー全体が故障した場合、または M 台を超えるディスクが損傷した場合は、データが失われます。重要なデータはバックアップを残します。ノード単位の耐障害性には、MNMD を使います。
トポロジーと計画
- 複数のデータディスクを持つサーバー 1 台(この例では
/data/rustfs0から/data/rustfs3にマウントした 4 台のディスク)。 - イレイジャーコーディングは、データシャードとパリティシャードをディスク間に分散します。耐障害性は、単一ノード内のディスク障害に限られます。
- 前提条件のページで説明しているとおり、各ディスクを XFS でフォーマットし、個別にマウントします(例: ラベル
RUSTFS0~RUSTFS3)。 - 本番デプロイでは、インストール前チェックリスト も確認します。
前提条件とサービスのセットアップ
共通の前提条件とサービスのセットアップ(オペレーティングシステム、ファイアウォール、時刻同期、ディスクのフォーマット、サービスユーザー、バイナリのダウンロード、systemd ユニット)を完了してから、以下に進みます。
環境変数を設定する
- 設定ファイルを作成します。
RUSTFS_VOLUMESは、ブレース展開で 4 つのディスクマウントポイントを列挙します。
# Use a unique access key and a strong, random secret (e.g. openssl rand -base64 24)
RUSTFS_ACCESS_KEY=<your-access-key>
RUSTFS_SECRET_KEY=<your-secret-key>
RUSTFS_VOLUMES="/data/rustfs{0...3}"
RUSTFS_ADDRESS=":9000"
RUSTFS_CONSOLE_ENABLE=true
RUSTFS_CONSOLE_ADDRESS=":9001"
RUSTFS_OBS_LOGGER_LEVEL=error
RUSTFS_OBS_LOG_DIRECTORY="/var/log/rustfs/"- ストレージとログのディレクトリを作成します。
sudo mkdir -p /data/rustfs{0..3} /var/log/rustfs /opt/tls
sudo chmod -R 750 /data/rustfs* /var/log/rustfsサービスを起動して確認する
- サービスを起動し、起動時に開始するよう有効にします。
sudo systemctl enable --now rustfs- サービスの状態を確認します。
systemctl status rustfs- サービスのポートを確認します。
netstat -ntpl- ログファイルを表示します。
tail -f /var/log/rustfs/rustfs*.log- Console にアクセスします。ブラウザーにサーバーの IP アドレスと Console のポート(既定は 9001)を入力すると、次のように表示されます。

次のステップ
- ノード単位の耐障害性と水平スケーラビリティが必要な場合は、マルチノード・マルチディスク(MNMD) を参照します。
- 試すだけの場合は、シングルノード・シングルディスク(SNSD) のほうがセットアップは簡単です。