# ESXI

# 一、启动盘制作(MacOS)

用自带磁盘工具格式化优盘:Format:MS-DOS(FAT) Scheme:Master Boot Record

然后复制ESXI ISO镜像 (opens new window)中的所有文件到优盘即可

注:本方法支持任何支持efi启动的镜像与设备。

# 二、硬盘直通

视频版:油管 (opens new window) B站 (opens new window) 西瓜 (opens new window)

# 2.1 PCIE 直通

通过修改/etc/vmware/passthru.map配置文件实现 优点:可以对几乎任何所有的PCIE设备直通;不需要担心磁盘顺序等 缺点:如果对AHCI设备配置,会对整个设备映射,无法单独对某块硬盘;需要修改ESXI系统配置文件;部分不支持SMART信息;需要预留内存空间

  1. 在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
1
2
3
4
5
6
  1. /etc/vmware/passthru.map中增加对应配置

其中d3d0固定不变,其他填写设备对应的id

# SATA
8086   a1d2  d3d0    default
8086   a182  d3d0    default
1
2
3
  1. 重启ESXI服务
  2. 开启直通,选中设备,然后点切换直通,直通以后设备状态为活动
  1. 虚拟机需要预留内存空间才能启动

# 2.2 RDM直通

通过RDM(Raw Device Mapping)方式,将磁盘应设为本地VMDK 优点:不需要增加硬件和修改任何配置文件,配置起来很易用 缺点:如果需要对硬盘调整,需要重新映射;群晖无法获取到SMART信息

1.查看当前硬盘列表

ls -l /dev/disks
1

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
1
2

# 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

1
2
3
4
5
6

插入移动硬盘,查看是否识别,注意下面的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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

根据上面的显示,找到这块硬盘




 







[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
1
2
3
4
5
6
7
8
9
10

找个地方创建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
1
2
3
4
5
6
7
8
9
10
11

# 三、克隆虚拟机

# 3.1 关闭需要克隆的虚拟机

# 3.2 复制需要克隆的虚拟机文件

虚拟机的磁盘和配置文件路径在编辑设置里面都能看到


进入虚拟机目录将后缀为.vmx(虚拟机).vmdk(虚拟磁盘)文件复制到新目录中

# 3.3 在新目录中选中 .vmx文件并选择注册虚拟机

# 3.4 启动新虚拟机

改名后启动会提示是否复制或者移动,选择复制即可

# 四、修改ESXI主机名称

  1. 修改/etc/hosts中的名称
  2. 修改/etc/sysconfig/network 中的名称
  3. 执行esxi修改hostname命令
# -s 后面的hostname为新的主机名
esxcfg-advcfg -s hostname /Misc/hostname
1
2

# 五、没有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 (opens new window)

# 六、版本升级

  1. 获取对应版本的更新包,访问官方Product Patches (opens new window)
  2. 将下载zip包放到esxi的硬盘上例如/vmfs/volumes/61aaee55-73348ab0-8833-b42e995f64fc/VMware-ESXi-7.0U3f-20036589-depot.zip
  3. 开始更新
# 查看当前版本
[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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 七、启动NTP服务

  1. 编辑NTP设置

位置:Host->Manage->System->Time & date->Edit NTP Settings,选择启动策略并设置NTP服务器

  1. 启动NTP服务

位置:Host->Manage->Services,搜索ntp

  1. 开启NTF防火墙规则

位置:Networking->Firewall rules,搜索ntpClient,然后启用。

  1. 验证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
1
2
3
4

# 八、扩展虚拟机硬盘

  1. 先看一下磁盘现状
[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
1
2
3
4
5
6
7
8
  1. 创建新分区
## 进入 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

 024  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)
正在同步磁盘。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  1. 重启虚拟机
  2. lsblkfdisk -l再验证下
  3. 将新建的分区转换为lvm的物理卷
[root@docker ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.
1
2
  1. 扩展物理卷
## 显示物理卷的名字
[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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  1. 扩展逻辑卷
# 确认需要扩展的逻辑卷
[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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  1. 扩展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
1
2
3
4
5
6
7
8
9
10
11
  1. 检查扩展后磁盘容量
[root@docker ~]# df -h /
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   30G   13G   18G   42% /
1
2
3

# 九、启动执行命令

# 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
1
2

# 十、获取磁盘温度

[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
1
2
3
4
5
6
7
8
9
10
11
12
13
更新时间: 11/17/2023, 10:41:57 AM