moecat

moecat

摸鱼大师

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

前提條件:

  • 三台及以上 NAS
  • 每台 NAS 都有雙網口
  • 每台 NAS 每塊物理盤大小相似
  • NAS bios 支持來電自啟
  • NAS 系統盤 ssd 或 nvme 與數據盤 hdd / 或者你能夠區分系統盤數據盤,測試高可用時別拔錯

簡易家庭網絡圖如下所示
簡易家庭網絡圖

光猫與三台 NAS 網口 1 通過千兆交換機進行連接

三台 nas 網口 2 通過 2.5G 交換機組成內網

確保每台 NAS 的 proxmox 設置了單獨的 vmbr0 vmbr1
每台綁定的網口也一致

image

vmbr0 與虛擬機共享,所以是 lan
vmbr1 就是 wan 了,連接光猫

確保三台 nas 設置的 lan ip 在一個網段
組成集群

image

組好後選擇一個節點建一台 ikuai 虛擬機
添加 lan 以及 wan,lan 在上面 (也就是 vmbr0)
虛擬機磁盤設置小一點 8 個 G 就夠了,隨便放在三台的哪台上
裝好 ikuai, 安裝完成後設置 lan 網段與 NAS 一致,進行撥號,撥號設置完之後三台 NAS 應該都會有網,每台都先更新下系統,然後重啟下.

上述只是為了保證裝 ceph 時有網

組成集群後點數據中心的 ceph 按步驟安裝 ceph, 最好選擇
osd_pool_default_min_size = 2
osd_pool_default_size = 2

image

管理員與監視器三台都加上

image

每個 node 上裝好大容量機械盤後先初始化一下

image

添加為 osd

image

建一個 ceph_fs

image

數據中心存儲裡建一個 RBD

image

另外重要的需要關注的點,ceph 存儲需要每台節點的時間定期同步避免時鐘不一致
於是你需要在每個 node 上在系統頁面裝好 systemd-timesyncd

image
登錄每個 node
crontab -e

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

十分鐘同步一次時間

好了,接下來可以愉快的玩超融合了
例如剛才建好的 ikuai 撥號虛擬機,我們把它的磁盤從本地移到剛建好的分佈式存儲 ceph 上,移動完之後刪除源,重啟
image

由於 nas 型號一致,網口一致,所以可以達到一個神奇的效果,我的 ikuai 撥號虛擬機可以做到不斷網秒級切換物理節點 (其它虛擬機也可以,主要是遷移內存中的數據,存儲是在分佈式存儲 ceph 上所以無需遷移,模板方式的 lxc 由於限制遷移後需要重啟)
可以說是做到了無感熱遷移

配置下高可用 HA

image

接下來就簡單了,可以隨意折騰,比如建台虛擬機 (虛擬機磁盤及數據盤都放到 ceph rbd 上), 建好 smb 分享

測試高可用:
隨機拔掉一塊數據盤,你會發現你的 smb 分享仍然沒有任何異常,虛擬機運行沒有任何異常,並且你還能夠正常通過 smb 寫數據
ceph 選項卡裡會出現告警告訴你一塊 osd 離線,過一會數據寫入完成,再將數據盤插回,
osd 過一段時間會刷新狀態為可用並自動平衡剛才寫入的數據

終極測試:
隨機關掉一台 nas 模擬壞掉一台的情況
如果配置了 ha 並且關掉的一台上面存在虛擬機或者 lxc, 那麼會在短暫的重試後自動遷移到存活的節點上並啟動,你的 smb 分享也會正常工作並且可以讀取寫入
過一段時間再啟動關掉的 nas,ceph 也會自動開始平衡

當然,更極端的情況比如三台 NAS 全壞了或者同時壞了兩台不在我們的考慮範圍內
那就得上更高一級別的異地多活了

在家庭環境中,若 NAS 用於存儲重要數據,如代碼、家庭照片、博客文章、密鑰等,依賴單一台機器的硬件 RAID 或軟件 RAID 存在一定的風險。即使能夠成功重建,但在今天常見的 10TB 以上的機械硬盤中,重建時間可能會相當長。而在這段時間內,你的存儲服務將完全不可用並且是否能夠重建成功也是需要你擔心的,這種情況顯然是無法接受的。

因此,分佈式存儲系統如 Ceph 在家庭市場上有著很大的潛力。期望有廠商能夠嘗試多節點方案,以滿足極客用戶的需求。採用多節點方案還可以提供更大的擴展性,因為單一節點的硬盤位是有限的。

即使是對於最極客的用戶,在家庭環境中也不應完全依賴 RAID。RAID 只是一種容錯機制,而不是備份。企業級的解決方案是採用分佈式存儲,即使是僅三個節點也可構成分佈式系統的一部分。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。