接下来可以重新保护Azure上的这台CentOSweb虚拟机,重新保护的意思就是现在Azure上的这台CentOSweb是主要提供服务的虚拟机,本地ESXI的CentOSweb虚拟机已经关机了,现在需要把Azure上的这台虚拟机数据变化增量的部份同步回本地ESXI的这台虚拟机上,保障以后还可以进行故障切换回本地的CentOSweb服务器作为主服务器提供服务。

在重新保护之前需要注意以下几点:

  • 如果 VM 位于由 vCenter server 托管的 ESXi 主机上,主目标服务器必须有权限访问此 VM 所在的数据存储 (VMDK),以便将复制的数据写入 VM 磁盘。 确保在的主目标服务器存储上装载 VM 数据具有读写访问权限。

  • 如果 VM 位于非 vCenter 服务器所托管的 ESXi 上,Site Recovery 服务在重新保护期间会创建新的 VM。 此 VM 的创建位置为创建主目标服务器所在的 ESXi 主机。 此 VM 的硬盘必须位于该ESXi主机可以访问的存储磁盘上。

  • 如果 VM 不使用 vCenter,在重新保护此VM前,应对主机上运行的主目标服务器完成发现。 如果本地VM不存在(使用“备用位置恢复”),需在主目标所在的同一台ESXI主机上创建故障回复VM。。

  • 不能在主目标服务器上使用存储 vMotion。 如果使用,故障回复将不起作用,因为磁盘不可使用它。 请从 vMotion 列表中排除主目标服务器。

  • 需要进行故障转移的操作系统为Linux,还需要单独安装一个Master Target主目标服务器,并且需要保证这台服务器与进程服务器网络打通(如果受保护的虚拟机是 Windows 虚拟机,则需要安装 Windows 主目标。 对于 Linux 虚拟机,需要安装 Linux 主目标)(备注:从主目标服务器版本 9.10.0 开始,只能在 Ubuntu 16.04 服务器上安装最新的主目标服务器。 CentOS6.6 服务器不支持新安装。 但是,可继续使用 9.10.0 版本升级旧版主目标服务器;主目标版本应该低于或等于进程服务器和配置服务器的版本。 例如,如果配置服务器版本为 9.4,则主目标的版本可以是 9.4 或 9.3,而不能是 9.5;主目标只能是 VMware 虚拟机,而不能是物理服务器)

接下来我需要在本地ESXI服务器上再安装一台Linux版本的主目标服务器TargetSrv,这里我选用的是Ubuntu 16.04.4 Minimal,因为我本地保护的是台CentOS系统

这台TargetSrv的配置要求如下,可以参考https://docs.microsoft.com/zh-cn/azure/site-recovery/vmware-azure-install-linux-master-target

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台

选择“英语”作为首选语言,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_02

选择“安装 Ubuntu 服务器”,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_03

选择“英语”作为首选语言,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_04

在“时区”选项列表中选择相应选项,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_05

选择“否”(默认选项),然后按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_06

选择“英语(美国)”作为键盘语言,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_07

选择“英语(美国)”作为键盘布局,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_08

开始安装

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_09

选择继续,进行落网配置

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_10

选择手动配置网络

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_11

设置IP地址

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_12

设置子网掩码

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_13

设置网关

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_14

设置DNS地址

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_15

在“主机名”框中输入服务器的主机名,然后选择“继续”

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_16

设置域名

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_17

要创建用户帐户,请输入用户名,然后选择“继续”

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_18

设置用户名

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_19

为新用户帐户输入密码,然后选择“继续”

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_20

再输入一次密码

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_21

在加密主目录的下一项选择中,选择“否”(默认选项),再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_22

如果显示的时区正确,请选择“是”(默认选项),然后按 Enter。 要重新配置时区,请选择“否”

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_23

在分区方法选项中选择“引导式 - 使用整个磁盘”,然后按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_24

在“选择要分区的磁盘”选项中选择相应的磁盘,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_25

选择“是”将更改写入磁盘,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_26

在配置代理选项中选择默认选项,再选择“继续”按钮并按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_27

在管理系统升级相应选项中选择“不自动更新”选项,再按 Enter(备注:由于 Azure Site Recovery 主目标服务器需要非常特定的 Ubuntu 版本,因此需确保已为虚拟机禁用内核升级。如果启用,任意常规升级都会导致主目标服务器无法正常工作。 请务必选择“不自动更新”选项)

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_28

选择默认选项。 若要对 SSH 连接使用 openSSH,请依次选择“OpenSSH 服务器”选项和“继续”

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_29

在安装 GRUB 启动加载程序的选项中,选择“是”,再按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_30

为启动加载程序安装选择相应的设备(推荐 /dev/sda),然后按 Enter

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_31

选择“继续”,然后按 Enter 来完成安装

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_32

在完成安装后,使用新用户凭据登录 VM

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_33

按下列屏幕截图中所述步骤来设置 ROOT 用户密码。 然后以根用户身份登录

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_34

如果之前安装的步骤没有手动配置IP的话默认就是自动获取IP,如果要安装好系统后更改IP为手动配置,可以继续在root帐户下执行

vi /etc/network/interface

修改如下后保存

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_35

最后重启网络服务/etc/init.d/networking restart

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_36

接下来把这台配置成主目标服务器角色,首先需要获取Linux虚拟机每一个SCSI硬件的ID,先关闭该虚拟机,编辑该虚拟机,选择高级的配置参数

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_37

查看是否存在包含 disk.EnableUUID 的行。

  • 如果该值存在且设置为 False,请将它更改为 True。 (值不区分大小写。)

  • 如果该值存在且设置为 True,请选择“取消”。

  • 如果该值不存在,请选择“添加行”。

  • 在名称列中添加 disk.EnableUUID,并将值设置为 TRUE

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_38

接下来启动该虚拟机,该虚拟机需要下载其他安装包,所以需要访问internet,如果不能访问请手动安装

apt-get install -y multipath-tools lsscsi python-pyasn1 lvm2 kpartx

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_39

接下来下载主目标角色安装包,也可以独立下载安装包

wget https://aka.ms/latestlinuxmobsvc -O latestlinuxmobsvc.tar.gz

备注:请务必将安装程序下载并解压缩到主(Home)目录。 如果解压缩到 /usr/Local,则安装会失败

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_40

确认是在主目录

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_41

当然也可以从我们之前部署好的进程服务器(配置服务器)获取安装程序:

在进程服务器(配置服务器)上,转到 C:\Program Files (x86)\Microsoft Azure Site Recovery\home\svsystems\pushinstallsvc\repository。

从进程服务器(配置服务器)复制所需的安装程序文件,并在主目录中将它保存为 latestlinuxmobsvc.tar.gz

接下来解压该压缩包文件

tar -zxvf latestlinuxmobsvc.tar.gz

指定文件权限

chmod 755 ./ApplyCustomChanges.sh

接下来执行运行脚本

./ApplyCustomChanges.sh

(备注:仅在服务器上运行该脚本一次)

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_42

接下来重启下该服务器,重启好后root登陆执行multipath -ll获取保留磁盘的多路径ID号

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_43

格式化该保留磁盘并在该磁盘上创建文件系统

mkfs.ext4 /dev/mapper/36000c299c28bc9720c43f49a1a7e7706

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_44

创建好文件系统后,装载保留磁盘

mkdir /mnt/retention

mount /dev/mapper/36000c299c28bc9720c43f49a1a7e7706 /mnt/retention

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_45

接下来让每次系统启动后永久自动挂载保留驱动器,那么需要编辑fstab文件

vi /etc/fstab

按 Insert 开始编辑文件。创建新行并插入以下文本

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_46

按 Esc,键入 :wq(写入并退出)来关闭编辑器窗口

接下来安装主目标角色,但需要注意主目标服务器的版本应该低于或等于进程服务器和配置服务器的版本。如果不满足此条件,重新保护会成功,但复制会失败

同样先检查/etc/hosts 文件包含主机名映射到所有本机IP

接下来需要先到配置服务器复制通行密码:

C:\ProgramData\Microsoft Azure Site Recovery\private\connection.passphrase

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_47

在系统上创建一个passphrase.txt的文件,并将通行密码写进这个文件

touch passphrase.txt

echo GusW9h0A3TIxPInG >passphrase.txt

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_48

运行以下命令安装主目标服务器并将它注册到配置服务器

  • 先安装

./install -q -d /usr/local/ASR -r MT -v VmWare

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_49

  • 再注册到配置服务器

/usr/local/ASR/Vx/bin/UnifiedAgentConfigurator.sh -i 10.20.30.63 -P passphrase.txt

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_50

等到脚本执行完成。如果成功注册主目标,门户中的“Site Recovery 基础结构”页上会列出该主目标

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_51

当然也可以在这台主目标服务器上自己检查代理的版本

cat /usr/local/.vx_version

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_52

接下来继续在这台主目标角色服务器上安装Vmware Tools用于发现数据存储,安装好需要重启该服务器

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_53

在SSH中以root登陆

确定在root家目录下

cd /mnt

mkdir cdrom

cd ~

cd /tmp

mkdir VMwareTools

mount /dev/sr0 /tmp/cdrom

cd ~

cd /mnt/cdrom

cp VMwareTools-10.1.10-6082533.tar.gz /tmp/VMwareTools/

cd /tmp/VMwareTools

chmod 777 VMwareTools-10.1.10-6082533.tar.gz

tar -zxvf VMwareTools-10.1.10-6082533.tar.gz

cd vmware-tools-distrib/

./vmware-install.pl

一路回车到底,完成安装后重启

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_54

这样在VCenter可以看到TargetSrv虚拟机的Vmware Tools状态变成绿色了

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_55

备注:

  • 切勿在主目标等任何管理组件上打开存储 vMotion。 如果重新保护成功后移动主目标,将无法分离虚拟机磁盘 (VMDK)。 此情况下,故障回复会失败。

  • 主目标不应在虚拟机上留下任何快照。 如果有快照,故障回复会失败。

  • 由于使用某些自定义 NIC 配置,网络接口已在启动期间被禁用,因此主目标代理无法初始化。 请确保正确设置以下属性。 在以太网卡文件 /etc/sysconfig/network-scripts/ifcfg-eth* 中检查这些属性。

    • BOOTPROTO=dhcp

    • ONBOOT=yes

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_56

如果您点击“完成迁移”,那么就等于砍断了本地VMware环境到Azure的复制关系,也可以理解为本地的业务虚拟机彻底上Azure来运行业务系统对外提供服务了!

在“重新保护”中,确保选择“Azure 到本地”。

指定本地主目标服务器和进程服务器。

在“数据存储”中,选择要将本地磁盘恢复到的主目标数据存储,如果VM还存在,需要选择源VM所在的数据存储磁盘。

选择主目标保留驱动器。会自动选择故障回复策略。

单击“确定”开始重新保护。一个作业会开始将虚拟机从 Azure 复制到本地站点。 可以在“作业”选项卡上跟踪进度

备注:如果要将 Azure VM 恢复到现有本地 VM,请使用读/写访问权限将本地虚拟机的数据存储装载在主目标服务器的 ESXi 主机上

在点击“重新保护”之前,Azure上的CentOSWeb虚拟机是正在运行状态!

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_57

可以在作业里看到详细的步骤和进度

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云平台_58

此刻也可以查看TargetSrv里保留磁盘的空间使用情况

52.本地VMware环境虚拟机的异地(Azure)容灾(下)_云计算_59

到这里就基本介绍完如何搭建Linux的主目标服务器的全部过程以及后续如何点击重新保护的流程了,但重新保护是否还有一个要求:从 Azure 复制到本地的操作只能通过 S2S *** 或 Expre***oute 网络的专用对等互连进行。

所以我的环境没有部署站点到站点的***,因此必然是无法重新保护了,这里我就不再演示

剩下的就是完成重新保护后就可以运行从Azure上的这台CentOSWeb虚拟机故障转移回复到本地了,大致步骤和《本地Hyper-V虚拟机的异地(Azure)容灾》最后的内容差不多,这里我就用官网的内容给大家描述下大致的步骤,具体可以参见:https://docs.azure.cn/zh-cn/site-recovery/vmware-azure-tutorial-failover-failback(国内版)https://docs.microsoft.com/zh-cn/azure/site-recovery/vmware-azure-tutorial-failover-failback(国际版)

运行从 Azure 到本地的故障转移

若要复制回本地,需要使用故障回复策略。创建用于复制到 Azure 的复制策略时,此策略自动创建:

  • 此策略自动与配置服务器关联。

  • 此策略无法修改。

  • 策略值如下:

    • RPO 阈值 = 15 分钟

    • 恢复点保留期 = 24 小时

    • 应用一致性快照频率 = 60 分钟

运行故障转移,如下所示:

  • 在“复制的项”页中右键单击该计算机,然后单击“非计划的故障转移”。

  • 在“确认故障转移”中,验证故障转移方向为从 Azure 转移。

  • 选择要用于此故障转移的恢复点。 应用一致性恢复点在最新恢复点之前发生,这会导致丢失某些数据。 故障转移运行时,Site Recovery 会关闭 Azure VM,并启动本地 VM。 这会导致出现停机时间,因此请选择适当的时间。

  • 右键单击该计算机,然后单击“提交”。 由此触发的作业会删除 Azure VM。

  • 验证 Azure VM 已按预期情况关闭。

将本地计算机重新保护到 Azure(回到最初让本地的CentOSWeb作为提供服务的主服务器,把本地增量变化的数据同步复制到Azure恢复保管库实例里)

数据现应返回到本地站点,但不会复制到 Azure。 可按如下操作开始再次复制到 Azure:

  • 选择此保管库,单击“设置”>“复制的项”,再选择已故障回复的 VM,然后单击“重新保护”。

  • 选择用于将复制数据发送到 Azure 的进程服务器,然后单击“确定”。

重新保护完成后,该 VM 将复制回 Azure,此时可按需运行故障转移。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

常见问题:

摘自:https://docs.microsoft.com/zh-cn/azure/site-recovery/vmware-azure-reprotect#error-code-95226

  • 当前,Site Recovery 仅支持故障回复到虚拟机文件系统 (VMFS) 或 vSAN 数据存储。 不支持 NFS 数据存储。 由于此限制,如果使用 NFS 数据存储,则重新保护屏幕中的数据存储选择输入将为空;或者它会显示 vSAN 数据存储,但在执行作业时将失败。 如果打算执行故障回复,则可在本地创建 VMFS 数据存储并故障回复到该数据存储。 此故障回复操作将引发完整下载 VMDK 的操作。

  • 如果执行只读的用户 vCenter 发现并保护虚拟机,保护会成功且故障转移可正常工作。 进行重新保护期间,操作会失败,因为无法发现数据存储。 症状是在重新保护期间数据存储没有列出。 若要解决此问题,可以使用具有适当权限的帐户更新 vCenter 凭据并重试该作业。

  • 在故障回复 Linux 虚拟机并在本地运行它时,会看到网络管理器程序包已从该计算机卸载。 发生此卸载的原因是虚拟机在 Azure 中恢复时,网络管理器程序包遭到删除。

  • 当 Linux 虚拟机配置有静态 IP 地址且故障转移到 Azure 时,将通过 DHCP 获取 IP 地址。 当故障转移回复到本地时,该虚拟机会继续使用 DHCP 获取 IP 地址。 如有需要,请手动登录到该计算机并将 IP 地址设置回静态地址。 Windows 虚拟机可以重新获取其静态 IP。

  • 如果使用 ESXi 5.5 免费版或 vSphere 6 虚拟机监控程序免费版,则故障转移会成功,但故障回复不会成功。 要启用故障回复,请升级为程序的评估许可证。

  • 如果无法从进程服务器访问配置服务器,请使用 Telnet 在端口 443 上检查与配置服务器的连接。 也可以尝试从进程服务器 ping 配置服务器。 连接到配置服务器后,进程服务器也应会发出检测信号。

  • 作为物理本地服务器保护的 Windows Server 2008 R2 SP1 服务器无法从 Azure 故障回复到本地站点。

  • 在以下情况下无法进行故障回复:

    • 已将计算机迁移到 Azure。 了解详细信息。

    • 已将 VM 移到另一个资源组。

    • 已删除 Azure VM。

    • 已对 VM 禁用保护。

    • 在 Azure 中手动创建了 VM。 计算机应具有已在本地最初受保护和故障转移到 Azure 之前重新保护。

    • 只能故障回复到 ESXi 主机。 不能将 VMware VM 或物理服务器故障回复到 Hyper-V 主机、物理计算机或 VMware 工作站。