0%

vSAN 实验记录

实验介绍:

在上期的实验中,搭建了一般企业常用的 ESXi 单存储集群,本次实验搭建的是不需要单独存储服务器的 vSAN 集群。
vSAN 集群可以使用本机已有的硬盘组成跨机器的存储空间,组成集群的机器配置不需要相同,也可以支持迁移、容错等高级特性。
vSAN 集群需要主机间有 10G 以上的网络相连,每台主机需要一个以上的固态磁盘作为存储的缓存盘,一个以上的机械盘作为容量盘,如果是注重 IOPS 的应用环境,也可以使用全固态磁盘组成全闪存集群。
vSAN 集群有多种部署方式,标准的 vSAN 集群需要 3 台以上的机架式服务器以实现大型企业的高可用服务,本次实验选择的是双节点 vSAN 集群,使用两台高配置机架式服务器和一台低配置塔式服务器搭建,模拟一般企业的双机热备业务环境。

实验机配置:

T140(见证):

型号:Dell PowerEdge T140
处理器:Intel® Xeon® E-2224 * 1
内存:8G * 4
硬盘:2T HDD
网卡:板载双千兆电口

R740(主):

型号:Dell PowerEdge R740
处理器:Intel® Xeon® Gold 5218R * 2
内存:32G * 2
硬盘:480G SSD * 2,8T HDD * 1
网卡:板载 4 千兆电口,X710 双万兆光口 * 1

R740(备):

型号:Dell PowerEdge R740
处理器:Intel® Xeon® Silver 4214R * 2
内存:32G * 2
硬盘:480G SSD * 2,8T HDD * 1
网卡:板载 4 千兆电口,X710 双万兆光口 * 1

网络规划:

机器网卡IP 地址作用
T140千兆电口192.168.9.100ESXi 管理地址
R740(主)千兆电口192.168.9.101ESXi 管理地址
R740(备)千兆电口192.168.9.102ESXi 管理地址
R740(主)万兆光口192.168.233.101vSAN 流量,和 R740(备)光口直连
R740(备)万兆光口192.168.233.102vSAN 流量,和 R740(主)光口直连
见证虚拟机虚拟网卡192.168.9.103ESXi 管理地址
见证虚拟机虚拟网卡192.168.9.104vSAN 见证流量
vCSA虚拟网卡192.168.9.99vCenter 管理地址

部署步骤:

系统配置:

  • 在 3 台主机安装 ESXi-7.0U3c-19193900
  • 在 T140 的 ESXi 安装 vCSA-all-7.0.3-19234570
  • 在安装 vCSA 前应该把网络规划好:
    如果局域网内有可以配置的 DHCP 和 DNS 服务器,可以将 ESXi 和 vCSA 的 IP 设置为自动获取,并在安装 vCSA 的步骤中填上 FQDN;
    如果没有,必须设置 vCSA 为固定 IP 且 FQDN 留空,IP 后续无法修改,修改了 IP 会导致 vCSA 服务无法正常启动
  • 登陆 vCSA,创建数据中心,创建集群,不需要勾选集群功能
  • 连接 ESXi,将 T140 加入数据中心,两台 R740 加入集群
  • 下载 VMware-VirtualSAN-Witness-7.0U3c-19193900,在 T140 主机使用部署OVF模板导入系统作为 “见证虚拟机”
    导入步骤中需要注意的是网络的配置,默认是使用第一个网卡作为管理用,第二个是 vSAN 见证流量,分别配置好对应的静态 IP
  • 将见证虚拟机加入数据中心

网络配置:

  • 创建分布式交换机,设置 MTU 为 9000
    分布式交换机-新建
  • 将主机添加到分布式交换机并配置网卡
    分布式交换机-添加管理主机
  • 如果多台主机的网络配置相同,可以在所有主机的适配器批量选择
    分布式交换机-添加管理主机-所有主机的适配器
  • 否则可以在每台主机的适配器里选中主机,确认网卡状态,手动设置网卡
    分布式交换机-添加管理主机-每台主机的适配器-所有适配器
    分布式交换机-添加管理主机-每台主机的适配器-所有适配器-适配器属性
  • 在分布式交换机里创建用于 vSAN 的端口组
  • 在两台 R740 创建用于 vSAN 的 VMkernel 网卡,并设置和交换机匹配的 MTU(9000)
  • 启用服务:vMotion置备FT日志记录vSAN,配置对应的 IP 地址
    VMkernel网卡设置
  • 因为两台 R740 启用了 vSAN 流量的网卡使用了光纤直连,无法与见证主机通信,所以需要设置见证流量使用另外一个网卡
  • 登录到两台 R740 的 shell,运行命令 esxcli vsan network ip add -i vmk0 -T=witness
  • 可以使用 esxcli vsan network list 检查设置结果
网络配置结果:
点击展开
  • T140:
    虚拟交换机信息-100
  • R740(主):
    虚拟交换机信息-101
  • R740(主)的 VMkernel 网卡情况:
    VMkernel网卡情况-101
  • R740(备):
    虚拟交换机信息-102
  • 见证虚拟机:
    虚拟交换机信息-103

集群配置:

  • 如果集群内的机器配置相差很大,为了兼容性,可以考虑开启 EVC 功能
  • 检查准备用于 vSAN 的磁盘是否有数据,如果有分区需要清掉
  • 确认 T140 和见证虚拟机是在数据中心内而不是在集群内
    数据中心分布
  • 进入集群,配置,选择快速入门或者 vSAN 服务下启用 vSAN 功能,选择双节点vSAN集群,并按照提示声明磁盘,将固态盘声明为缓存层,将机械盘声明为容量层
    配置vSAN-声明磁盘
  • 分别将 R740(主)R740(备)配置为首选故障域辅助故障域,将见证虚拟机声明为见证主机
    配置vSAN-选择见证主机
  • 最后的配置结果:
    配置vSAN-检查
  • 等待配置完成后,可以去开启 DRSHA 等功能
集群配置结果:
点击展开
  • 开启 DRS 功能:
    配置vSAN-开启DRS
  • 开启 HA 功能:
    配置vSAN-开启HA
  • 配置完成的状态:
    配置vSAN-快速入门
    配置vSAN-vSAN服务

环境验证:

集群搭建完毕,可以开始测试双机热备的使用效果了。
双机热备的功能是通过 vSphere 集群的 Fault Tolerance 功能实现。
对虚拟机开启这个功能后,这台虚拟机的配置和磁盘文件会保存在两台物理主机的存储,在两台物理机同时运行这个虚拟机,其中一台对外提供服务,运行状态(内存)通过 vMotion 网络实时复制到另一台物理主机。
如果其中一台物理主机出现故障,另一台主机收到这个情况后马上接管业务,可以达到无损切换。
而另一种高可用技术 HA (High Availability),是在检测到有物理主机故障后,在其他主机重新启动该虚拟机,没有实时保存内存状态。

启用 FT:

  • 安装好虚拟机系统后,启用对应虚拟机的 FT 功能:
    FT-启用

  • 等待初始化完成后,开机,检查状态:
    FT-虚拟机状态
    可以看到,虚拟机目前主要运行在 192.168.9.102 上,辅助虚拟机在 192.168.9.101

  • 检查文件状态:
    FT-vSAN文件状态
    FT-vSAN虚拟对象状态
    FT-vSAN虚拟对象存放位置
    主虚拟机和辅助虚拟机的文件有分开存放,并且每个虚拟机的文件都存放到了两台物理主机上,确保无论是哪台物理机或虚拟损坏,都可以切换到另外一台

  • 检查两台物理机的虚拟机情况,发现都有存放虚拟机:
    FT-主虚拟机
    FT-辅助虚拟机

验证 FT:

断开其中一台机器的网络后,状态如下:
FT-虚拟机故障提示
FT-主机故障提示

在切换前,已经连接了该虚拟机的远程桌面并开始了 ping 测试:
FT-ping的中断情况
FT-ping总计
可以看到,在短暂的丢包后,连接恢复了。在实际的远程桌面操作中,大约无响应了 30 秒后恢复,可能是因为实验环境的网络没配置好的原因。

此时再重新接回机器的网络,虚拟机会自动同步,同步完成如下:
FT-恢复完成

至此,双机热备验证完成。
在实际的生产环境中,还需要确保网络链路可靠,vSAN、管理、业务网络等需要分开 VLAN,且需要配置链路冗余,才能确保集群可靠性。
最终效果截图:
集群最终结果