本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
本教程介紹基于rsync命令工具構建阿里云通用型NAS同地域跨可用區主備容災方案。
方案概述
NAS為單可用區(AZ)數據存儲機制,將用戶的數據在后端進行多副本存儲,每份數據都存儲在同一個可用區內多個不同的設備上。對此,為避免當應用內的NAS因不可抗力因素出現停服導致應用在短時間內無法訪問數據時,您可以通過rsync工具構建通用型NAS同地域跨可用區主備容災方案。
本方案的技術架構包括以下基礎設施和云服務:
1個專有網絡VPC:為云服務器ECS、文件存儲NAS等云資源形成云上私有網絡。
2臺交換機:將2個文件存儲NAS連接在同一網絡上,實現它們之間的通信,并提供基本的網絡分段和隔離功能。
2個文件存儲NAS:同地域不同可用區的2個NAS,組成一個高性能和高可用的存儲服務。消除業務系統所屬NAS出現故障時,可切換至正常的NAS上,從而保證服務的連續性和穩定性。
1臺云服務器ECS:基于rsync工具配置定期任務遷移增量數據,實現2個文件存儲NAS之間的數據共享和同步,確保數據的一致性。
方案部署
本案例以中國(香港)地域的香港可用區B有一個通用型NAS協議文件系統作為業務系統使用為例,為這個NAS構建容災能力。相關配置信息如下表所示。
參數 | 業務文件系統 | 容災文件系統 |
地域 | 中國(香港) | 中國(香港) |
可用區 | 香港可用區B | 香港可用區D |
專有網絡VPC | test01 | test01 |
交換機 | test1 | test2 |
步驟一:創建文件系統
首先,我們在同地域的另一個可用區創建一個同規格、同協議類型的通用型NAS文件系統(容災文件系統)。
步驟二:部署數據遷移系統并遷移數據
在創建好容災NAS后,您需在云服務器ECS中同時掛載兩個NAS文件系統。然后使用rsync工具進行遷移數據并配置定期任務遷移增量數據。遷移數據的操作如下所示。
NFS協議文件系統
掛載業務NAS和容災NAS。
登錄ECS管理控制臺單擊創建實例后,在自定義購買頁面配置如下信息。
地域:選擇NAS所在的地域。本文示例,中國(香港)。
網絡及可用區:必須選擇為NAS相同的VPC專有網絡,建議選擇和NAS相同的虛擬交換機。
實例規格:一般選擇最低規格即可。
鏡像:選擇CentOS,本文以CentOS 7.6為例。
存儲:單擊共享盤NAS(選填),然后單擊添加文件存儲進行配置,添加兩個共享盤配置,分別對應業務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為例。
存儲:單擊共享盤NAS(選填),然后單擊添加文件存儲進行配置,添加兩個共享盤配置,分別對應業務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.log
rsync命令會先掃描源路徑,所以即使增量數據不多,也可能需要較長的時間完成。
警告--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的共享名稱,不允許變更。
總結
通過本實踐教程,您將能夠:
了解如何配置定期任務遷移增量數據;
在業務系統中切換文件系統。