ESXI 学习笔记
一. ESXI主机与vCenter(VCSA)拓扑
VMware vCenter Server Appliance
拓扑
- Esxi-1 X 28
- Esxi-2 X+1 29
- 共享存储 X+2 30
- vCenter X-127
- vm 16-26
1. 虚拟化:
1.1 CPU虚拟化
参考资料:
这是esxi给出来的cpu总容量
cpu=socket * core * tread * clock speed
在开启超线程的时候,以1950x,16核心32线程为例,超频到4Ghz
1*16*2*4Ghz=64
基本和上面的esxi给出来的cpu频率是一样的
同时根据上面的公式,可以得出结论,玩虚拟化的时候,在资金有限的情况下,多核低频比少核高频优势高太多了
然而我发现一个问题
分配了一个4核心的虚拟机,按照上面的公式:64/4=16
跑CINBENCH R20的时候(目的是吃满cpu),发现主机实际上用到8-9GHz的性能,是总CPU的八分之一,也就是说,相当于调用了2 core。也就是说,在超线程开启的状态下,在core未满的时候,分配虚拟机的4cpu就是2核心对应的包括了子线程
为了再次测试,我选择了直接分配32核心的,同样未降频率的时候看到62.37,几乎吃满了cpu
同样是分配32个cpu,再次更改一下配置,socket改为了1(上一张是2),最高的时候也是62.x,几乎吃满了cpu
平行运算处理能力:所以一般设置cpu内核的时候都为双数倍数
pcpu:物理机上实际的cpu核心,即物理cpu,通常理解为core,也是虚拟机的逻辑cpu。
vcpu:虚拟机的cpu
lcpu:PCPU在实际执行时所需要用到的逻辑CPU。每一个VCPU最终都会反映到PCPU上,而每一个PCPU在执行时,都需要找到一个空闲的LCPU,在不开启超线程的情况下,每一个物理CPU(core)只有一个LCPU。
vCPU、pCPU和lCPU之间的关系如下:
1. 一个虚拟机可以有一个或多个vCPU,每个vCPU都是虚拟机中的逻辑处理器。
2. 虚拟机中的vCPU需要映射到物理主机中的pCPU上,以便能够在物理主机上运行虚拟机。
3. 物理主机上的每个pCPU都有一个或多个lCPU,每个lCPU都是物理处理器上的逻辑核心。
4. 虚拟化软件会将虚拟机中的vCPU映射到物理主机上的pCPU和lCPU上,以确保虚拟机能够高效地运行。
5. 在多处理器系统中,虚拟化软件也会考虑到多个物理主机上的pCPU和lCPU之间的互相影响,以实现更好的性能和资源管理。
虚拟化技术通过将虚拟机中的vCPU映射到物理主机上的pCPU和lCPU上来实现虚拟机的运行。这种映射关系需要虚拟化软件的支持和管理,以确保虚拟机的高效运行和资源利用。
CPU调度器概念
虚拟机不是越多vcpu就越好, cpu调度器需要额外消耗cpu资源,而且很多应用程序不支持太多线程并行.
1.1.1 NUMA架构
假设您拥有两块(2插槽)8核的cpu, 开启超线程后为16核,那么一共就是32核(未开超线程为16个Lcpu)
问: 如果你要给虚拟机分配32核vcpu, 插槽数该如何填写
答: 如果vcpu数量<=LCPU数. 那么建议插槽数为1,这样的性能是最好的 (NUMA架构)
1.1.2 vmware 对应的esxi虚拟机设置
当使用VMware Workstation连接到vSphere时,虚拟机的处理器内核数量与vSphere中的内核数相关联
在vSphere中,物理主机的CPU是由多个物理核心和插槽组成的。每个物理核心都包含一个或多个逻辑处理器,每个逻辑处理器被认为是一个虚拟CPU,在vSphere中被称为“内核”。因此,在vSphere中,内核数指的是物理主机中的CPU内核数,而非插槽数。而在VMware Workstation中,每个处理器的内核数量指的是每个虚拟CPU中使用的虚拟处理器核心数量
上面的图都是同一个虚拟机, 可以看出, socks(插槽数) 对应 vmware station上就是处理器数量
在vSphere6/7中,每个物理核心可以支持32个vCPUs。因此,一台具有24个物理核心和48个逻辑线程的服务器可以支持的最大vCPU数量为:
24 * 32 = 768
这意味着,你可以在这个服务器上创建最多768个只有一个vCPU的虚拟机。
此外,该服务器的最大逻辑CPU数量为:
24 * 48 = 1152
这意味着,你可以在vSphere上创建最多1152个逻辑CPU。
需要注意的是,这些数字都是理论值,实际上,虚拟机数量会受到其他因素的影响,例如物理资源、内存和存储配置等。此外,建议根据虚拟机的应用程序需求和物理主机资源情况进行合理的分配。
公式为:
最大vCPU数量 = 物理核心数 * 每个物理核心支持的最大vCPU数
最大逻辑CPU数量 = 物理核心数 * 每个物理核心支持的逻辑线程数
以1950x为例子, 由上图可知:
因为此cpu为16核心32线程
此时这台ESXI的LCPU=32
- 单台VM的vCPU<=LCPU
- 若单vm配置32个vcpu,最多开4096/32=12
- 若开启500个vm, 每个vm最多2个vCPU
- 单台ESXI能虚拟出的vCPU=16*32=512
2.存储虚拟化
虚拟化本质:
- 分区
- 隔离
- 计算
- 存储
- 网络
- 封装
- 解耦
2.ESXI安装
这一部没什么坑,基本上一路下一步就行了。如果闪存比较小,可以
- 裸金属(生产环境)
- 宿主机(学习环境用的比较多,生产环境不建议使用)
3.vCenter安装
3.1 stage1:
打开VCSA的安装包, 直接使用window的iso挂载功能, 这边使用UI按照
!!! 请注意,443端口如果修改了,需要打开https://you_set_vcsa_ip:port 来完成第二阶段。
在生产环境中, 选择的类型请务必根据需要管理的主机大小决定(Hosts)
3.2 stage 2:
3.3 建立主机
访问vSphere Client(就是刚刚设置的那个ip地址)
登陆信息为:
administrator@vsphere.verfolgerle.lab
C***&vC~~~
例如新建一个名为:DataCenter的数据中心
3.4.1 添加许可证
填写下面的许可证
VMware vCenter 7.0 Standard
104HH-D4343-07879-MV08K-2D2H2
410NA-DW28H-H74K1-ZK882-948L4
406DK-FWHEH-075K8-XAC06-0JH08
VMware vSphere ESXi 7.0 Enterprise Plus
JJ2WR-25L9P-H71A8-6J20P-C0K3F
HN2X0-0DH5M-M78Q1-780HH-CN214
JH09A-2YL84-M7EC8-FL0K2-3N2J2
VMware VSAN 7.0 Enterprise Plus
HN0D8-AAJ1Q-07D00-6U924-CX224
50008-221DH-M7E99-A9CKM-A1030
HN0NH-62051-H75E9-P38RM-0H870
VMware vSphere 7 Enterprise Plus with Add-on for Kubernetes
J1608-4GJEQ-071L8-9VA0H-2MUK6
M10DH-8YL47-474L1-DV3U0-8H054
MM4MR-2G005-H7039-JVCAP-2RAL8
3.4.2 授权
添加完毕后选择-资产-指派授权
授权成功
二. 虚拟机
2.1 虚拟机文件
配置文件 VM_name.vmx
交换文件 VM_name.vswap\vmx-VM_name.vswap
BIOS文件 VM_name.nvram
日志文件 vmware.log
模板文件 VM_name.vmtx
裸设备映射文件 VM_name-rdm.vmdk
硬盘描述符文件 VM_name.vmdk
硬盘数据文件 VM_name-flat.vmdk
挂起状态文件 VM_name.vmss
快照数据文件 VM_name.vmsd
快照状态文件 VM_name-Snapshot.vmsn
快照硬盘文件 VM_name-***.delta.vmdk
快照活动内存文件 VM_name-Snapshot.vmem
2.2 厚配置虚拟磁盘
- 厚配置: 立刻分配所有磁盘
- 优点: 磁盘性能高
- 缺点: 创建虚拟机比较慢,容易造成磁盘分配过大,浪费空间
- 立即清零或延迟清零
- 立即清理:立即清零厚配置的数据块,预先填充一个零
- 延迟清零: 在厚配置写入数据块是,才会填充一个零
- 优点: 空间配置合理, 虚拟机创建速度快
- 缺点: 磁盘性能一般
2.3 关于配置vCPU
2.4 关于vmtools
三. 网络配置
标准虚拟交换机(vs)
- 虚拟交换机可以在位于相同主机或者不同主机上的虚拟机之间建立连接, 虚拟交换机还支持VMkernel网络访问以实施远程主机管理, vSphere, vMotion, iSCSI和NFS.
- 虚拟交换机的具体连接类型如下:
- 虚拟机端口组
- VMkernel组
- 用于IP存储, vSphere vMontion 迁移, vSphere Fault Tolerance. vSAN 和 vSphere Replication
- ESXI 管理网路
VLAN
- ESXI 支持802.1Q VLAN标记功能.
- 虚拟交换机标记是受支持的标记策略中的一种:
- 在来自虚拟机的帧从虚拟交换机传出时,为其添加相应的标记
- 到达虚拟机交换机的已标记帧在发送到目标虚拟机之前会被取消标记
- 对性能的影响微乎其微
- ESXI 通过为端口组指定VLAN ID来提供VLAN支持.
一般环境中, 一个网卡设置对应多个VLAN
分布式交换机:(DVS)
- 可为多台主机之前迁移的虚拟机提供一致网络配置的虚拟交换机
ESXI7 创建分布式交换机
1.如何去掉(缩小/删除)ESXI虚拟闪存
在安装的启动界面,按下Shift+O
,加上 autoPartitionOSDataSize=10240
,然后回车.
Size
这边指的是要分配的虚拟闪存大小
2.直通USB键鼠
3.硬盘直通
3.1 开启shell和ssh
点选主机--设定--服务-启动ssh和esxi安全shell
3.2 查找要直通硬盘的型号
点选主机--设定--存储装置-找到要直通的硬盘位置
记录下来,如 /vmfs/devices/disks/t10.ATA_____ST3000DM0012D1ER166__________________________________W500AP6C
3.3 通过ssh工具进去主机
可通过putty,xshell,powershell,termius等方式
ssh root@your_ip -p port (端口默认22)
3.4 配置RDM
vmkfstools -z /vmfs/devices/disks/未格式化硬盘标识符 /vmfs/volumes/ESXI系统盘路径/自定义名称.vmdk
exp:
vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST3000DM0012D1ER166__________________________________W500AP6C /vmfs/volumes/VMDatastore/3T.vmdk
3.5 确认直通情况
此时已经直通完毕。记得设置完后,关掉shell和ssh,并启用严格模式。
这里有个坑,如果硬盘大于2T,请查看硬盘设置,不然就会出现下面情况,发现硬盘大幅度缩水。。。
解决办法:
scsi控制器更改为stat控制器即可
4.直通显卡
4.1 显卡切换直通后, 重启电脑
4.2 启用预留所有内存
3.3 配置虚拟机-虚拟机选项-高级-编辑配置-添加参数-| hypervisor.cpuid.v0 | FALSE