13
2024
05
17:07:29

VMware vSAN超融合系统环境开关机实战

在市电和UPS正常供电的情况下,VMware vSAN 超融合系统不需要做关机处理。一旦市电发生故障,在UPS供电的情况下,由于UPS电池电量有限,需要及时关闭vSAN群集中的所有ESXi主机。如果不及时关闭vSAN群集,在UPS电池电量耗光后,服务器机柜突然断电,有可能导致vSAN群集中的虚拟机组件对象损坏,造成不可逆的损失,进而导致业务虚拟机不可恢复。

一、系统软硬件环境说明

当前的VMware超融合系统(我司实验所用)由三台vSphere ESXi 8.0 Update1主机组成(3台ESXi 主机:applesxi01, applesxi02, applesxi03组成的vSAN群集),有一台万兆光交换机作为vSAN网络、vMotion网络交换机。在超融合的存储空间vsanDatastore中,驻留有业务虚拟机系统,vCenter Server Appliance启用了vCenter HA群集功能,VC虚拟机存储在每个主机的本地存储空间中。在这个vSAN群集中,安装了NSX组件环境和卡巴斯基无代理防病毒系统。

二、采用专门的方法安全关闭和重启vSAN群集的目的

vSAN集群和传统的vSphere群集有着本质的区别。传统的vSphere群集由3台或多台ESXi主机通过物理共享存储设备组成。每台ESXi主机的本地存储和共享存储可以说与其它的ESXi主机的存储没有关系。任意一台主机宕掉了,不影响其它主机上的存储在其本地和共享物理存储卷上的业务虚拟机的运行。因此每台ESXi主机可以采用标准的关机操作进行关机。vSAN集群则不同了。由于每个贡献本地SSD缓存盘和容量盘的ESXi主机,事实上,基于vSAN存储策略,都分布式存放着虚拟机的不同组件对象,任何一台主机被随意关机了,就会影响到存储在vsanDatastore共享存储上的业务虚拟机的可用性,由于虚拟机组件投票不足50%,就有可能导致虚拟机无法访问。因此必须采用专门的关机过程,来保证在关闭vSAN集群后,不至于损害到业务虚拟机及其数据,并能够安全地重启和恢复业务系统的存储功能。

vSAN集群在带来构造共享存储的成本优势、纵向和横向扩容的简单性,也同时带来了系统管理上的复杂性。需要加以学习和实践,才能有效掌握vSAN群集安全关闭和重启的技能,确保业务数据和系统安全并可持续可用。

三、关闭和重启整个vSAN群集的方法

关闭和重启vSAN集群有2种方法:

方法1:使用“关闭集群”向导关闭和重起vSAN集群,如下图所示:

此功能是vSAN 7.0Update 3及更高版本才有的新功能。此种方法适合非专业人员,对群集实现自动化的关闭处理,直至安全地关闭所有集群主机。这种方法,需要客户操作的步骤比较简单,但关机过程耗费的时间比较长,根据主机数量,正常要花费半小时或更长的时间,才能完成所有主机的关闭。

方法2:使用手动命令关闭并重启vSAN集群

此方法适合虚拟化专业人员,需要通过SSH协议,登录到每个vSAN集群主机,使用Python脚本和esxcli命令,完成所有主机的安全关机。此种方法,脚本和命令比较多,步骤顺序严格,一步不能出错。完成关闭全部群集主机,耗时比较短,一般10分钟左右,时间可控。

四、关闭群集前的预备性操作或条件确认

不论哪种方法,在执行关闭群集之前,执行下列预备性操作都是必须的:

1、在VC虚拟机的/etc/hosts文件中,添加下列解析记录,以消除VC对Windows AD/DNS服务器的依赖。

# Added by Xu Wei

172.16.100.215 vcentersrv8-1.applnet.cn vcentersrv8-1

172.16.100.168 applesxi01.applnet.cn applesxi01

172.16.100.178 applesxi02.applnet.cn applesxi02

172.16.100.188 applesxi03.applnet.cn applesxi03

# End on 2023-8-16.

2、将vCenter HA的高可用性功能,置于维护模式或者禁用模式

访问vCenter HA的配置界面,记下当前活动的vCenter HA集群节点是哪一个虚拟机,位于哪一个ESXi主机上。如下图所示,活动节点是172.16.102.101节点,此节点位于applesxi01主机上:

如果群集没有处于维护模式,需要点击界面右上角的“编辑”功能,在弹出的窗口中,点选“维护模式”或“禁用vCenter HA”功能,点“确定”,使vCenter HA处于维护模式或禁用时,结果如下图所示:

使vCenter HA群集处于维护模式或禁用的目的,是在手工关闭被动节点和见证节点时,不会影响到vCenter Server Appliance的管理功能,引起vCenter HA群集的主动节点和被动节点的故障切换。因此即使被动节点和见证节点不可用,仍然可以正常管理VC环境。

3、检查群集的vSphere HA(群集高可用性功能)状态,如果处于打开状态,要执行关闭vSphere HA功能操作。如果不执行关闭vSphere HA功能的处理,在执行主机关机操作时,群集会认为是一次主机故障,导致发生虚拟机不正常故障自动迁移操作,进而导致整个集群出现混乱。关闭vSphere HA功能的界面,如下图:

4、检查 vSAN 运行状况服务以确认集群处于正常运行状态。

操作方法是选中集群对象,进入“监控\vSAN\Skyline Health”, 确认vSAN群集没有重大的故障问题需要处理。如下图所示:

只有确认了vSAN群集没有问题,才能执行后面的操作。

5、确认vSAN所有重新同步任务已完成

操作方法是,选中vSAN群集,进入“监控\vSAN\重新同步对象”界面,确认所有组件同步操作已完成,如下图所示:

6、在VC的管理界面,将每台主机的随主机启动自动启动虚拟机功能关闭。以主机applesxi01为例,如下图所示:

五、详细的关闭和重启vSAN集群的步骤

下面首先讲述第一种方法:使用“关闭集群”向导关闭和启动vSAN群集的操作步骤。

使用关闭群集向导关闭和启动vSAN集群

关机过程和步骤:

  1. 执行本文档第二项中要求的预备性操作检查步骤。

  2. 关闭除了vCenter Server 虚拟机(主动节点)、vCLS 虚拟机(系统服务虚拟机)和文件服务虚拟机之外(如果开启了vSAN群集的File Service功能,在ESX Agents资源池下,会有vSAN File Service虚拟机列表)的存储在 vSAN 集群中的所有虚拟机的电源。

  3. 右键单击 vSphere Client 中的 vSAN 集群,然后选择菜单项“关闭集群”。此外,还可以单击集群"\配置\vSAN 服务”页面上的“关闭集群”功能,执行“关闭集群”的操作。这项操作会安全地关群集中的所有ESXi主机,并保证主机重启后,vSAN功能能自动恢复。

  4. 切记不是操作位于此功能旁边的“关闭vSAN”功能!!!关闭vSAN功能是取消vSAN功能,会导致所有存储在vsanDatastore存储中的所有业务系统不可用,且不会自动关闭ESXi主机。如下图所示:

5、在“关闭集群”向导中,确认“关闭”预检查具有绿色的复选标记。解决任何带有红色感叹号的问题。单击下一步。如下图所示:如果 vCenter Server 设备部署在 vSAN 集群上,则“关闭集群”向导将显示 vCenter Server 通知。记下承载vCenter HA主动节点的ESXi主机的 IP 地址,以备在集群重新启动期间使用。如下图所示:

6、输入执行关机的原因,如“计划维护”,或“处理故障”等,然后单击关机。“vSAN 服务”页面改为显示关于关机过程的信息。关闭群集功能,将执行下列自动处理步骤。如下图所示:

7、监控关机过程。vSAN 将执行关闭集群、关闭系统虚拟机电源和关闭主机电源的步骤。在VC关闭后,将看不到进一步的关机过程信息提示,这时可以通过vSphere Host Client,登录到VC主动节点所在的ESXi主机(登录方法如:https://172.16.100.168/ui),继续监控vSAN群集的关机执行过程和事件记录,直到群集中的所有主机自动完成断电操作。如下图所示:使用vSphere Host Client登录VC主动节点所在的ESXi主机,继续监控集群的关机过程,如下图所示:

最后,所有ESXi主机会自动完成断电处理。

开机过程:

8、在启动好全部网络交换机后(包括2台vSAN存储交换机、核心业务交换机等),在间隔比较短(不得超过60分钟)的时间内,打开所有vSAN集群的主机。

9、要通过KVM设备连到每个ESXi主机, 监控其启动过程,防止主机因为电池或其它BIOS的原因,没有正常启动,并及时处理,保证每个ESXi主机能正常启动起来。

10、在ESXi主机启动完成后,登录到VC主动节点所在的ESXi主机,等待并监控VC主动节点的自动启动过程。如下图所示:

11、在vCenter Server Appliance主动节点可用后,通过vSphere Client登录到VC环境(https://172.16.100.215/ui),鼠标右键单击vSAN群集对象(ApplCluster),然后选择菜单“重新启动集群”项,等待系统完成vSAN集群完成启动操作。此外,也可以选中vSAN集群,进入“配置\vSAN\服务”界面,点击系统提示的“重新启动集群”功能,完成vSAN集群功能启动操作。这个界面会显示“重新启动集群”功能执行过程中完成的所有系统处理操作结果。

如下图所示:

12、使用vSphere Host Client登录到每个ESXi主机,手工上电AD域服务器、NSX Manager虚拟机、防病毒SVM虚拟机(以AO起头的安全虚机,如“AO Kaspersky Lab Esec 6.1 2CPU 4G RAN(1)”虚拟机),等待这些虚拟机启动完成。必须等防病毒SVM虚拟机启动成功并稳定运行后,才能在VC环境中,正常上电其它业务虚拟机,否则系统会报出:“主机‘hostname’上当前未部署所需的所有代理虚拟机。导致无法上电虚拟机”。

如下图所示:

13、集群重新启动后,检查 vSAN 运行状况服务并解决任何未解决的问题。

14、使用vSphere Client再次进入vCenter Server Appliance,完成VC的被动节点、见证节点及其它业务虚拟机的上电操作。

15、进入vCenter HA的配置界面,点击“编辑”功能,勾选“启用vCenter HA”功能。让vCenter Server系统处于vCenter HA的保护状态。

16、根据需要,也可开启群集的vSphere HA功能。

以上步骤,使用“关闭集群”向导,完成了vSAN集群的关闭和启动过程。

备注:关键一点,是在执行“关闭集群”向导之前,要关闭除VC主动节点、系统服务虚拟机vCLSvSAN群集文件服务之外的所有虚拟机,再执行“关闭集群”向导。即使是基础服务虚拟机(如ADDNSDHCP服务)也要事先关闭电源,否则执行“关闭集群”向导操作时,会导致vSAN群集环境发生意料之外不可预见的系统故障,导致群集环境不可用,虚拟机系统丢失。

有一个最佳操作实践是将vCenter Server主动节点虚拟机以精简单置备模式,放置于ESXi主机的本地存储空间上,这样当vsanDatastore存储不可用时,仍然能够正常启动vCenter Server主机节点虚拟机,以处理可能的故障问题。

使用手动命令关闭和启动vSAN集群

下面讲述使用手动方式执行vSAN集群的关机和启动过程的步骤:

备注:只有精通VCESXivSAN群集技术的工程师,才能实施手动方式关闭vSAN集群!除非工作流要求手动关闭,否则请使用“关闭集群”向导。手动关闭 vSAN 集群时,请勿在集群上停用 vSAN

手工关闭vSAN群集过程:

1、执行第二项中要求的预备操作步骤检查。

2、关闭群集的vSphere HA功能,这样集群就不会将主机关机事件登记为故障,并触发虚拟机迁移操作。

3、关闭vSAN群集的File Service功能,系统然后会自动关闭vSAN File Service使用的虚拟机。

4、关闭托管在vSAN集群中的除vCenter Server主动节点、系统服务虚拟机vCLS之外的所有虚拟机。

5、修改vCenter Server的高级参数,config.vcls.clusters.domain-c8.enabled(本系统的域名名称是domain-c8, 如果没有此参数,要手工创建此参数,config.vcls.clusters.domain-c<number>.enabled,每个集群的环境不同,domain-c<number>中的number值不同,要根据自己的集群环境呈现的值,加以替换),使其值置为false, 以自动关闭群集的vCLS服务虚拟机功能并删除这些虚拟机。如下图所示:


修改了上述参数后,VC系统会在很短的时间内,自动关闭和删除位于vCLS目录中的vCLS系统虚拟机。vCLS系统虚拟机是执行群集的DRS功能(动态资源调度和迁移虚拟机)的必要条件。如下图所示:

6、确认vSAN群集的“重新同步对象”界面中,没有要同步的vSAN组件对象。如下图所示:

7、检查虚拟机清单中,除vCenter Server主动节点虚拟机处于上电状态之外,所有的业务虚拟机都要关闭。

8、关闭vCenter Server主动节点虚拟机。并记录下vCenter Server主动节点虚拟机所在的ESXi主机。它是必须重新启动其中 vCenter Server 虚拟机的ESXi主机。也可以使用vSphere Host Client登录到每个ESXi主机(如https://172.16.100.168/ui),确认已关闭了所有的虚拟机。如下图所示:

9、使用SSH软件登录到每台参与vSAN群集的ESXi主机,通过执行下列命令,停止从vCenter Serve中更新集群成员。确保在所有主机上,执行以下命令:

esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates

执行上述命令时,大小写敏感,可将此命令直接复制到SSH控制台界面执行。如下图所示:

10、登录到集群中的任一ESXi主机。且仅在该主机上运行以下命令。如果同时在多个主机上运行该命令,则可能会导致争用情况,从而出现意外结果。该Python脚本命令如下:

python /usr/lib/vmware/vsan/bin/reboot_helper.py prepare

该命令如果成功执行,将返回并打印以下内容:

   集群准备完成 (Cluster preparation is done)。

   结果如下图所示:

11、在无操作模式下将所有主机置于维护模式。在每个主机的命令行模式下,执行下列命令:

   esxcli system maintenanceMode set -e true -m noAction

   在所有主机成功进入维护模式后,执行任何必要的维护任务并关闭主机电源(手工重启ESXi主机的命令是:reboot, 关闭ESXi主机的命令是:poweroff)。

   如下图所示:

手工启动vSAN群集过程:

12、在已上电好所有的存储交换机、系统交换机后,在间隔比较短的时间内(不超过60分钟),打开所有ESXi电源,使用KVM监控每个主机的启动过程,直至正常启动完成。

13、如果所有主机在打开电源后者恢复正常,则将所有主机都退出维护模式。在每个ESXi主机的命令行下,执行下列命令来完成此操作:

   esxcli system maintenanceMode set -e false

在所有主机上,执行上述步骤命令。如下图所示:

这时在每个ESXi主机下的虚拟机可能呈现无效状态,这是因为这时vsanDatastore还不可用,是可预期的行为。这时切不可对处于无效状态的虚拟机进行人工操作。如下图:

在成功执行了下一步的操作后,vsanDatastore存储才变得可用,托管的这些虚拟机的状态也就变成正常了。

14、登录到集群中的任一主机,且仅在该主机上运行以下命令。如果同时在多个主机上运行该命令,则可能会导致争用情况,从而出现意外结果。

python /usr/lib/vmware/vsan/bin/reboot_helper.py recover

该命令将返回并打印以下内容:

已成功完成集群重新引导/打开电源操作 (Cluster reboot/power-on is completedsuccessfully)!

如下图所示:

登录到每个ESXi的web界面,刷新虚拟机清单,可以发现,所有的虚拟机的存储状态都变得正常了。如下图所示:

 15、通过在每个主机上运行以下命令,确认所有主机在集群中均可用。

esxcli vsan cluster get

如下图所示:

16、通过在集群中的 ESXi 主机上运行以下命令,允许从 vCenter Server 中更新集群成员。确保在所有主机上运行以下命令。

esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates

如下图所示:

17、进到vCenter Server主动节点驻留的ESXi主机的Web界面(如https://172.16.100.168/ui),上电网络基础服务虚拟机,如AD、DNS、DHCP虚拟机,上电vCenter Server主动节点。再进到其它ESXi主机的Web界面,上电vCenter Server被动节点、vCenter Server见证节点。并等待VC管理功能界面可用(大概需要10分钟左右)。

如下图所示:

18、在VC管理功能可用后,登录VC的vSphere Client界面(http://172.16.100.215/ui),进入VC的高级参数配置界面,将config.vcls.clusters.domain-c8>.enabled,使其值置为true, 恢复群集的vCLS功能。VC会在极短的时间,通过系统自带的OVF模板自动重新创建vCLS群集,并上电可用。vCLS系统虚拟机功能是群集执行虚拟机动态资源调度和vMotion功能(DRS)的必要条件。

19、登录每个ESXi主机的Web界面(如登录applesxi01主机,https://172.16.100.168/ui),上电NSX manager组件虚拟机(nsx-mgr-1, nsx-mgr-2, nsx-mgr-3, edge-1, edge-2)、防病毒SVM虚拟机,并等待NSX集群虚拟机和防病毒SVM代理虚拟机启动完成和稳定运行,大概需要10分钟左右。

20、登录到VC的管理界面,上电其它业务虚拟机。如果碰到系统提示:主机“hostname”上当前未部署所需的所有代理虚拟机。导致无法上电虚拟机。这是由于卡巴安全虚拟机尚未稳定运行,稍等几分钟再尝试上电这些虚拟机,直到可以启动这些虚拟机为止,或者可以考虑重新启动每个ESXi主机上的卡巴安全SVM虚拟机(如AO Kaspersky Lab_EPsec 6.1 xxx)。如下图所示:

系统会在每个ESXi主机上,安装卡巴防病毒代理组件。如下图所示:

21、通过在通过 vCenter Server 重新启动其余的虚拟机。检查 vSAN 运行状况服务,并解决任何未解决的问题。

22、如果有必要,可重新启用群集的vSphere HA功能。

至此完成了vSAN集群的手动启动任务。

六、文档引用说明

上述操作过程说明,引用了下列知识库文档的内容:

关于 vSAN 监控和故障排除

vsan-80-monitoring-troubleshooting-guide.pdf(备注:文档中提及的使用vSAN群集关闭向导时,“可以同时保留VC主动节点和基础服务虚拟机处于上电状态时,进行关闭群集操作”。经过实验验证,存在操作风险,有可能导致群集功能失效。因此必须关闭基础服务虚拟机,只保留VC主动节点处于上电状态时,方可执行vSAN群集关闭向导。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/6057.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: