本教程介紹基於rsync命令工具構建阿里雲通用型NAS同地區跨可用性區域主備容災方案。
方案概述
NAS為單可用性區域(AZ)資料存放區機制,將使用者的資料在後端進行多副本儲存,每份資料都儲存在同一個可用性區域內多個不同的裝置上。對此,為避免當應用內的NAS因不可抗力因素出現停服導致應用在短時間內無法訪問資料時,您可以通過rsync工具構建通用型NAS同地區跨可用性區域主備容災方案。
本方案的技術架構包括以下基礎設施和雲端服務:
1個Virtual Private Cloud:為Elastic Compute Service、Apsara File Storage NAS等雲資源形成雲上私人網路。
2台交換器:將2個Apsara File Storage NAS串連在同一網路上,實現它們之間的通訊,並提供基本的網路分段和隔離功能。
2個Apsara File Storage NAS:同地區不同可用性區域的2個NAS,組成一個高效能和高可用的儲存服務。消除業務系統所屬NAS出現故障時,可切換至正常的NAS上,從而保證服務的連續性和穩定性。
1台Elastic Compute Service:基於rsync工具配置定期任務遷移增量資料,實現2個Apsara File Storage NAS之間的資料共用和同步,確保資料的一致性。
方案部署
本案例以中國(香港)地區的香港可用性區域B有一個通用型NAS協議檔案系統作為業務系統使用為例,為這個NAS構建容災能力。相關配置資訊如下表所示。
參數 | 業務檔案系統 | 容災檔案系統 |
地區 | 中國(香港) | 中國(香港) |
可用性區域 | 香港可用性區域B | 香港可用性區域D |
Virtual Private Cloud | test01 | test01 |
交換器 | test1 | test2 |
步驟一:建立檔案系統
首先,我們在同地區的另一個可用性區域建立一個同規格、同協議類型的通用型NAS檔案系統(容災檔案系統)。
步驟二:部署資料移轉系統並遷移資料
在建立好容災NAS後,您需在Elastic Compute Service中同時掛載兩個NAS檔案系統。然後使用rsync工具進行遷移資料並配置定期任務遷移增量資料。遷移資料的操作如下所示。
NFS協議檔案系統
掛載業務NAS和容災NAS。
登入ECS管理主控台單擊建立執行個體後,在自訂購買頁面配置如下資訊。
地區:選擇NAS所在的地區。本文樣本,中國香港。
網路及可用性區域:必須選擇為NAS相同的VPC專用網路,建議選擇和NAS相同的虛擬交換器。
執行個體規格:一般選擇最低規格即可。
鏡像:選擇CentOS,本文以CentOS 7.6為例。
儲存:單擊彈性臨時盤|Apsara File Storage NAS|專屬Block Storage叢集(選填),然後單擊添加檔案儲存體進行配置,添加兩個檔案系統配置,分別對應業務NAS和容災NAS。詳情請參考下圖樣本。

在ECS建立成功後,業務NAS和容災NAS掛載完成,請執行以下命令確認。
mount | grep nas.aliyuncs.com如果掛載成功,介面會顯示以下資訊。業務檔案系統掛載到了
/mnt/src目錄,容災檔案系統掛載到了/mnt/dst目錄。
安裝遷移工具。
sudo yum install -y rsync遷移存量資料。
在容災檔案系統中建立一個目錄。例如,
dst/backupsystem目錄。mkdir /mnt/dst/backupsystem將業務檔案系統中的資料移轉至容災檔案系統的
backupsystem目錄中。rsync -avP /mnt/src/ /mnt/dst/backupsystem/
遷移增量資料。
在存量資料移轉過程中,如果業務檔案系統被其它ECS上啟動並執行業務應用寫入,那麼在存量資料移轉結束後,需要另外同步新的增量資料。
rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/rsync命令會先掃描源路徑,所以即使增量資料不多,也可能需要較長的時間完成。
警告--delete 選項代表從容災檔案系統中刪除已在業務檔案系統中被刪除的資料,請謹慎使用,避免將容災檔案系統中的資料意外刪除。您也可以為兩個檔案系統開啟資源回收筒功能,當您誤刪除業務或容災檔案系統中的檔案後,可以通過NAS資源回收筒恢複這些檔案及其UID、GID和ACL等中繼資料資訊。更多資訊,請參見資源回收筒。
配置定期任務遷移增量資料。
使用crontab配置定期增量遷移。
執行以下命令,進入crontab。
crontab -e配置定期增量遷移。
在crontab中配置以下資訊。其中,30表示分鐘;00表示小時,即每天00:30進行增量遷移。您也可以根據實際情況進行替換。
30 00 * * * rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/ > /tmp/last_rsync_result.log 2>&1 &執行以下命令,確認配置成功。
crontab -l
檢查遷移結果。
執行以下命令,確認最近一次差異複寫的輸出。
cat /tmp/last_rsync_result.log
SMB協議檔案系統
掛載業務NAS和容災NAS。
登入ECS管理主控台單擊建立執行個體後,在自訂購買頁面配置如下資訊。
地區:選擇NAS所在的地區。本文樣本,中國香港。
網路及可用性區域:必須選擇和NAS相同的VPC專用網路,建議選擇和NAS相同的虛擬交換器。
執行個體規格:一般選擇最低規格即可。
鏡像:選擇Windows Server,本文以Windows Server 2019為例。
儲存:單擊彈性臨時盤|Apsara File Storage NAS|專屬Block Storage叢集(選填),然後單擊添加檔案儲存體進行配置,添加兩個檔案系統配置,分別對應業務NAS和容災NAS。詳情請參考下圖樣本。

公網IP:選中分配公網IPv4地址,用於下載遷移工具。
在ECS建立成功後,業務和容災NAS檔案系統掛載完成,請執行以下命令確認。
net use如果掛載成功,介面會顯示以下資訊。業務檔案系統掛載到了X盤,容災檔案系統掛載到了Y盤。
狀態 本地 遠程 網路 ------------------------------------------------------------------------------- OK Y: \\12e4874****-v****.cn-hongkong.nas.aliyuncs.com\myshare Microsoft Windows Network OK X: \\12f7094****-c****.cn-hongkong.nas.aliyuncs.com\myshare Microsoft Windows Network安裝遷移工具。
下載遷移工具rsync for windows。
解壓下載的安裝包至C盤,並重新命名為cwRsync。
遷移存量資料。
開啟CMD命令列視窗,執行以下命令,將業務檔案系統中的資料移轉到容災檔案系統中。
cd c:\cwRsync rsync.exe -avP /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group其中,X和Y請根據實際掛載盤符進行替換。
說明阿里雲SMB預設不支援帳號許可權配置。如果啟用了SMB AD/ACL,則不需要配置
--no-perms、--no-owner、--no-group選項。遷移增量資料。
rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:/rsync.logrsync命令會先掃描源路徑,所以即使增量資料不多,也可能需要較長的時間完成。
警告--delete 選項代表從容災檔案系統中刪除已在業務檔案系統中被刪除的資料,請謹慎使用,避免將容災檔案系統中的資料意外刪除。您也可以為兩個檔案系統開啟資源回收筒功能,當您誤刪除業務或容災檔案系統中的檔案後,可以通過NAS資源回收筒恢複這些檔案及其UID、GID和ACL等中繼資料資訊。更多資訊,請參見資源回收筒。
配置定期任務遷移增量資料。
建立指令碼檔案。
在C盤下建立
dailyrsync.bat檔案,並在檔案中配置以下內容。其中,X和Y請根據實際掛載盤符進行替換。c:\cwRsync\rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:\run.log配置定期增量遷移。
開啟控制台,單擊系統和安全,在管理工具地區,單擊計劃任務。
在工作排程器頁面,選擇。
單擊常規頁簽,輸入計劃任務的名稱,並選中只在使用者登入時運行(R)。
單擊觸發器頁簽,單擊建立。在開始任務列表中選擇按預定計劃,設定任務時間為每天並指定已耗用時間。在進階設定中選擇已啟用。單擊確定。
單擊操作頁簽,單擊建立。在操作列表中選擇啟動程式,在程式或指令碼中選擇配置定期任務遷移增量資料在C盤中建立的
dailyrsync.bat指令檔。單擊確定。單擊確定。
重啟ECS伺服器,驗證建立結果。
如果系統顯示如下資訊,表示計劃任務正常執行。

成功運行後,查看C盤中的rsync.log確認最近的一次差異複寫的輸出。
步驟三:容災切換
當您需要將業務切換到容災檔案系統時,請在所有掛載業務檔案系統的業務系統中掛載容災檔案系統。
NFS協議檔案系統
以在Linux作業系統中掛載容災NFS協議檔案系統為例,將NAS掛載到業務系統中。更多關於NAS的掛載,請參見掛載情境。
執行以下命令,將容災檔案系統的backupsystem目錄掛載到業務系統中。
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <<掛載點>>:/backupsystem <<業務系統目錄>>重要參數說明如下,請根據實際值替換。
<<掛載點>>:容災檔案系統的掛載點地址。
<<業務系統目錄>>:業務系統待掛載容災檔案系統的本地目錄,例如
/mnt。掛載成功後,在此目錄下的資料(包括目錄、檔案)為同步上一次定期增量任務完成時間時的資料。
SMB協議檔案系統
本文以在Windows作業系統中掛載SMB協議檔案系統為例,將容災NAS掛載到業務系統中。更多關於NAS的掛載,請參見掛載情境。
net use Y: \\<<掛載點>>\myshare重要參數說明如下,請根據實際值替換。
<<掛載點>>:容災檔案系統的掛載點地址。
Y:掛載容災檔案系統的盤符。掛載成功後,在該盤符下的資料(包括目錄、檔案)均為同步上一次定期增量任務完成時間時的資料。
myshare:SMB的共用名稱,不允許變更。
總結
通過本實踐教程,您將能夠:
瞭解如何配置定期任務遷移增量資料;
在業務系統中切換檔案系統。