moecat

moecat

摸鱼大师

真.Nas高可靠性企業級方案

前提条件:

  • 三台及以上の NAS
  • 各 NAS には 2 つのネットワークポートがあります
  • 各 NAS の物理ディスクのサイズは同じです
  • NAS の BIOS は電源が入ると自動的に起動します
  • NAS のシステムディスクは SSD または NVMe で、データディスクは HDD です。または、システムディスクとデータディスクを区別できる場合は、ハイアベイテスト時に間違って抜かないようにしてください

以下は、簡単な家庭ネットワーク図です
簡単な家庭ネットワーク図

光モデムと 3 つの NAS のネットワークポート 1 は、ギガビットスイッチを介して接続されています

3 つの NAS のネットワークポート 2 は、2.5G スイッチを使用して内部ネットワークを構成します

各 NAS の proxmox には、個別の vmbr0 と vmbr1 が設定されていることを確認してください
各ノードにバインドされたネットワークポートも同じであることを確認してください

image

vmbr0 は仮想マシンと共有されているため、LAN です
vmbr1 は WAN で、光モデムに接続されています

各 NAS の LAN IP が同じネットワークセグメントに設定されていることを確認してください
クラスタを構成します

image

クラスタを構成したら、ノードの 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

image

管理者とモニターの 3 つのノードに追加します

image

各ノードに大容量のハードディスクをインストールした後、まず初期化してください

image

osd として追加します

image

ceph_fs を作成します

image

データセンターのストレージに RBD を作成します

image

さらに重要な注意点として、ceph ストレージは各ノードの時刻を定期的に同期する必要があります。時計のずれを防ぐために、各ノードで systemd-timesyncd をインストールしてください

image
各ノードにログインして、crontab -e を実行します

*/10 * * * *  /usr/sbin/ntpdate ntp.aliyun.com

10 分ごとに時刻を同期します

さて、次は楽しい超統合のプレイができます
たとえば、先ほど作成した ikuai のダイヤルアップ仮想マシンのディスクをローカルから分散ストレージ ceph に移動し、移動が完了したらソースを削除して再起動します

image

NAS のモデルとネットワークポートが同じであるため、驚くべき効果を得ることができます。私の ikuai のダイヤルアップ仮想マシンは、物理ノードの切り替えを秒単位で行うことができます(他の仮想マシンも可能ですが、メモリ中のデータの移行が主な目的です。ストレージは分散ストレージ ceph にあるため、移行は必要ありません。テンプレート方式の lxc は移行後に再起動が必要です)。ホットマイグレーションなしでネットワークを切り替えることができると言えます

高可用性(HA)の設定

image

次に、簡単な設定を行うだけで、自由に試すことができます。たとえば、仮想マシンを作成する(仮想マシンのディスクとデータディスクを 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 つのノードだけであっても、分散システムの一部として構成できます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。