之前的文章里我们说明重装vSAN节点操作系统以及挪动vSAN磁盘的场景:
今天我们来说下在vSAN环境中如何迁移vSAN主机到新的vCenter中,这个问题之前已经有许多人问过了。其实针对这个问题,VMware已经有官方的文档进行说明,例如官方文档:Movinga vSAN cluster from one vCenter Server to another (2151610)。我们尽可能的把环境复杂化,再把重点的步骤详细讲一讲。
在迁移vSAN主机的过程中,有三个问题需要讨论:
- 整个迁移过程是否影响VM运行?
- 分布式交换机该如何恢复?
- 导入之前备份的配置
- 手工创建新的分布式交换机
- 存储策略如何恢复?
好了,我们来继续盘vSAN!!!
实验目标:
========================
故障现象 | 解决方案 | 期待结果 | 是否符合预期 |
vSAN环境中vCenter发生严重故障,无法启动 | 创建新的vCenter,把现有vSAN主机添加进去 | 整个过程不影响VM运行,没有任何数据丢失。 | |
实验环境:
===================
- 原vSAN集群状态:
四节点的vSANCluster
主机分别是esxi62-1,esxi62-2, esxi62-4, esxi62-5
- 分布式交换机状态
包含四台vSAN主机
物理上联链路:
每台主机vmnic3对应上行链路1,提供vSAN使用
每台主机vmnic2对应上行链路2,提供虚拟机网络
vSAN网络端口组:
这四台主机的vSAN端口在分布式交换机里。
每台主机的vSAN vmk2 在这个端口组里
虚拟机网络端口组:
导出分布式交换机配置
为了后面的演示,我们先导出分布式交换机的配置信息。
点击下一步保存配置文件
- 虚拟机状态:
虚拟机Test-VM的VMDK文件使用FTT=1,SW=2的存储策略,每个对象的两个组件分布在不同主机上。
虚拟机使用分布式交换机上的虚拟机网络端口组
整个实验过程中会长ping这台VM的IP地址
实验步骤:
================
(1) 创建新的VC,这里使用的VCSA6.7U2版本,具体部署的过程就不写了。记得使用域名而不是IP地址哦~
(2) 在新VC上创建新的vSAN集群,记得开启vSAN功能
(3) 在新vSAN集群中添加vSAN主机
注意:这里建议使用flash版本的web client一台一台进行添加。
如果在Html5版本的界面进行添加,则会要求把主机至于维护模式,如下图:
四台都加入后如下图所示
添加过程不会影响VM的运行!!!
(4) (方法一) 使用导入方式恢复分布式交换机配置
这一步要注意:
导入完成后,可以看到分布式交换机已经存在,但是里面信息是空的,需要手工进行配置。具体步骤见后文。
确保不要勾选上“保留原始分布式交换机标示符和端口组标识符”,
Please make sure , while importing dvswitch settings to a different vCenter Server, do NOT selectPreserve original distributed switch port group identifiers.
(如果勾选了这个选项,则导入后可以看到之前的信息,例如主机)
(5) (方法二) 手工创建分布式交换机
绝大多数的情况下,客户没有提前导出分布式交换机的配置,所以这种情况下,需要手工创建新的分布式交换机,并且把vSAN节点的网络切换到新的分布式交换机上。大体过程如下。
创建新的分布式交换机
使用新的名称
按照原来的配置进行配置
创建VM网络的端口组
(6) 迁移vSAN网络到新的分布式交换机
添加主机到分布式交换机
分配vSAN使用的物理上联网口
调整vSAN vmk
选择vSAN网络端口组
点击确认
整个过程VM正常运行不会丢包
(7) 迁移虚拟机网络
添加需要管理的主机
调整上行链路
选择后如下图
迁移虚拟机网络
点击确认
测试环境中,丢了一次包
至此,已经完全把vSAN主机网络切换到新创建的分布式交换机
(8) 恢复vSAN存储策略
在迁移到新的vCenter之后,vSAN对象使用的依旧是原来vCenter里定义的存储策略。因此我们需要创建新的存储策略,并且应用到VM上。否则在新vCenter中是找不到原来VM到存储策略的。
- 如果客户之前使用的vSAN 默认存储策略”,那么只需要给VM应用新vCenter的“vSAN 默认存储策略”即可,整个过程不会触发数据重构。
- 如果客户知道之前的存储策略是什么,那么创建一个相同的存储策略,然后应用给VM,也不会触发数据重构。
- 如果客户不知道之前的存储策略是什么,那么可以使用RVC命令来根据对象来恢复存储策略
RVC下检查当前VM使用的存储策略
vsan.vm_object_info
当前使用的存储策略是:77704660-dd79-4a55-8549-ce3c1eef8b9a
列出当前的检测到所有存储策略,这里显示出一个未识别的存储策略
vsan.recover_spbm
-d,--dry-run: Don't take any automated actions
-f,--force: Answer all question with 'yes'
按照提示创建新的存储策略,例如
spbm.profile_create --rule VSAN.stripeWidth=2 --ruleVSAN.hostFailuresToTolerate=1 77704660-dd79-4a55-8549-ce3c1eef8b9a-gen0
执行完成后,发现之前未知的存储策略已经恢复
UI上检查,新的存储策略已经创建
给虚拟机应用新的存储策略
虚拟机存储策略显示正常
至此,vSAN环境中切换到新vCenter全部过程完成,我们简单总结下:
故障现象 | 解决方案 | 期待结果 | 是否符合预期 |
vSAN环境中vCenter发生严重故障,无法启动 | 创建新的vCenter,把现有vSAN主机添加进去 | 整个过程不影响VM运行,没有任何数据丢失。 | 是 |
结论
================================
- 迁移vSAN 主机到新vCenter过程中不会影响VM业务运行,但是建议在窗口时间进行操作。
- 建议使用老版本的web client(flash),把vSAN主机一台一台加入到新创建的vSAN集群。
- 恢复分布式交换机可以使用两种方法:
“导入之前备份的配置”或者“手工创建新的分布式交换机”。切换分布式交换机的过程不会影响VM运行,但是建议在窗口时间进行操作。 - 恢复存储策略使用两种方法:
“创建和原来一样的存储策略”或者“使用RVC命令恢复之前的存储策略”。两种方法都不会触发数据重构。