ハードウェアチェックリスト

本番の RustFS デプロイに向けた、ハードウェアのサイジングと構成の指針を示します。

計画時の考慮事項

本番に RustFS をデプロイする前に、2 週間から 3 週間をかけてワークロードと容量の要件を評価します。次の点に注目します。

  1. データ量

    • 初期データ量: 稼働開始時の使用可能なデータ量(TiB)と、ホットデータとコールドデータの比率を見積もります。
    • 増加予測: 事業計画に基づき、今後 24 か月のデータ増加を見積もります。増加は四半期ごとに見積もることを推奨します。
    • オブジェクト数: 平均オブジェクトサイズ(理想的には 128 KB から 1 MB)から、オブジェクトの総数を見積もります。オブジェクト数が 1 億を超えるデプロイでは、追加の調整が必要です。
  2. ワークロードの特性

    • アクセスパターン: 読み取り中心のワークロード(コンテンツ配信など)と、書き込み中心のワークロード(ログ収集など)を区別します。
    • コンプライアンス要件: 保持期間は、業界規制を満たす必要があります(例: 一部の金融規制では、少なくとも 5 年の保持が必要です)。
    • マルチサイトデプロイ: リージョンをまたぐデプロイでは、ネットワークレイテンシ(理想的には 50 ms 未満)と帯域のコストを評価します。
  3. ストレージアーキテクチャ

    • バケットの計画: 事業部門ごとにバケットを整理します。クラスターあたりのアクティブなバケットは 500 個以下にすることを推奨します。
    • 災害対策: データの重要度に応じて、アクティブ-アクティブのレプリケーション(推奨)または非同期レプリケーションを選びます。

ハードウェア構成マトリックス

負荷テストの結果に基づく基準構成は次のとおりです。

コンポーネントエントリー標準的な本番高性能
ノード数4 ノード8 ノード16 ノード以上
ストレージ媒体4× NVMe SSD8×NVMe SSD12×NVMe SSD
ネットワーク構成デュアル 25GbE(リンクアグリゲーション)デュアル 100GbE200GbE
CPU2×Intel Silver 4310(16 コア)2×AMD EPYC 7313(32 コア)2×Intel Platinum 8461Y(48 コア)
メモリ64 GB DDR4-3200 ECC256 GB DDR5-4800 ECC512 GB DDR5-5600 ECC
ストレージコントローラーHBA 9500-8iHBA 9600-16iデュアルコントローラーの冗長構成

デプロイの指針:

  1. 同一構成のノードを使います。各ノードは、同一ロットの同一ハードウェアと、同一のファームウェアバージョンに揃えることを推奨します。
  2. ネットワークは、リーフスパイン構成、物理的に分離したストレージネットワーク、二重のアップリンクを使う必要があります。
  3. 必要なドライブ数に応じて、ノードあたり少なくとも 12 のドライブベイを備えた 2U サーバーを推奨します。

性能チューニング

ネットワークトポロジーの最適化(最優先)

  • 帯域のサイジング: 使用可能なデータ 1 TB あたり 0.5 Gbps の帯域を用意します(例: データ 100 TB には、50 Gbps の専用帯域が必要です)。
  • レイテンシの要件:
    • ノード間の P99 レイテンシは 2 ms 以下
    • ラック間のレイテンシは 5 ms 以下

ストレージサブシステムのチューニング

  • コントローラーの設定:
    • 先読みキャッシュを有効にします(256 MB 以上を推奨)。
    • すべての RAID 機能を無効にし、パススルー(HBA/JBOD)モードを使います。
    • BBU の状態を定期的に確認します。
  • SSD のパラメーター:
    • 耐久性を高めるため、20% のオーバープロビジョニング(OP)領域を確保します。
    • アトミック書き込みを有効にします(ハードウェアの対応が必要です)。

メモリの割り当て

  • 配分比率:
    • メタデータキャッシュ: 総メモリの 60%
    • 読み書きバッファー: 30%
    • システム予約: 10%

ネットワーク設計の参照モデル

ネットワーク帯域とディスク数

ネットワーク理論スループットディスクの種類ノードあたりの最大ディスク数
10GbE1.25 GB/s7.2K HDD(180 MB/s)8 ディスク
25GbE3.125 GB/sSATA SSD(550 MB/s)6 ディスク
100GbE12.5 GB/sNVMe Gen4(7 GB/s)2(読み書きを最高速度で行う場合)

例: 動画プラットフォームが、16 ノードのクラスターを運用しています。各ノードの構成は次のとおりです。

  • 8×7.68 TB NVMe SSD
  • デュアル 100GbE の NVIDIA ConnectX-5 NIC
  • 合計スループットは 38 GB/s に達します

メモリ容量の見積もり

ディスク容量とワークロードの種類に基づいてメモリを見積もるには、次の式を使います。

# Memory calculation formula (unit: GB)
def calc_memory(data_tb, access_pattern):
 base = 32 # Base memory
 if access_pattern == "read_heavy":
 return base + data_tb * 0.8
 elif access_pattern == "write_heavy":
 return base + data_tb * 1.2
 else: # mixed
 return base + data_tb * 1.0

参照サイズ:

データサイズ読み取り中心書き込み中心混合
10 TB40 GB44 GB42 GB
100 TB112 GB152 GB132 GB
500 TB432 GB632 GB532 GB

ストレージの指針

ストレージ媒体の選択

指標HDDSATA SSDNVMe(必須)
レイテンシの要件50 ms 超1〜10 ms1 ms 未満
スループットの要件500 MB/s 未満500 MB〜3 GB/s3 GB/s 超
典型的な用途アーカイブストレージホットデータのキャッシュリアルタイム分析

ファイルシステムの設定

sudo mkfs.xfs -f -i size=512 -n ftype=1 -L RUSTFS0 /dev/sdb

高可用性

  1. 電源:

    • 二重化(冗長)電源を使います。
    • 各 PDU を別々の電源系統に接続します。
    • 少なくとも 30 分の稼働時間がある UPS を用意します。
  2. 冷却の要件:

    • ラックの電力密度は、1 ラックあたり 15 kW 以下にします。
    • 吸気と排気の温度差(ΔT)を 8 °C 以内に保ちます。
  3. ファームウェアの管理:

    • ハードウェアの互換性マトリックスを維持します。
    • ノード間でファームウェアのバージョンを統一します。

本番稼働の前に

本番稼働の前に、次のシナリオを含む 72 時間のストレステストを実施することを推奨します。

  1. ノードのフェイルオーバーテスト
  2. ネットワーク分断のテスト
  3. バースト書き込みの負荷テスト(理論上の最大値の 120% でテストすることを推奨します)

このガイドは、最新の RustFS 開発バージョンに基づいています。本番デプロイでは、ハードウェアベンダーのドキュメントに従って、これらの設定を調整します。ハードウェアの健全性を四半期ごとに評価する場合は、RustFS に問い合わせてください。

On this page