准备系统u盘这事就不说了。咱们从装系统开始说。这里有好几个大坑。
先说,我的软路由配置时J1900,4G内存、32G硬盘。买的配置比较低。这次说装esxi,这32G硬盘就不够看了,所以把机箱拆开看看能不能扩展一下存储。由于已经操作过了,没有留下图片,这里我就不上图了,简单介绍下情况:
安装系统并不难,但是有坑。这里我不是按照最终正确的顺序介绍的过程,而是按照我填坑的顺序介绍的。介意的朋友麻烦先看完再自己调整顺序。
遇到的第一个问题就是这个报错。百度的帖子,实测有效。就把核心过程记录在这里。
vim-cmd /hostsvc/maintenance_mode_enter
#检查主机是否在维护模式
vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode
#设置ESXI开机忽略显卡错误
esxcfg-advcfg --set-kernel "TRUE" ignoreHeadless
#检查命令
esxcfg-advcfg --get-kernel ignoreHeadless
#退出维护模式
vim-cmd /hostsvc/maintenance_mode_exit
8、输入exit,退出控制台登录;
9、点击 Alt+F2,返回 ESXi 主界面;
10、禁用 ESXi Shell;
11、完成。
我安装完成后,拔掉U盘,重启系统还会进入到原来的openwrt里面去。这里有两个坑:
这之后,我就把原来那块mSATA的硬盘卸下来了。一来,刚开始我以为系统时装在它上面的,现在看来应该是出错后自动调到SATA盘上了。所以,我不确定这块硬盘会不会带来额外的错误。另外,它实在是太小了,不值当留着。
在官网,有很多个版本的镜像可以下载。如果我们是实装软路由,选择的是openwrt-22.03.0-x86-64-generic-ext4-combined.img.gz。但是我们这次是在esxi里装,所以选择的是openwrt-22.03.0-x86-64-generic-squashfs-combined.img.gz。还有个efi的版本,是efi启动的,不带的是传统启动的。我这次用的是不带efi的。
官方下载页面
压缩包里是img文件,我们是无法直接使用的。可以通过StarWind V2V Converter转换成esxi可以直接使用的镜像文件。操作步骤我还是截图
esxi的操作我就不截图了。存储-数据存储浏览器,选择对应的目录,然后点击上载,选择镜像上传就好了。需要注意的是,因为上传的是镜像文件本身,所以最好为它建立一个文件夹,方便管理。注意两个都上传,但是最后貌似会自动合并成一个,反正最后会只剩下一个文件。
创建完成之后,启动之前,我们再进去编辑硬盘的容量。这个时候可以看到,硬盘才分配了一百多兆,我改成了30G。然后,就可以启动了
上面创建的虚拟机其实网络是不通的。网上很多人都说搞网卡直通。这个确实最简单,但是吧,我的cpu不支持。就只能研究透了把它弄出来。简单的已经弄通了。
说个具体的目标吧,这样可能说起来大家要清晰一些。网上很多人弄的是旁路由,说实话我不是很喜欢。而且,我以后的使用场景来说,也需要我搞一个真路由。先弄个最简单的结构吧。一个wan口,一个lan口。wan口接入我现在的局域网,分配固定ip:192.168.3.6。lan口则输出一个dhcp分配ip的网络。
现在,默认的网络来说,这个虚拟机其实只能用我插的一个网口,因为虚拟机只配置了一个网口。所以,我们需要先给这个虚拟机联通两个物理网口。
其实,网上说的最多的网卡直通是最简单也是最快的。但是j1900这个cpu不支持,所以,我们就得通过对esxi的网络配置把这两个网口用网络策略配给它。先说一些基础知识:
端口组,默认有个VM Network,它背后有个默认的虚拟交换机vSwitch0,用的物理网卡vmnic0。我们拿这个网口当做wan口,所以我们还需要多设置一个新的lan口。创建一个新的虚拟交换机lan,使用物理网卡vmnic1。以及一个端口组lan,使用虚拟交换机lan。基本的网络设置就准备完了。
另外,在摸索的过程中学习到了一点关于VLAN ID的知识。esxi默认的VLAN ID都是0,这个的意思是抛弃所有的VLAN ID。有效的VLAN ID是1~4094,这是VLAN ID可以使用的范围。我们可以将VLAN ID配置为4095,意思是可以使用所有的VLAN ID。VLAN ID有的时候配置网络需要用到,我们这次不用,知识说明下,记在这里。我把VM Network的VLAN ID改成4095后也就没有改回来了。
开机启动屏幕静止后,输入回车,就会进入命令行。
vi /etc/config/network
这个文件是网络配置文件,先说结果吧,如下:
上图是我改动过的内容,重点有这么几个:
service network reload
重启网络,配置就生效了。最后留一个openwrt官方配置文档
现在,我们已经可以通过192.168.10.1来访问这个路由器了。注意网线要查到eth1上面哈。
这个时候我们应该已经能够在浏览器里通过192.168.10.1访问openwrt的页面了。
我们这个镜像默认的磁盘很小的,只是弄了个挺大的临时磁盘,不靠谱,
以前我在exsi6.7快速克隆虚拟机 一文中写过在esxi6.7中磁盘如何进行扩容。这次是openwrt,虽然也是linux但是软件环境差别还是不小,在这里重新记录一下具体过程。
但是,经过我三天的折腾,我始终没有成功对software的空间进行扩容,仍需要研究。以下的内容仅可以挂载新的分区存放数据
opkg update
opkg install fdisk
安装完fdisk后我们查看下磁盘的状态。我们也使用fdisk创建新的分区。也有用cfdisk的,只是界面更有好些,总体没什么区别。
fdisk -l
fdisk /dev/sda
这里需要注意的是,我前面给虚拟机分配了30GB的空间,其实都在这里。默认的可以看到,都非常小。需要注意的是这里是有命令行交互的,具体我就不解释了,都说的很直白,看不懂的翻译一下英文就好。其中,数字三说的是第三个分区也就是sda3
mkfs.ext4 /dev/sda3
上面的命令会将新的分区格式化成ext4格式。
mkdir /home
mount /dev/sda3 /home
这就可以将新的磁盘挂载上去了。但是,重启后就会丢失。
我曾经尝试将这个配置加入/etc/fstab,但是没有生效,只能将它加入/etc/rc.local,注意写在exit 0之前就好。