前提条件:
- 三台及以上 NAS
- 各 NAS にはデュアルイーサネットポートがあります
- 各 NAS の物理ディスクのサイズは同じです
- NAS の BIOS は電源が入ると自動的に起動します
- NAS のシステムディスクは SSD または NVMe で、データディスクは HDD です。または、システムディスクとデータディスクを区別できる場合、ハイアベイラビリティテスト時に間違ったディスクを抜かないように注意してください
簡単な家庭ネットワーク図は以下のようになります
光モデムと 3 つの NAS のイーサネットポート 1 は、ギガビットスイッチを介して接続されています
3 つの NAS のイーサネットポート 2 は、2.5G スイッチを使用して内部ネットワークを構成します
各 NAS の proxmox には、個別の vmbr0 と vmbr1 が設定されていることを確認してください
バインドされるネットワークポートも同じであることを確認してください
vmbr0 は仮想マシンと共有されているため、LAN です
vmbr1 は WAN で、光モデムに接続されています
各 NAS の LAN IP が同じネットワークセグメントに設定されていることを確認してください
クラスタを構成します
クラスタが構成されたら、1 つのノードで ikuai 仮想マシンを作成します
LAN と WAN を追加し、LAN は上記(つまり vmbr0)に配置します
仮想マシンのディスクサイズは小さくても 8GB で十分です。どの NAS にでも適当に配置してください
ikuai をインストールし、インストールが完了したら、LAN のネットワークセグメントを NAS と同じに設定し、ダイヤルアップを行います。ダイヤルアップの設定が完了したら、3 つの NAS にはすべてネットワークがあるはずです。それぞれの NAS でシステムを更新し、再起動してください。
上記は ceph のインストール時にネットワークが利用可能であることを確保するためのものです
クラスタを構成した後、データセンターの ceph をステップバイステップでインストールします。最適な設定は次のとおりです。
osd_pool_default_min_size = 2
osd_pool_default_size = 2
管理者とモニターの 3 つのノードに追加してください
各ノードに大容量のハードディスクをインストールした後、まず初期化してください
osd として追加してください
ceph_fs を作成してください
データセンターのストレージに RBD を作成してください
また、注意が必要な重要なポイントとして、ceph ストレージは各ノードの時刻を定期的に同期する必要があります。時計のずれを防ぐため、各ノードで systemd-timesyncd をインストールしてください
各ノードにログインして、crontab -e を実行してください
*/10 * * * * ntpdate ntp.aliyun.com
10 分ごとに時刻を同期します
以上で、楽しいハイパーコンバージドのプレイができます
たとえば、先ほど作成した ikuai ダイヤルアップ仮想マシンのディスクをローカルから分散ストレージ ceph に移動し、移動が完了したら元のソースを削除して再起動します
NAS のモデルとイーサネットポートが同じであるため、驚くべき効果を得ることができます。私の ikuai ダイヤルアップ仮想マシンは、物理ノードを秒単位で切り替えることができます(他の仮想マシンも同様ですが、メモリ内のデータの移行が主な目的です。ストレージは分散ストレージ ceph にありますので、移行は不要です。テンプレート方式の lxc は移行後に再起動が必要です)。ホットマイグレーションなしでネットワークが途切れることはありません。
高可用性(HA)の設定
次に、簡単な設定を行うだけで、自由に試すことができます。例えば、仮想マシンを作成する(仮想マシンのディスクとデータディスクを ceph rbd に配置)、SMB 共有を作成するなど
高可用性のテスト:
ランダムに 1 つのデータディスクを抜いてみると、SMB 共有が正常に動作し、仮想マシンも正常に動作していることがわかります。また、SMB 経由でデータの読み書きも正常に行えます。ceph タブには、1 つの OSD がオフラインになったことを示す警告が表示されますが、しばらくするとデータの書き込みが完了し、データディスクを再挿入すると、OSD は使用可能になり、書き込まれたデータを自動的にバランスします
究極のテスト:
ランダムに 1 台の NAS をシャットダウンして、1 台が故障した状態をシミュレートしてみてください
HA が設定されており、シャットダウンされたノードに仮想マシンまたは LXC が存在する場合、一時的なリトライの後、自動的に残りのノードに移動して起動します。SMB 共有も正常に動作し、読み書きができます。しばらくすると、シャットダウンされた NAS を再起動すると、ceph は自動的にバランスを開始します
もちろん、3 台の NAS がすべて故障した場合や、2 台が同時に故障した場合など、より極端な状況は考慮していません
そのような場合には、より高度な地理的冗長性が必要です
家庭環境では、NAS が重要なデータ(コード、家族の写真、ブログ記事、キーなど)の保存に使用される場合、単一のマシンに依存するハードウェア RAID またはソフトウェア RAID はある程度のリスクがあります。再構築に成功したとしても、現在の 10TB 以上の一般的なメカニカルハードディスクでは、再構築にかかる時間が非常に長くなる可能性があります。その間、ストレージサービスは完全に利用できなくなり、再構築が成功するかどうかも心配する必要があります。このような状況は明らかに受け入れられません。
したがって、Ceph などの分散ストレージシステムは、家庭市場で大きな潜在能力を持っています。メーカーが複数ノードのソリューションを試して、ギークユーザーの要求に応えることを期待しています。複数ノードのソリューションを採用することで、より大きなスケーラビリティを提供することができます。単一ノードのディスクスロットは限られています。
最もギークなユーザーであっても、家庭環境では完全に RAID に依存すべきではありません。RAID は冗長性のあるメカニズムであり、バックアップではありません。エンタープライズレベルのソリューションは、分散ストレージを採用しています。たとえ 3 つのノードのみであっても、分散システムの一部として機能することができます。