手把手教您配置通用型NAS容灾

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本教程介绍基于rsync命令工具构建阿里云通用型NAS同地域跨可用区主备容灾方案。

方案概述

NAS为单可用区(AZ)数据存储机制,将用户的数据在后端进行多副本存储,每份数据都存储在同一个可用区内多个不同的设备上。对此,为避免当应用内的NAS因不可抗力因素出现停服导致应用在短时间内无法访问数据时,您可以通过rsync工具构建通用型NAS同地域跨可用区主备容灾方案。

本方案的技术架构包括以下基础设施和云服务:

  • 1个专有网络VPC:为云服务器ECS、文件存储NAS等云资源形成云上私有网络。

  • 2台交换机:将2个文件存储NAS连接在同一网络上,实现它们之间的通信,并提供基本的网络分段和隔离功能。

  • 2个文件存储NAS:同地域不同可用区的2NAS,组成一个高性能和高可用的存储服务。消除业务系统所属NAS出现故障时,可切换至正常的NAS上,从而保证服务的连续性和稳定性。

  • 1台云服务器ECS:基于rsync工具配置定期任务迁移增量数据,实现2个文件存储NAS之间的数据共享和同步,确保数据的一致性。

方案部署

本案例以中国(香港)地域的香港可用区B有一个通用型NAS协议文件系统作为业务系统使用为例,为这个NAS构建容灾能力。相关配置信息如下表所示。

参数

业务文件系统

容灾文件系统

地域

中国(香港)

中国(香港)

可用区

香港可用区B

香港可用区D

专有网络VPC

test01

test01

交换机

test1

test2

步骤一:创建文件系统

首先,我们在同地域的另一个可用区创建一个同规格、同协议类型的通用型NAS文件系统(容灾文件系统)。

  1. 登录NAS控制台

  2. 概览页面的文件系统选型区域,单击通用型NAS下方的创建

  3. 创建面板,配置以下重要参数,其他参数与业务文件系统保持一致。更多信息,请参见创建文件系统

    参数

    说明

    地域

    选择与业务文件系统一样的地域。本文示例,中国香港。

    可用区

    选择与业务文件系统不一样的可用区。本文示例,香港可用区D。

    专有网络VPC

    选择与主文件系统一样的VPC。本文示例,test01

    虚拟交换机

    选择VPC下的交换机。本文示例,test2

  4. 单击立即购买,根据页面提示,完成购买。

步骤二:部署数据迁移系统并迁移数据

在创建好容灾NAS后,您需在云服务器ECS中同时挂载两个NAS文件系统。然后使用rsync工具进行迁移数据并配置定期任务迁移增量数据。迁移数据的操作如下所示。

NFS协议文件系统

  1. 挂载业务NAS和容灾NAS。

    登录ECS管理控制台单击创建实例后,在自定义购买页面配置如下信息。

    • 地域:选择NAS所在的地域。本文示例,中国(香港)。

    • 网络及可用区:必须选择为NAS相同的VPC专有网络,建议选择和NAS相同的虚拟交换机。

    • 实例规格:一般选择最低规格即可。

    • 镜像:选择CentOS,本文以CentOS 7.6为例。

    • 存储:单击共享盘NAS(选填),然后单击添加文件存储进行配置,添加两个共享盘配置,分别对应业务NAS和容灾NAS。详情请参考下图示例。

      image.png

      ECS创建成功后,业务NAS和容灾NAS挂载完成,请执行以下命令确认。

      mount | grep nas.aliyuncs.com

      如果挂载成功,界面会显示以下信息。业务文件系统挂载到了/mnt/src目录,容灾文件系统挂载到了/mnt/dst目录。

      image.png

  2. 安装迁移工具。

    sudo yum install -y rsync
  3. 迁移存量数据。

    1. 在容灾文件系统中创建一个目录。例如,dst/backupsystem目录。

      mkdir /mnt/dst/backupsystem
    2. 将业务文件系统中的数据迁移至容灾文件系统的backupsystem目录中。

      rsync -avP /mnt/src/ /mnt/dst/backupsystem/
  4. 迁移增量数据。

    在存量数据迁移过程中,如果业务文件系统被其它ECS上运行的业务应用写入,那么在存量数据迁移结束后,需要另外同步新的增量数据。

    rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/

    rsync命令会先扫描源路径,所以即使增量数据不多,也可能需要较长的时间完成。

    警告

    --delete 选项代表从容灾文件系统中删除已在业务文件系统中被删除的数据,请谨慎使用,避免将容灾文件系统中的数据意外删除。您也可以为两个文件系统开启回收站功能,当您误删除业务或容灾文件系统中的文件后,可以通过NAS回收站恢复这些文件及其UID、GIDACL等元数据信息。更多信息,请参见回收站

  5. 配置定期任务迁移增量数据。

    使用crontab配置定期增量迁移。

    1. 执行以下命令,进入crontab。

      crontab -e
    2. 配置定期增量迁移。

      crontab中配置以下信息。其中,30表示分钟;00表示小时,即每天00:30进行增量迁移。您也可以根据实际情况进行替换。

      30 00 * * * rsync -avP --delete /mnt/src/ /mnt/dst/backupsystem/ > /tmp/last_rsync_result.log 2>&1 &
    3. 执行以下命令,确认配置成功。

      crontab -l
  6. 检查迁移结果。

    执行以下命令,确认最近一次增量复制的输出。

    cat /tmp/last_rsync_result.log

SMB协议文件系统

  1. 挂载业务NAS和容灾NAS。

    登录ECS管理控制台单击创建实例后,在自定义购买页面配置如下信息。

    • 地域:选择NAS所在的地域。本文示例,中国(香港)。

    • 网络及可用区:必须选择和NAS相同的VPC专有网络,建议选择和NAS相同的虚拟交换机。

    • 实例规格:一般选择最低规格即可。

    • 镜像:选择Windows Server,本文以Windows Server 2019为例。

    • 存储:单击共享盘NAS(选填),然后单击添加文件存储进行配置,添加两个共享盘配置,分别对应业务NAS和容灾NAS。详情请参考下图示例。

      image.png

    • 公网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
  2. 安装迁移工具。

    1. 下载迁移工具rsync for windows

    2. 解压下载的安装包至C,并重命名为cwRsync。

  3. 迁移存量数据。

    打开CMD命令行窗口,执行以下命令,将业务文件系统中的数据迁移到容灾文件系统中。

    cd c:\cwRsync
    rsync.exe -avP /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group

    其中,XY请根据实际挂载盘符进行替换。

    说明

    阿里云SMB默认不支持账号权限配置。如果启用了SMB AD/ACL,则不需要配置--no-perms--no-owner --no-group选项。

  4. 迁移增量数据。

    rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group > c:/rsync.log

    rsync命令会先扫描源路径,所以即使增量数据不多,也可能需要较长的时间完成。

    警告

    --delete 选项代表从容灾文件系统中删除已在业务文件系统中被删除的数据,请谨慎使用,避免将容灾文件系统中的数据意外删除。您也可以为两个文件系统开启回收站功能,当您误删除业务或容灾文件系统中的文件后,可以通过NAS回收站恢复这些文件及其UID、GIDACL等元数据信息。更多信息,请参见回收站

  5. 配置定期任务迁移增量数据。

    1. 创建脚本文件。

      C盘下创建dailyrsync.bat文件,并在文件中配置以下内容。其中,XY请根据实际挂载盘符进行替换。

      c:\cwRsync\rsync.exe -avP --delete /cygdrive/X/ /cygdrive/Y/ --no-perms --no-owner --no-group  > c:\run.log
    2. 配置定期增量迁移。

      1. 打开控制面板,单击系统和安全,在管理工具区域,单击计划任务

      2. 任务计划程序页面,选择操作 > 创建任务

        创建任务

      3. 单击常规页签,输入计划任务的名称,并选中只在用户登录时运行(R)

        image.png

      4. 单击触发器页签,单击新建。在开始任务列表中选择按预定计划,设置任务时间为每天并指定运行时间。在高级设置中选择已启用。单击确定

        image.png

      5. 单击操作页签,单击新建。在操作列表中选择启动程序,在程序或脚本中选择配置定期任务迁移增量数据C盘中创建的dailyrsync.bat脚本文件。单击确定

        image.png

      6. 单击确定

      7. 重启ECS服务器,验证创建结果。

        如果系统显示如下信息,表示计划任务正常执行。

        image.png

        成功运行后,查看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的共享名称,不允许变更。

总结

通过本实践教程,您将能够:

  1. 了解如何配置定期任务迁移增量数据;

  2. 在业务系统中切换文件系统。