0x01 背景

R86S刚出来时候还是很火的,各路网友吹爆,就跟风买了个万兆版,然后发现很鸡肋,万兆网卡太烂,远不如我的M920X+X520,定制挡板美滋滋。性能拉胯,N5105热得一批。体积小是唯一优点,但M920X也不大。

R86S

至于软件,万兆版本没有NVME接口,板载EMMC没法装ESXi,PVE用的少,虚拟机模板不多,而且sr-iov配置很坑,最终决定在U盘或者TF卡上装一个ESXi试试。

0x02 ESXi 7.x 不建议安装到TF卡或者U盘

在ESXi 5.x和6.x时代,将ESXi安装在U盘或者TF卡上非常常见,当年HP Gen8上的tf卡槽,还有很多服务器上的tf卡槽,给esxi用太配了。

HP Gen8主板上的TF卡槽
但到了ESXi 7.x时代,官方也说了原因:https://kb.vmware.com/s/article/85685
因为系统机制的改变,会高频读写,TF卡的性能和寿命不足以支持,所以,别说TF卡,用QLC或者TLC的SSD都有可能会凉!这也是很多人在SSD上装ESXi跑一段时间后,写入量非常大,远比跑Win/Linux系统的日常使用写入大。

大概率是VMFSL的问题,这个虚拟分区就类似Linux的SWAP分区一样,做缓存写入量当然大。

不过我还是打算用U盘装一下试试。

0x03 ESXi 7.x 安装到U盘

我用的是SanDisk的256G U盘,在安装ESXi的时候,引导后,按Shift+O键。
进入命令行后,在runweasel cdromBoot后输入autoPartitionOSDataSize=4096,然后按回车执行后续正常安装步骤,和安装到硬盘的方法一样,ESXi 7.x 可以直接安装到U盘,但在磁盘分区看不到磁盘,还是需要进行一些处理的。

装完后,先看看VMFSL的设置没有生效
VMFSL设置

安装完成后,打开SSH,关掉USB服务。

1
/etc/init.d/usbarbitrator stop

关闭USB服务

partedUtil看下分区表,可以和web上看到的分区表对应上

1
ls /dev/disks/
1
partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0

查看分区表
partedUtil调整VMFSL分区大小为4G,其实就是设置VMFSL的起始扇区和结束扇区,同时可以看到整个磁盘分区表结束扇区是500170718,记下这个数值。

1
2
4G=1024*1024*1024*4/512=8388608
16986112+8388608-1=25374719
1
partedUtil resize "/dev/disks/mpx.vmhba32:C0:T0:L0" 7 16986112 25374719

调整分区大小

调整完成后,可以看到web页面的分区表也变了,VMFSL分区已经设置成4G

调整后的分区表

之后在分区表新增VMFS分区,分区间隔可以看到分区5的结束扇区和6的起始扇区,6的结束扇区和7的起始扇区,都是2049=8597504-8595455=16986112-16984063,所以新建的VMFS分区编号是8,起始扇区是25374719+2049=25376768,结束扇区是之前看到的500170718,UUID设置为AA31E02A400F11DB9590000C2911D1B8

1
2
3
4
5
6
partedUtil setptbl "/dev/disks/mpx.vmhba32:C0:T0:L0" gpt \
"1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B 128" \
"5 208896 8595455 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"6 8597504 16984063 EBD0A0A2B9E5443387C068B6B72699C7 0" \
"7 16986112 25374719 4EB2EA3978554790A79EFAE495E21F8D 0" \
"8 25376768 500170718 AA31E02A400F11DB9590000C2911D1B8 0"
1
partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0

新增VMFS分区
查看分区信息

创建数据存储

1
/sbin/vmkfstools -C vmfs6 -b 1m -S UDisk /vmfs/devices/disks/mpx.vmhba32\:C0\:T0\:L0:8

创建数据存储

数据存储
到这里就已经安装好了,可以在U盘上运行ESXi了,TF卡也是一样。

0x04 结语

不过还是不建议在U盘或者TF卡上跑ESXi 7.x,毕竟都不想一段时候后U盘或者TF卡凉凉了吧~~

当然,如果没有ESXi 7.x的刚需,用ESXi 6.x或者5.x,那就没问题了!