ESXi虚拟化HA高可用解决方案

2024/06 作者:ihunter 0 0

一.安装ESXi

安装ESXi的物理机建议有2块网卡,每个网卡四个网口。

两块网卡能够保证即使一块网卡出问题,系统仍能正常运行。

四个网口用于走不同流量。

按照网络配置规划,ESXi主机应该有个网络适配器,分别连接不同网段。

本应该是2块网卡的,不过操作有些麻烦,就简化为只有一块网卡了。

ESXi管理网口连接交换机的Access口,无需配置VLAN ID ESXi管理网口连接交换机的Trunk,需配置VLAN ID,这样交换机才能定位到ESXi 我们设定的是ESXi管理网口连接交换机的Access口,所以不需要配置VLAN ID

1.1-硬件配置

使用VMFusion搭建企业虚拟化环境,使用的MAC至少32G内存,300G剩余空间,硬件配置越高越好。 当然也可以选择使用windows,但配置也需要一样高。

1.2-软件配置

  • VMFusion:11。如果是Windows系统可以使用vmware workstation。

  • ESXi系统:6.7

  • VCSA:6.7

  • WindowsServer:2016

  • TrueNAS系统:12.0

  • VMRC:11.1

1.3-拓扑规划

我们需要有三台ESXi主机,因为至少三台主机才能组建群集实现VMware的高级功能。 一台存储服务器iSCSI-Storage,用于提供存储功能,VMware的高级功能需要ESXi有相同的存储。 两台Core Switch(三层核心交换机),用于网段间互通和连外网。 两台Storage Switch,用于ESXi和共享存储进行连接。

1.4-名词解释

后续会出现一些名词,这里整理出来,方便大家理解

名词解释
iSCSIiSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,是一种基于因特网及SCSI-3协议下的存储技术。
Win2016 remote access组件reve和NAT协议用于内网和外网互联
FQDNFQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号“.”)
例如:主机名是bigserver,域名是mycompany.com,那么FQDN就是bigserver.mycompany.com。[1] 
全限定域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。 
从全限定域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。 
DNS域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
MGMT网络管理端口,可以直接用网线连接,登录进防火墙以网页模式管理
Windows Server微软公司研发的服务器操作系统,提供的虚拟化区域包括适用于IT专业人员的虚拟化产品和功能,以设计、部署和维护Windows Server
VMotion将正在运行的虚拟机从一台物理服务器移动至另一台物理服务器,而不影响最终用户。
VCSAvCenter Server Appliance,基于Linux下的vCenter。集成安装了vcenter server的虚拟机,简称VCS
IDRAC远程管理接口
vshere web client管理exsi
交换机access口只能跑对应VLAN的流量
交换机trunk口能跑所有网段的流量
AD域(Active Directory Domain)来统一管理网络中的PC终端。在AD域中,DC(域控制器)包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。
FreeBSD是一种 UNIX操作系统,是由经过 BSD、386BSD 和 4.4BSD 发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。
vmkernelVMkernel是三层TCP/IP协议堆栈数据处理为ESXi提供以下服务:
VMware VMotion 
iSCSI 
NFS 
FC/SAS共享存储存储协议
EVC是 Enhanced vMotion Compatibility 的简称,是VMware群集功能的一个参数。EVC 允许在不同代 CPU 之间迁移虚拟机
DRSDistributed Resource Scheduler,将虚拟机已VMotion流量方式迁移到另一个ESXi主机中
HA高可用,物理机不可用,迁移到别的
FT容错,主从,主提供服务,从备用
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。

1.5-顺序

后面会分7讲,讲完整个环境的搭建。

  1. 如何创建三层交换机,实现网络互通

  2. 如何创建DNS服务器,实现域名和ip的解析

  3. 如何安装、配置ESXi机器

  4. 如何创建iSCSI共享存储

  5. 如何安装vCenter Server,组建好群集

  6. 如何部署AD域

  7. 启用高级功能,实现DRS、HA、FT

二.虚拟化HA高可用

2.1-VMware 服务器虚拟化高可用(HA)和虚拟化容错(FT)

2.2-VMware 服务器虚拟化热迁移(vMtion)和动态资源分配(DRS)

2.3-VMware服务器虚拟化高可用集群资源整合方案和拓扑

我们通过两台冗余DELL服务器作为计算节点、NetAPP双控制器存储作为共享存储和两台冗余万兆交换机搭建部署VMware虚拟化私有云平台。业务虚拟机合理分配:CPU 核心数、内存大小、磁盘大小。并且两台计算节点高可用资源必须满足当前业务虚拟机性能分别负载50%,防止某计算机节点故障或者宕机而不中断业务。两台VMware vSphere 通过以太网10GB NFS协议方式分别挂载NetAPP 存储卷,同时配置NFS卷快照功能定时保护虚拟机。VMware vSphere 虚拟化平台把硬件资源池化,快速部署业务虚拟机,实现HA高可用、DRS动态资源分配、在线vMotion虚拟机迁移,提高IT信息化效率并且节省成本。

2.4-VMware 服务器虚拟化软件

vCenter:ESXi管理中心

—— 标准版:最大支持1000台物理机

vSphere ESXi:虚拟化软件,按照物理CPU购买

—— VMware vSphere Basic 仅在中国大陆地区通过服务器厂商(VMware 授权 OEM 合作伙伴)销售

—— VMware vSphere® Standard™ 标准版:

—— VMware vSphere Enterprise Plus™企业增强版:

—— VMware vSphere Platinum 铂金版本

版本功能主要区别:

—— 标准版以下:vMoton 迁移、HA高可用 、FT容错(标准版)、Virtual Volumes(外部存储-SAN和NAS)、vSphere Replication(复制);

—— 标准版本以上更多:DRS(动态资源分配)、DPM(电源管理)、Distributed Switch(分布式交换机)、Stoage DRS 、Storage I/O Control 、Network I/O Control、NVIDIA GRID vGPU;

2.5-NetAPP 数据共享存储 FAS2700

FAS2700 性能参数

64GB存储缓存,同比其它品牌更有优势; 2TB SSD FlashCache,超大I/O性能提速; 4 个 10GBase-T 万兆以太网端口,灵活网络部署; 255个数据快照备份, 允许用户查看快照时间点进行文件恢复; 横向扩展支持范围扩大,可以扩展到 8 节点集群,原始容量总计超过 2.3 PB; 支持文件服务功能,同时支持AD、LDAP、NIS 域用户身份验证; 虚拟化统一存储阵列领域的领先地位,可以使用存储虚拟机 (SVM) 按应用程序划分工作负载分区。

提供VMware 虚拟化卓越的灵活性和功能更加强大的统一存储平台

2.6-启用DRS&HA&FT

对于DRS、HA的解释如下:

2.6.1-启动DRS

开启后竟然自己就迁移了DC

2.6.2-启动HA

ok后在ESXi上安装HA代理软件

一般ESXi配置多个iSCSI共享存储比较安全,如果只有一块会报警,我们可以取消这个报警

2.6.3-验证DRS

因为启动DRS的时候,SHA-DC1被自动迁移到12了,我们再将机器迁移到11,看看是不是会自动迁移到12。

2.6.3.1-准备条件

当前在12

目标ESXi需要有相同名称的端口组才能迁移,无论是手动还是DRS

很快执行完毕,移动到11上了

2.6.3.2-自动迁移验证

可以把DC1的内存配置调大,设置为all locked,但是我的机器性能有限,配置了会有些问题。鉴于启动的时候已经迁移过了,就不改了。

因为机器配置太低成功触发了自动迁移。

2.6.4-验证HA

鉴于RDS配置的激进模式太过了,我们把模式设置的温柔一些。

然后我们把SHA-DC1手工迁移到11,然后关闭11,看看是否会移动到其它主机。

2.6.4.1-准备条件

迁移过程中,我们可以观察是否服务会断

可以看到,迁移过程中,完全没有断

2.6.4.2-关机

现在我们将ESXi1主机关机

能够发现ping断了

过会我们发现能ping通了,且机器迁移到了13

重新启动一下ESXi1,一切恢复正常

2.6.5-启动FT

因为HA会有短暂的业务中断,但FT不会。

FT核心原理是创建副本虚拟机,只有主虚拟机提供服务,两者通过Fault Tolerance进行数据同步。

6.5.1-前提

我们用SHA-DC1做实验,为了满足这个前提,需要关闭CPU和内存的热添加,关闭CPU虚拟化功能。

先关机

修改配置,将热加载和虚拟化都关掉。

6.5.2-启动

执行时报错,检查发现是Kernel上的FT Service没有开启。

此处对FT进行手动开启。

这样就能成功创建FT了。因为机器配置有限,FT就不进行测试了。

三.部署AD域

3.1-安装WinSer2016虚拟机

3.1.1-上传镜像到iSCSI共享存储

先在共享存储里创建目录上传失败,原因是VCSA的证书验证问题重新执行一次就能上传了

3.1.2-创建WinSer2016模板

3.1.2.1-创建虚拟机 提供的软件中有WinSer2016.vmdk,在VCSA通过Deploy OVF Template的方式直接安装配置好的虚拟机最开始建的共享存储太小,所以重建了一块大的3.1.2.2-安装VMRC 在DNS临时服务器,我们需要用VMRC管理WinSer2016虚拟机,可以从VMRC下载,一路Next执行完毕。3.1.2.3-配置虚拟机 通过VMRC启动虚拟机gpedit.msc修改密码永不过期禁用IE增强设置:配置后就不需要不断把url添加到可信url中开启远程桌面:可通过RDP登录虚拟机,不需要通过VMRC进行登录对系统重新进行封装3.1.2.4-模板化 转换成模板,记得要移除CD\DVC

3.1.3-从模板创建WinSer2016虚拟机

3.1.3.1-创建将机器安装到ESXi1上3.1.3.2-修改硬件配置

3.2-使用WinSer2016搭建AD域环境

3.2.1-设置IP地址

3.2.2-修改机器名

3.2.3-创建AD域

一路默认设置

提升该虚拟机为DC,也就是来搭建AD域

一路Next,同时也会自动安装DNS服务

创建完成后,机器会重启

3.2.4-修改DNS地址

右键网络

提升为AD的同时,也安装了DNS

3.2.5-验证

可以在AD服务器访问外网,此时应该可以成功上网

3.3-DNS配置

3.3.1-反向查找区域

一路默认

继续一路默认

按相同方式创建20、40、50

3.3.2-正向查找区域

创建ESXi主机,vcenter server、iSCSI共享存储的A记录和PTR记录。

3.3.2.1-AD PTR记录添加

3.3.2.2-vCenter Server A记录和PTR记录

3.3.2.3-ESXi主机 A记录和PTR记录

3.3.2.4-iSCSI A记录和PTR记录

3.3.3-验证

3.4-修改DNS,改为由AD域解析

既然AD服务器也有DNS解析功能,临时DNS服务器已经没用了。

3.4.1-vCenter Server DNS修改

登录VCSA虚拟机:https://vcsa1.pushits.com:5480/login

3.4.2-DNS临时服务器的DNS地址

3.4.3-验证

vcsa能正常显示界面

vcsa虚拟机也能重新登录

同时可以尝试一下访问外网,理论上DNS服务器也可以访问外网了。

3.5-卸载临时DNS服务器

现在我们可以将临时DNS服务器的功能下掉了。

3.5.1-停止DNS

3.5.2-卸载DNS

3.6-总结

至此我们创建好了AD域,临时DNS服务器也完成了自己的历史使命。

四.创建三层交换机

本次模拟创建三层交换机,配置RIP和NAT功能,实现内网各网段互通和访问外网

4.1-创建虚拟机

通过导入Template-WinSer2016-20211012.ovf,创建虚拟机,修改名称为CoreSwitch1

4.2-配置网段与网卡

4.2.1-网段划分

划分出5个网段,分别跑不通流量 MGMT:主要跑管理流量 iSCSI Storage:主要跑存储流量 vMotion&FT:主要跑高可用相关的流量 服务器虚拟机网段:主要跑创建的虚拟机的流量 客户端电脑网段:跑客户端的流量

4.2.2-Fusion创建网段

在Fusion->偏好设置里添加对应网段。切记不要勾选任何选项。

4.2.3-配置CoreSwitch网络适配器

在CoreSwitch上添加四块网络适配器,绑定对应网段。在同一网段的机器就可相互通信了。 注意默认网卡使用桥接模式连接到外网。配置方法如下:

4.2.4-关闭防火墙

为了实现互访互通,防止有奇怪的事情发生,我们可以关闭防火墙。 输入wf.msc后出现下图,把红框里的都改成off。

4.2.5-更改机器名称

4.2.6-配置IP地址

配置交换机网关地址:

4.3-配置LAN间路由和NAT

4.3.1-安装Remote Access(远程访问)

在Server Manager中选择Add Roles and Features Wizard。

4.3.2-启动Remote Access

4.3.3-添加RIP协议

4.3.4-配置RIP

配置完成后,理论上不同网段可以相互访问了。

4.3.4-配置NAT

添加后,理论上不同网段可以访问外网。如果发现服务有失败的,可以右键重新执行。

4.4-总结

至此,我们用WinSer2016模拟出一个虚拟交换机。

五.iSCSI共享存储

通过前几节,我们创建了三层交换机、临时DNS服务器、3台ESXi主机,我们还需要有一个存储服务器。 我们创建虚拟机,安装TrueNAS Core,通过配置iSCSI服务,模拟真实的共享存储。 硬盘的话需要两块,第一块用于安装系统,第二块用于做共享存储。

  • 不要勾选拆分为多个文件

  • 第二块建议配置为2000G,只要不勾选预先分配磁盘空间,会用多少占多少,所以不要怕空间没了

5.1-创建链路聚合接口

可以将多个iSCSI网口聚合成一个使用,  如2个 network -> interfaces

5.2-创建共享存储

下面开始创建共享存储,创建的流程如下图所示,需要从左到右一步一步创建。

5.2.1-创建Pool

先模拟将磁盘做RAID,创建出PV。因为只有一块硬盘,所以做不了高级别的RAID。大家强制创建就行。

5.2.2-创建Zvol(逻辑卷)

然后在PV的基础上创建逻辑卷。逻辑卷的大小最多是PV的80%。

5.2.3-创建iSCSI

1) Portals

TrueNAS对外提供服务时,监听的IP地址

2) Initiators Groups

配置允许发现和挂载TrueNAS的网段

3) Targets

组合Portals、Initiators Groups的配置

4) Extents

Zvol和extends绑定,才能被服务器或其它设备识别,挂载成硬盘

5) Assciated Targets

将target和extends关联,这是最终被用来发现的共享存储

5.3-启动iSCSI服务

5.4-添加新硬盘

因为最初创建的磁盘只有80G不够用,所以新增了一块磁盘给iSCSI,聚合接口、portals、Initiators Groups、Targets用老的,Extents、Assciated Targets我都建了新的。

六.安装vCenter Server

6.1-管理规模

对VCSA的配置不同,管理的规模也不同。

-部署方式

VCAS提供多种部署方式,我们使用嵌入式部署

6.2-VCSA虚拟机安装

生产环境中,VCSA最终应该装到共享存储中。需要根据不同情况做不同选择。

  • iSCSI:先将vCenter Server安装到ESXi上,然后通过VCSA连上iSCSI,再将VCSA移到iSCSI

  • FC\SAS共享存储:ESXi能直接连接,ESXi先挂载共享存储,将vCenter Server直接安装到共享存储上

6.2.1-在DNSWorkstation进行安装

在临时DNS服务器的CD中装入该ISO文件。

在目录进入后,双击installer进行安装。

选择要安装到哪台ESXi主机,这次我们选择ESXi1。

因为开始的时候,设置ESXi1的内存只有4GB,无法进行安装,所以我们需要把ESXi1的内存和存储提高一些

内存设置为16GB,硬盘设置为120GB

勾选Thin Disk Mode,用多少占多少空间。

配置一下VCSA的IP地址、FQDN,DNS相关信息使用临时DNS服务器的。

6.2.2-vmFusion安装

不要用这种方案进行安装。之所以留着这部分是为了警醒自己。这种方案是在MAC中通过vmFusion直接安装VCSA,不是上面的在DNS服务器中进行安装。

双击:

在Finder菜单栏找到vcsa

将ova作为镜像导入

sso配置默认的域名和用户名

用户改进计划

选择F12重启,配置root的的密码

选择MGMT网络

要是一直不通过,就同时手工改一下VCSA虚拟机上的ip,或者进入一下ipv6配置

6.3-检验

通过输入域名或者IP地址,我们可以进入VCSA的管理界面。

在ESXi中也能看到VCSA1这台虚拟机。

6.4-配置vCenter Server

在这一节我们简单做一下vCenter Server的配置。

6.4.1-时间

6.4.2-密码时效

修改VCSA服务器的密码

登录虚拟机方案:https://vcsa1.pushits.com:5480/login

6.4.3-添加数据中心

相同数据中心可迁移,不同数据中心无法迁移

群集:CPU EVC相同或者兼容、使用同一共享存储,可构建群集,使用高级特性DRS、FT、HA

  • DRS:Distributed Resource Scheduler,将虚拟机以VMotion流量方式迁移到另一个ESXi主机中

  • HA:高可用,物理机不可用自动迁移到可用物理机

  • FT:容错,主从,主提供服务,从备用

6.4.4-添加ESXi

将三台ESXi主机添加进来

6.4.5-创建群集

查看是否为同EVC,可看最后值,只有都相同才能放到群集中

创建群集

6.4.6-迁移到群集

将三台机器拖放到群集中

拖动172.16.10.11时报错,这是因为ESXi上不能有启动的虚拟机。

解决方案如下:

将VCSA1克隆到172.16.10.12后,更改12的硬件配置,设置更大内存

关闭11上的vcenter server,更新11、12的内存大小,本机内存最大32个G,支撑不了两个都很大。

使用vSphere Client登录12,开启12上的VCSA,然后将11迁移到群集中

完全起来要十几分钟,需耐心等待 https://vcsa1.pushits.com/ui/ ,一般内存到了10G左右就启动完毕了。

重新登录后,将11移到到群集中

6.5-虚拟化网络

6.5.1-Access、Trunk口选择

要使用虚拟化网络,需要在ESXi主机上创建虚拟交换机,并以独占的方式绑定到ESXi主机的物理网口上。

一般装ESXi系统的时候,会默认创建虚拟交换机vswitch0,该交换机默认会与ESXi主机的第一个物理网口绑定。

为不同流量走不同物理网口,需要创建不同的虚拟交换机。

另外需要在虚拟交换机中创建端口组,创建端口组时设置VLAN ID,实现给不同VLAN 网段的虚拟机使用。

6.5.2-交换机类型

6.6-发现和挂载TrueNAS共享存储

6.6.1-创建iSCSI交换机、端口组、adapter

6.6.1.1-创建交换机与端口组

6.6.1.2-交换机绑定物理网口

6.6.1.3-端口组添加VMKernel Adapters、IP地址

虚拟化管理的虚拟交换机中的端口组上的VMkernel 才配置网关,其它的都不必配置网关

6.6.1.4-检查

6.6.2-开启iSCSI software adapter

首先需要在ESXi上添加和开启iSCSI software adapter作为连接TrueNAS的接口

6.6.3开启iSCSI动态发现

这个IP地址是iSCSI服务器的地址

中途发现capacity=0,是因为iSCSI服务异常关机,PV被破坏掉了。所以大家用完后,尽量将iSCSI服务器关机。

把pools删了之后,重新建了一个iSCSI共享存储。

6.6.4-挂载

然后将iSCSI挂载到其它ESXi主机,因为ESXi1已经成功挂载,所以其它主机只要发现就能自动挂载成功。

6.6.5-修改本地存储名称

6.7-VCSA迁移

挂载好iSCSI后,我们可以将VCSA的存储部分迁移到iSCSI共享存储上。

6.7.1-确认位置

6.7.2-迁移

6.8-vMotion&FT交换机

6.8.1-创建交换机

6.8.2-绑定物理端口

6.8.3-添加VMKernel Adapters、IP地址

这里的勾选意味开启了vMotion、FT功能

6.9-创建虚拟机的交换机VMs

6.9.1-创建交换机

6.9.2-绑定物理端口

6.10-总结

至此,我们创建了VCSA,挂载好了共享存储,用VCSA管理整个集群。

七.ESXi给虚拟机扩容

用ESXi管理的虚拟机硬盘空间不够了,讲一下如何进行扩容。

7.1-查看现状

通过如下三个命令,可以查看硬盘情况,可以看到只有500G,已经用了45%。这次我们再扩容500G。 df -Th lsblk fdisk -lIDE磁盘的文件名为        /dev/hdxxx SCSI/SATA/USB磁盘文件名为    /dev/sdxxx 其中/dev/sda的概念如下图所示:

7.2-增加容量

硬盘大小设置为1000G将虚拟机关机,重启后查看数据可以看到空间增加了,但是文件系统/dev/mapper/centos-root空间没变

7.3-新建分区

# 创建分区命令
fdisk /dev/sda
再输入p
新增分区输入:n
回车(默认为主分区primary)
分区号,起始扇区,结束扇区都默认(回车)
设置分区格式输入:t
分区号默认(回车)
Hex 代码为 8e (8e代表Linux LVM分区类型)
w (写入分区表)
等待分区完成

查看结果,看到已成功创建sda3分区

7.4-格式化新分区

重启一下虚拟机,以便重读分区表 lsblk开始格式化分区 mkfs.ext3 /dev/sda3

7.5-合并分区

将新分区合并到/dev/mapper/centos-root
pvcreate /dev/sda3
输入y确认  
vgextend centos /dev/sda3
查看一下当前的Volume卷详情   
vgdisplay -v
![](resources/6760867b10644808a1d7ee74a2cf2791.png)
接下来将系统盘/dev/mapper/centos-root与sda3的136446(sda3的free pe)空余容量合并,然后退出
lvextend -l+136446 /dev/mapper/centos-root
quit

最后将文件系统进行扩容,让系统识别,输入命令 xfs_growfs /dev/mapper/centos-root

7.6-查看结果

df -Th fdisk -l lsblk

赞(0) 更多分享

上篇: PVE 给系统盘扩容磁盘空间
下篇: 多台esxi搭建高可用群集,实现VM虚拟机的高可用,业务VM自动迁移