ESXI
ESXI
一、启动盘制作(macOS)
用自带磁盘工具格式化优盘:Format:MS-DOS(FAT)
Scheme:Master Boot Record
然后复制ESXI ISO镜像中的所有文件到优盘即可
注:本方法支持任何支持efi启动的镜像与设备。
二、硬盘直通
2.1 PCIE 直通
通过修改/etc/vmware/passthru.map配置文件实现 优点:可以对几乎任何所有的PCIE设备直通;不需要担心磁盘顺序等 缺点:如果对AHCI设备配置,会对整个设备映射,无法单独对某块硬盘;需要修改ESXI系统配置文件;部分不支持SMART信息;需要预留内存空间
- 在esxi上查看设备供应商ID(VID)、设备ID(PID)等信息
方式一
注意图中的几个ID:设备 ID 0xa182
、供应商 ID 0x8086
、类 ID 0x106
方式二
直接通过命令行获取
[root@truenas:~] lspci -v | grep "Class 0106" -B 1
0000:00:11.5 Mass storage controller SATA controller: Intel Corporation Lewisburg SATA AHCI Controller [vmhba0]
Class 0106: 8086:a1d2
--
0000:00:17.0 Mass storage controller SATA controller: Intel Corporation Lewisburg SATA AHCI Controller [vmhba1]
Class 0106: 8086:a182
- 在
/etc/vmware/passthru.map
中增加对应配置
其中d3d0
固定不变,其他填写设备对应的id
# SATA
8086 a1d2 d3d0 default
8086 a182 d3d0 default
- 重启ESXI服务
- 开启直通,选中设备,然后点切换直通,直通以后设备状态为
活动
- 虚拟机需要预留内存空间才能启动
2.2 RDM直通
通过RDM(Raw Device Mapping)方式,将磁盘应设为本地VMDK 优点:不需要增加硬件和修改任何配置文件,配置起来很易用 缺点:如果需要对硬盘调整,需要重新映射;群晖无法获取到SMART信息
1.查看当前硬盘列表
ls -l /dev/disks
2.挂载硬盘
<直通硬盘的标识符>
--> 这种 t10.NVMe____KINGSTON_SA2000M81000G__________________2597B94568B72600 <保存vmdk的硬盘标识符>
--> /vmfs/volumes/
中查看 <VMDK名字>
--> 随意
vmkfstools -z /vmfs/devices/disks/<直通硬盘的标识符> /vmfs/volumes/<保存vmdk的硬盘标识符>/<VMDK名字>.vmdk
vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST16000NM000G2D2KH103________________________________ZL24XFXH /vmfs/volumes/61aaee55-73348ab0-8833-b42e995f64fc/M06-ZL24XFXH.vmdk
2.3 USB硬盘直通
先拔掉移动硬盘,然后停止usbarbitrator
服务
[root@esxi:~] /etc/init.d/usbarbitrator stop
watchdog-usbarbitrator[2100366]: Terminating watchdog process with PID 2098347
stopping usbarbitrator...
usbarbitrator stopped
[root@esxi:~] chkconfig usbarbitrator off
插入移动硬盘,查看是否识别,注意下面的Is USB: true
[root@esxi:~] esxcli storage core device list | grep -i usb
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Display Name: Local USB Direct-Access (mpx.vmhba32:C0:T0:L0)
Model: External USB 3.0
Is USB: true
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
Is USB: false
根据上面的显示,找到这块硬盘
[root@esxi:~] ls /dev/disks
eui.34364630523034240025385900000001
eui.34364630523034240025385900000001:1
mpx.vmhba32:C0:T0:L0
t10.ATA_____Hitachi_HUS724030ALE641_________________P8G6BNDR____________
t10.ATA_____Hitachi_HUS724030ALE641_________________P8GNNV6R____________
t10.ATA_____ST16000NM000G2D2KH103________________________________ZL24XFXH
t10.ATA_____ST16000NM000G2D2KH103________________________________ZL24XFXR
t10.ATA_____ST18000NM013J_______________________________________ZR5725H2
t10.ATA_____ST4000NE00252D2EW107_________________________________ZC1586VL
找个地方创建RDM直通
[root@esxi:~] cd /vmfs/volumes
[root@esxi:/vmfs/volumes] ls
61aaee55-42053292-8a06-b42e995f64fc BOOTBANK2
61aaee55-73348ab0-8833-b42e995f64fc Kingston-A2000-1T
6300e64a-40fb03a6-699e-b42e995f64fc OSDATA-61aaee55-42053292-8a06-b42e995f64fc
7c356fba-4f45c8b0-d5a4-7d08cb98d8f9 PM983
BOOTBANK1 e11c6d2f-3d4d4f19-06b6-7aa34546f34c
[root@esxi:/vmfs/volumes] cd Kingston-A2000-1T
[root@esxi:/vmfs/volumes/61aaee55-73348ab0-8833-b42e995f64fc] vmkfstools -z /vmfs/devices/disks/mpx.vmhba32\:C0\:T0\:L0
/vmfs/volumes/61aaee55-73348ab0-8833-b42e995f64fc/ZR574ZPP.vmdk
三、克隆虚拟机
3.1 关闭需要克隆的虚拟机
3.2 复制需要克隆的虚拟机文件
虚拟机的磁盘和配置文件路径在编辑设置
里面都能看到
进入虚拟机目录将后缀为.vmx(虚拟机)
和.vmdk(虚拟磁盘)
文件复制到新目录中
3.3 在新目录中选中 .vmx文件并选择注册虚拟机
3.4 启动新虚拟机
改名后启动会提示是否复制或者移动,选择复制即可
四、修改ESXI主机名称
- 修改
/etc/hosts
中的名称 - 修改
/etc/sysconfig/network
中的名称 - 执行esxi修改hostname命令
# -s 后面的hostname为新的主机名
esxcfg-advcfg -s hostname /Misc/hostname
五、没有TPM 2.0安装Windows 11
- Hardware Specifications:
- Compatibility: ESXi 7.0 U2 and later (I’m using ESXi 7)
- Guest OS: Windows 10 (64-bit)
- Enable Windows Virtualization Based Security: Check
- CPU: 2
- Memory: 4 GB
- Hard Disk: 64 GB
- CD/DVD: Datastore on ISO
- Connect: Check
引导选好版本以后开始安装,会提示你不支持,安Shift
+ F10
进入命令行,然后输入regedit
进入注册表。
找到HKEY_LOCAL_MACHINE\SYSTEM\Setup
,在里面新建一个项(目录)LabConfig
,然后增加值ByPassTPMCheck
(DWORD (32-bit) ),值为1
关掉窗口,回到安装页面重新安装即可。
如果使用vSphere,则可以虚拟TPM,参考文章Install Windows 11 on VMware vSphere with a virtual TPM
六、版本升级
- 获取对应版本的更新包,访问官方Product Patches
- 将下载zip包放到esxi的硬盘上例如
/vmfs/volumes/61aaee55-73348ab0-8833-b42e995f64fc/VMware-ESXi-7.0U3f-20036589-depot.zip
- 开始更新
# 查看当前版本
[root@esxi:~] vmware -vl
VMware ESXi 7.0.2 build-17867351
VMware ESXi 7.0 Update 2
# 查看更新檔的內容,記錄下standard版的NAME
[root@esxi:~] esxcli software sources profile list -d /vmfs/volumes/PM983/VMware-ESXi-7.0U3f-20036589-depot.zip
Name Vendor Acceptance Level Creation Time Modification Time
------------------------------ ------------ ---------------- ------------------- -----------------
ESXi-7.0U3sf-20036586-standard VMware, Inc. PartnerSupported 2022-07-12T00:00:00 2022-07-12T00:00:00
ESXi-7.0U3sf-20036586-no-tools VMware, Inc. PartnerSupported 2022-07-12T00:00:00 2022-06-30T13:58:41
ESXi-7.0U3f-20036589-standard VMware, Inc. PartnerSupported 2022-07-12T00:00:00 2022-07-12T00:00:00
ESXi-7.0U3f-20036589-no-tools VMware, Inc. PartnerSupported 2022-07-12T00:00:00 2022-06-30T15:28:40
# 執行更新作業
esxcli software profile update -d /vmfs/volumes/PM983/VMware-ESXi-7.0U3f-20036589-depot.zip -p ESXi-7.0U3f-20036589-standard
七、启动NTP服务
- 编辑NTP设置
位置:Host
->Manage
->System
->Time & date
->Edit NTP Settings
,选择启动策略并设置NTP服务器
- 启动NTP服务
位置:Host
->Manage
->Services
,搜索ntp
- 开启NTF防火墙规则
位置:Networking
->Firewall rules
,搜索ntpClient,然后启用。
- 验证NTP
[root@esxi:~] ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
*203.107.6.88 10.137.38.86 2 u 20 64 377 18.016 +14.928 0.215
八、扩展虚拟机硬盘
- 先看一下磁盘现状
[root@docker ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 32G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 15G 0 part
├─centos-root 253:0 0 13.4G 0 lvm /
└─centos-swap 253:1 0 1.6G 0 lvm
sr0 11:0 1 973M 0 rom
- 创建新分区
## 进入 fdisk
[root@docker ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
## 打印分区表
命令(输入 m 获取帮助):p
磁盘 /dev/sda:34.4 GB, 34359738368 字节,67108864 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aede3
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 33554431 15727616 8e Linux LVM
## 创建新分区
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (33554432-67108863,默认为 33554432):
将使用默认值 33554432
Last 扇区, +扇区 or +size{K,M,G} (33554432-67108863,默认为 67108863):
将使用默认值 67108863
分区 3 已设置为 Linux 类型,大小设为 16 GiB
## 修改分区类型
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):
Hex 代码(输入 L 列出所有代码):L
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
## 写入分区表
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
- 重启虚拟机
- 用
lsblk
或fdisk -l
再验证下 - 将新建的分区转换为lvm的物理卷
[root@docker ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
- 扩展物理卷
## 显示物理卷的名字
[root@docker ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <15.00 GiB
PE Size 4.00 MiB
Total PE 3839
Alloc PE / Size 3839 / <15.00 GiB
Free PE / Size 0 / 0
VG UUID WqpjE8-8fy6-duQd-pfHx-R6HQ-6exu-66DPNA
## 扩展物理卷
[root@docker ~]# vgextend centos /dev/sda3
Volume group "centos" successfully extended
## 验证下扩展的容量
[root@docker ~]# vgdisplay centos | grep "Free"
Free PE / Size 4095 / <16.00 GiB
- 扩展逻辑卷
# 确认需要扩展的逻辑卷
[root@docker ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID pUpZM1-XHku-GPQK-k6xb-NZI4-Rn5p-d668fb
LV Write Access read/write
LV Creation host, time localhost, 2021-12-05 23:41:33 +0800
LV Status available
# open 0
LV Size 1.60 GiB
Current LE 410
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID UuskIP-5hvj-T1Ue-P4mQ-KJWZ-UjXM-mzWBDq
LV Write Access read/write
LV Creation host, time localhost, 2021-12-05 23:41:33 +0800
LV Status available
# open 1
LV Size 13.39 GiB
Current LE 3429
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
## 扩展逻辑卷 lvextend -L+#G /dev/centos/root ,#为具体数字
[root@docker ~]# lvextend -L+15.9G /dev/centos/root
Rounding size to boundary between physical extents: 15.90 GiB.
Size of logical volume centos/root changed from 13.39 GiB (3429 extents) to <29.30 GiB (7500 extents).
Logical volume centos/root successfully resized.
- 扩展ext3,让它上线
[root@docker ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=877824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=3511296, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 3511296 to 7680000
- 检查扩展后磁盘容量
[root@docker ~]# df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 30G 13G 18G 42% /
九、启动执行命令
9.1 修复磁盘
vi /etc/rc.local.d/local.sh
vmkfstools -x repair /vmfs/volumes/6300e64a-40fb03a6-699e-b42e995f64fc/LEDE-R22.10.1/LEDE-R22.10.1-x86-64-20221115.vmdk
十、获取磁盘温度
[root@localhost:~] esxcli storage core device list |grep 980
t10.NVMe____Samsung_SSD_980_PRO_1TB_________________A2A35011B1382500
Display Name: Local NVMe Disk (t10.NVMe____Samsung_SSD_980_PRO_1TB_________________A2A35011B1382500)
Devfs Path: /vmfs/devices/disks/t10.NVMe____Samsung_SSD_980_PRO_1TB_________________A2A35011B1382500
Model: Samsung SSD 980 PRO 1TB
[root@localhost:~] esxcli storage core device smart get -d t10.NVMe____Samsung_SSD_980_PRO_1TB_________________A2A35011B1382500
Parameter Value Threshold Worst Raw
------------------------ ----- --------- ----- ---
Health Status OK N/A N/A N/A
Power-on Hours 3759 N/A N/A N/A
Power Cycle Count 1041 N/A N/A N/A
Reallocated Sector Count 0 90 N/A N/A
Drive Temperature 44 82 N/A N/A