[分享] Synology NAS High-Availability (HA) 實作 (1/29更新)

說明: 以下所有的測試結果皆是於 DSM 4.2Beta 版本測試而得, 和正式版本或許會有出入, 有關規格及效能以原廠公佈數據為主.

自從 Synology 於 CeBIT 2012 發表 High-Availability (HA) 技術後, 小弟就一直關注這項技術的發展, 當時是以 RS3412xs XS 系列高階 NAS demo, 總算等到 DSM 4.2 beta, 原廠將此項功能免費的附加在 2012 年以後銷售的所有 x86 Dual GbE NAS.

High-Availability 高可用性
在儲存媒體上, 企業一直追求的是維持 Server 的正常運作, 為了怕因為各種意外造成檔案流失, 所以運用了各種備份媒體及方法, 將重要資料保持多個備份, 另外擔心硬碟的損壞造成資料毀損, 所以有了 RAID (1/5/6...)技術, 但當設備損壞, 網路斷線及各種無法即時修復的狀況下, 如何儘速恢復原 Server 所提供的服務, 減少停機的時間, 這就是本文 HA 所要討論的.

Synology HA solution
所謂 HA 高可用性, 指的是運用多台 Server (NAS) 組成的 Cluster, 當主要提供服務的 NAS 失效時, 當時所提供的服務, 如何即時的移轉至備用的 NAS, 而 Synology HA Solution, 現所提供的做法為運用兩台同機型的 NAS (現限制為 2012 年仍在銷售的 x86 Dual GbE 機種, 有關支援的機型詳見官網). 有關 HA 可以很簡單的將它視為兩台 NAS 做 RAID1 (mirror) 的技術, 當將資料寫入 Active NAS 時, 系統將會同步去更新 Passive NAS.

這裡我們使用了兩台 Synology DS412+ 4Bay NAS 測試, 每台 NAS 配備 500GB HD*2 (RAID1), 並更新至最新的 DSM 4.2Beta. (這裡特別在 Active NAS 上貼個 Label 識別)


由於兩台 NAS 必須隨時取得同步, 所以兩台 NAS 之間必須以一條 LAN Cable 連接, 此稱之為 HeartBeat, 做為資料同步及互相偵測對方是否 '停止心跳' 掛點了, 並做必要的處置. 下圖是以 DS412+ LAN2 互相串接. 而另外一個 Gigabit LAN Port 則連接至 Switch 上.


demo 的兩台 DS412+ 規格皆相同, 以 500GB HD*2 建 RAID1


安裝上非常容易, 兩台 NAS 安裝 DSM 4.2Beta, 並安裝 Python & High Availability 套件.


做為 HA 主機的 NAS, 都必須配置 LAN 固定 IP.


這裡兩台 NAS 各自配置的固定 IP 為 192.168.38.14(NAS1) & 192.168.38.15(NAS2)


進入 NAS1 HA Manager, 點選 "建立 HA Cluster"




輸入第二台 NAS 的 IP 及帳號密碼


我們是以 LAN2 做為 HA Heartbeat 連線用. 這裡有特別提到, Heartbeat 連線儘可能直接以 LAN cable 串接, 不要透過 Switch.


出現警告訊息, 告知 LAN2 不可設為 DHCP? 原本以為 HA Manager 會自己處理, 看來這裡要手動設定, 回到 DSM 控制台, 將 NAS1 LAN2 設為 10.0.0.1, NAS2 LAN2 設為 10.0.0.2 (基本上這裡隨意設定就可以了,並不影響 HA 運作, 容後補述)


設定 Cluster IP, 這裡指定為 192.168.38.16, 在 HA 環境下, Client 端的電腦是對 Cluster IP 做存取, 並非直接指向 NAS1 or NAS2 IP.


所有 HA 的參數.


完成設定後, 系統此時進行 NAS1 & NAS2 同步, 主要是將 NAS1(Active) 的資料全部複制到 NAS2, 原本 NAS2 上面的資料會被全數刪除, 這個過程視 Active NAS 上的資料量而定, 可能要幾個小時到數天都有可能, 在同步的期間 NAS 還是可以正常使用的.


看看其他 HA Manager 的功能, 此處列出兩台 NAS 的網路設定 (DSM 控制台>網路 設定的功能由此處取代)


Active NAS


Passive NAS, 此處顯示為 "無法存取的原始IP位址", 當做為備用 NAS 時,就無法再登入該台的 DSM 設定界面了. 因該台的資料都是由 Active NAS 同步而來, 已無設定的必要.


預設 HA Cluster 僅提供 Windows CIFS 服務, 若需其他服務就自行勾選. 大致上這些已經包括了大多數 NAS 所提供的 service 了, 不管是運用在 VM 環境及 Mac 下都有支援.


資料同步中.


檢視兩台 NAS 的硬碟狀態.


Synology HA solution 使用的是 DRBD open source 的技術, 這裡看到同步還需要約 1H:50M 完成.


經歷了二個小時多, 終於同步完成了, 這裡可以看到 Active NAS & Passive NAS 都已上線.


HA 測試
先在 Windows 7 下測試看看讀寫的效率. 單檔 5GB 寫入約 30MB/Sec, 這個速度明顯較 DS412+ 單機可達 100MB/Sec 慢了許多(正常情況下在小弟的環境約可達 80MB/Sec), 寫入的速度為何要慢這麼多是日後還要再多加驗證的.


讀取的速度就比較理想了, 可以達到 90MB/Sec 左右.


接下來試試看 Active NAS(NAS1) '失效' 時, Passive NAS 是否可以馬上 '接手' 所提供的服務, 這裡用最簡單的測試, 於 windows 7 下開三個視窗同時去 ping cluster IP(192.168.38.16), NAS1 IP(192.168.38.14) & NAS2 IP(192.168.38.15), 直接將 NAS1 LAN1 網路線拔掉, 看看 NAS2 有沒有接手? 啊! 怎麼 ping 掉線了, 一直沒有恢復呢?


Google 了一下 DRBD 相關資料, 原來不是只有小弟遇到這個問題, 看來 HA 不能這樣玩, 再把網路線插回去, 這次把 NAS1 電源拔掉. 過了一下子, 看到又連線了!


重新登入 NAS HA Manager, 看到 Active NAS 切換為 NAS2 了. 所有的服務確實都只是中斷了幾秒鐘而已. 大致 check 了一下, 原本共用資料夾裡面的資料沒有遺失.


重新再把 NAS1 開機, 因為在這段期間 Active NAS 上面的資料已經異動過了, 此時系統會自動將資料再同步回 NAS1, 當同步完成 NAS1 就會進入 standby 狀態.


接著測試當 Active NAS or Passive NAS 發生 RAID degrade 時要如何處置, 將 Passive NAS 其中一顆硬碟拔出, 此時 HA Manager 顯示 Passive NAS RAID degrade, 並發出 beep, 可以透過管理功能將 beep 關閉, 並換上新的硬碟後, 於 [磁碟空間狀態] 下進行 [修復] 的動作.


如何移除 HA Cluster? 直接由 [管理 HA Cluster] 就可以將 HA Cluster 解除, 解除後的兩台 NAS 會保有完全相同的資料, 視為兩台獨立的 NAS.


HA 也包含其他的 service?
除了前面所提的 CIFS, iSCSI, AFP, FTP & NFS 可以達到故障立刻移轉外, 那麼網站? MySQL 等服務呢? 原廠的文件並沒有提到這些, 小弟在 NAS1 上重新啟用了 Web & MySQL Server 並安裝 phpBB forum 套件測試, 發覺網頁及 MySQL DB 的資料也會一併同步, 當 Active NAS fail 時, 切換至 Passive NAS 仍然可以提供原來的網站內容及資料庫. (此部份僅是小弟的測試, 有關網頁及 MySQL DB 是否是完全同步, 一切以官方公佈的資料為準)

如何開關機?
總是會遇到年度維護或是預告停電的狀況, 那麼要如何關機呢? 如下, 於 "管理 HA Cluster" 即可 shutdown NAS.


那麼要如何開機? 如果 Passive NAS 開機的速度比 Active NAS 快, 它會不會自動接管所有的服務? 小弟測試的結果是: 先開那一台 NAS 都無所謂, 因為只要開其中一台, 都會自動再透過 WOL (wake-on-LAN) 自動將另一台 NAS 再喚醒.

另外前面提到做為 Heartbeat 連線的 LAN Port 必須設定為固定 IP(不可為DHCP), 且 IP 可以隨意指定, 因為小弟發覺實際上在 HA Manager 建置時, 系統會自行指定其兩端點的 IP address, 既然如此在安裝時系統為何不自行設定為固定 IP 呢? 這倒是蠻奇怪的.

結論
在以前中小企業要建議 HA Cluster 不管在軟硬體上都是相當大的花費, 而即使透過 Open Source 的軟體要建置也是相當耗費人力的, 工程師本身要有非常深的功力, 另外在管理上通常都只能透過 command line 的操作為之, 在維護上是相當不容易的, 透過 Synology HA Manager 套件, 在軟硬體成本上節省相當多, 從最初階的 DS713+ 2Bay NAS 就可以輕鬆建置 HA Cluster, 管理上也不需要專職的網管人員, 而較大型企業可以選擇 XS 系列, 對於有興趣建置高可用性運作環境的企業算是一個很好的解決方案.

其他相關資源
Synology HA 官方說明文件
Synology HA 於 youtube 上影片
Synology blog - HA 介紹

動動腦
1.於 Synology HA 環境下, 當 Active NAS & Passive NAS 都在 shutdown 的情況下, 假設 Active NAS 無法開機, 那麼只開 Passive NAS 會是什麼結果? 它會接手所有的服務嗎?

*******************************************************************************
2013/01/29 更新:
寫入效能問題解決: 前面提到使用 5GB 單檔從 PC 複製到 NAS 的效能明顯偏低, 原廠立刻寄來一個 patch file, 主要是小弟測試的是 DSM 4.2Beta, 此問題已解決, 於正式版會修正.
於修正前的寫入速度.


服用修正檔後的寫入速度, 這個數據就相當合理了. (因為使用的是WD綠標, 相信換上效能更高的硬碟應該有更突出的表現)


*******************************************************************************
2013/01/29 更新:
前面提到, 在正常運作的情況下, Active NAS 如果掛點, Passive NAS 會馬上接手所有的服務, 但如果都是在關機狀況下, Active NAS 掛點了(或很賽被幹走), 只剩一台 Passive NAS 怎麼辦?
原廠也考慮到這種狀況了, 回覆如下:

只剩 passive server 的話有兩條路:
a. 等30分鐘 passive server 會自動解開(因為PASSIVE SERVER是不能連線的 所以要解開才能連線)
b. 按下passive server的reset 這樣也會解開 同時需要進行IP跟ADMIN密碼設定 但資料會保持住
FB:VoIP電話技術交流
2013-01-27 12:20 #1
pctine wrote:
自從 Synolog...(恕刪)

P大的文章總是精彩,5分奉上!

pctine wrote:
自從 Synolog...(恕刪)

拔資料傳輸網路線不會啟動服務移轉應該是正常的
基本上機器也只知道網路不通 不論網路線被拔 switch掛掉 還是更多原因 機器也都只知道是網路不通
所以這部份應該是在switch上也建立ha來解決 或是找有更多網孔的機器 用多個網孔來當failover吧
我心臟很大顆,直接丟到每天數萬人的網站跑三天,建議暫時還不要 production 用

環境:ESXi 5.1 (NFS)、Dell Xeon 三台、DS1512+ 兩台、目前是 4.2-3161 beta



如果兩台機器之間正在 Sync(不論是初始的 Sync 還是有許多資料異動時的)

尖峰寫入流量大一點的時候(我測出最大也 30MB/s 左右),NFS 就斷個三五分鐘給你看



然後....網站就 crash 了....



效能不好、寫入不穩之外一切正常,其實不要寫東西進去,就不會斷線

希望以上是 beta 版的問題,正式版可以修正。有 patch 歡迎寄給我,可繼續幫忙測。




另外一個建議就是,HA Setup Wizard 第一頁要一列一個 prerequisite checklist

DRBD 有滿多限制的,先讓使用者能準備一下,像我為了把 SHR 拆掉,倒資料倒了兩天 Orz




我自己架過 DRBD,所以還是滿佩服 Synology 有勇氣商品化的 XD

另外為了確認 Synology 企業等級的 HA 究竟是不是 DRBD 兜出來的,

來下兩台 RS10613 過年後測 HA 給大家看好了.....:)
God is in his heaven. Despite all being right with the world.
我比較膽小,所以訂了 Dell EqualLogic PS6110XV

dannydai wrote:
我心臟很大顆,直接丟到每天數萬人的網站跑三天,建議暫時還不要 production 用
dannydai wrote:
尖峰寫入流量大一點的時候(我測出最大也 30MB/s 左右)...(恕刪)


4.2 beta 版 HA Manager 確實有寫入效能不佳的問題, 或許大大可以在 patch 後再測試看看. 另外如大大所言, 說不定以你的規模, 以 DS1512+ Dual GbE 的效能並不足以支撐你的流量, 況且這中間也僅用一條 Gigabit LAN 做 Sync. RS10613 支援 Dual 10GbE, 應該比較符合所需.


我自己架過 DRBD,所以還是滿佩服 Synology 有勇氣商品化的 XD


Linux 這方面小弟就外行了, 在寫這篇前 Google 了 DRBD 相關安裝的說明文件, 說真的, 要下那麼多 Command & 繁煩的設定檔, 即使按表操課應該也搞不出來, HA Manager 套件就簡單很多了.
FB:VoIP電話技術交流
這位大大,我想問一下,DS412+和一個DS713+能組成HA ?
T9600,4G,500G,2504 dock,戴爾U2211,櫻桃3000

nineapple wrote:
這位大大,我想問一下...(恕刪)


你可以參考官方的說明 (click here)

(節錄)
SHA 需要使用兩台相同的 Synology 伺服器來分別擔任主伺服器與副伺服器的角色。
FB:VoIP電話技術交流
謝謝

剛看了,看來只能買個一模一樣的DS412+

現在DS415play都出來了,為什麼DS412+就不跌價呢 XD

T9600,4G,500G,2504 dock,戴爾U2211,櫻桃3000

nineapple wrote:
為什麼DS412+就不跌價呢...(恕刪)


跌很多了, 如果你去露天找的話.
FB:VoIP電話技術交流
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結