HA架構下容錯移轉時的需求
當使用兩台NAS組成HA(高可用性)架構時,容錯移轉時所需達成的目標是什麼呢?理所當然,「當其中一台故障時,能夠自動切換到另一台,並持續作業」應該是大家的期待。
那麼,如果問「只要作業能持續進行,即使寫入中的資料出現資料損毀或遺漏也沒關係嗎?」基本上答案應該是「不行」。部分使用者可能會回答:「如果發生容錯移轉,反正正在寫入的檔案會重新寫入,所以沒問題。」這樣的意見也存在。
然而,如果有「可能發生一致性異常的事實」或「有些檔案未同步到備機的事實」,那麼在容錯移轉發生時,就必須比對備機端的資料集或檔案的checksum(檢查碼)來確認資料是否正確。
因此,最近QNAP的NAS已支援HA架構,隨之而來也收到「QNAP NAS在HA架構下發生容錯移轉時,資料的一致性是否能夠保障?」這樣的問題,所以進行了確認。該使用者目前使用日本廠牌的NAS,並反映「在發生容錯移轉時,有大量檔案未儲存到備機。」
那麼,馬上來進行確認。
測試環境
這次使用的測試環境如下,架構大致如下所示。
容錯移轉發生時的一致性確認
從操作用PC透過叢集IP(192.168.131.230)複製檔案,在檔案複製過程中拔掉主機的電源線,觸發容錯移轉,並於複製完成後在叢集IP上確認md5sum值是否一致。
本次測試使用的檔案為Windows11的安裝程式檔案。

實驗!大容量檔案複製
如宣告所述,在叢集寫入檔案時拔掉主機的電源線。寫入會暫停,待容錯移轉完成後,複製會繼續並完成……
重複這樣的測試約3次,結果如下:
第1次 - 297b8c040ef6bb78edfb8d216b04b307 - 無問題
第2次 - 297b8c040ef6bb78edfb8d216b04b307 - 無問題
第3次 - 297b8c040ef6bb78edfb8d216b04b307 - 無問題
複製暫停的情況
測試過程中,也出現了這樣的情況:從主機切換到備機時,出現「發生了非預期的網路錯誤。」這類錯誤。
此時,主機端尚未完成的檔案已經反映到備機的資料夾,因此會同時顯示「備機已存在檔案,是否要覆寫?」的詢問。
此時在叢集IP上確認檔案,發現是複製中的檔案,且checksum(檢查碼)不一致。
遇到這種情況時,選擇「重試」->「取代檔案」,即可順利完成檔案複製,且不會發生不一致。
實驗2 大量檔案複製
複製大量檔案,並在過程中發生容錯移轉,確認檔案是否能完整複製到備機。
大量檔案部分,這次使用WIDER_train的樣本資料(檔案數12880,資料夾數63,總容量1.37GB)。
同樣在複製過程中停止主機電源來進行確認。
對複製的資料夾使用以下指令產生md5sum清單,並比較checksum及檔案清單。
find ./ |sort |xargs md5sum > md5sum.list
用diff指令比對清單,就能簡單確認是否有差異。
![]()
重複3次測試,均未發生差異。
結論
在QNAP NAS上構建HA架構,針對「大容量檔案、大量檔案兩種情境下,複製過程中拔掉主機AC電源線使其斷電」來確認容錯移轉時檔案一致性及是否有檔案遺漏。
結論是,在這樣的情境下,並未發生檔案一致性缺失或檔案遺漏的情況。
總結
因為收到「客戶對其他廠牌NAS的行為及規格有疑慮,想知道QNAP NAS的表現如何?」的詢問,所以確認了HA架構下發生容錯移轉時的行為。
本次分別針對「大容量檔案複製過程中發生容錯移轉」及「大量檔案複製過程中發生容錯移轉」兩種情境進行確認。
結果顯示,無論哪種情境,都未發生檔案一致性缺失或檔案遺漏等問題。
「容錯移轉」本身通常是NAS故障所觸發,並非頻繁發生。正因為不常發生,事先掌握其行為,萬一真的發生時也能冷靜應對。
如果存在「可能發生檔案一致性缺失或檔案遺漏」的風險,容錯移轉時的操作就會變得非常複雜。
在這方面,若使用QNAP NAS構建HA架構,即使發生容錯移轉,也不會出現一致性缺失或檔案遺漏,能夠安心使用。






