标签 esxi 下的文章

RouterOS在ESXi8.0上以UEFI方式引导启动

最近新装了虚拟化平台esxi8.0b,在创建routeros虚拟机时遇到了一系列问题:
1,esxi8.0b默认创建的ESXi 8.0(虚拟硬件版本20)版本虚拟机使用了新的api,默认以uefi引导系统,在创建完成后不能修改为bios,报错“ACPI motherboard layout requires EFI”。
2,RouterOS的CHR版磁盘镜像默认以bios引导。使用x86的iso可以正常安装使用uefi引导虚拟机,但是系统显示的是x86架构,通过升降级不能切换架构,x86架构不启用open-vm-tools服务,这个服务不启动,在esxi控制面板看不到hostname和IP地址等信息。此外x86架构和chr架构的授权和有些功能也不相同。
3,RouterOS的CHR版磁盘镜像有两个分区,第一个是efi分区,文件系统是ext2,而非uefi标准的fat。
4,RouterOS的CHR版磁盘镜像有独立的mbr和gpt分区表,既不是gpt也不是Hybrid MBR。
5,RouterOS的CHR版uefi启动不支持Secureboot。

以下是让routeros v7.8在ESXi8.0上以UEFI方式引导启动的方法,此方式只在routeros v7.8chr版测试通过,不确定后续版本升级是否可用。
1,创建没有硬盘的虚拟机,关闭secureboot。
2,下载routeros的vmdk虚拟机硬盘文件,解压上传到esxi。
3,ssh登录到esxi,转换routeros的vmdk磁盘格式,并扩展磁盘空间。

vmkfstools -i chr-7.8.vmdk routeros.vmdk -d thin
vmkfstools -X 20G routeros.vmdk

4,修改虚拟机配置,添加刚才生成的vmdk磁盘。
5,虚拟机挂载ubuntu的live-cd或其他有gdisk命令的系统iso到虚拟机。
6,开机进入ubuntu桌面,备份RouterOS Boot分区的全部文件
7,取消挂载,并使用fat格式化第一个分区

mkfs -t fat /dev/sda1

8,恢复步骤6中备份的文件到第一个分区后取消挂载routeros的两个磁盘
9,使用gdisk创建Hybrid MBR分区表,过程如下:

root@ubuntu:/home/ubuntu# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: present

Found valid MBR and GPT. Which do you want to use?
 1 - MBR
 2 - GPT
 3 - Create blank GPT

Your answer: 2
Using GPT and creating fresh protective MBR.

Command (? for help): t
Partition number (1-2): 1
Current type is EF00 (EFI system partition)
Hex code or GUID (L to show codes, Enter = EF00): 8300
Changed type of partition to 'Linux filesystem'

Command (? for help): r

Recovery/transformation command (? for help): h

WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.

Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 1 2
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): n

Creating entry for GPT partition #1 (MBR partition #1)
Enter an MBR hex code (default 83): 
Set the bootable flag? (Y/N): y

Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default 83): 
Set the bootable flag? (Y/N): n

Unused partition space(s) found. Use one to protect more partitions? (Y/N): n

Recovery/transformation command (? for help): w
Warning! Secondary header is placed too early on the disk! Do you want to
correct this problem? (Y/N): y
Have moved second header and partition table to correct location.

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.

10,重启系统即可以UEFI方式启动RouterOS CHR

附:
初始vmdk的mbr分区表:

root@ubuntu:/home/ubuntu# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: present

Found valid MBR and GPT. Which do you want to use?
 1 - MBR
 2 - GPT
 3 - Create blank GPT

Your answer: 1

Command (? for help): p
Disk /dev/sda: 262144 sectors, 128.0 MiB
Model: VMware Virtual I
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): F1C07EE3-729F-4E5F-8C77-AEC9BC697BD3
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 262110
Partitions will be aligned on 2-sector boundaries
Total free space is 4063 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34           65569   32.0 MiB    8300  Linux filesystem
   2           65570          258047   94.0 MiB    8300  Linux filesystem

Command (? for help): q

初始vmdk的gpt分区表:

root@ubuntu:/home/ubuntu# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: present

Found valid MBR and GPT. Which do you want to use?
 1 - MBR
 2 - GPT
 3 - Create blank GPT

Your answer: 2
Using GPT and creating fresh protective MBR.

Command (? for help): r

Recovery/transformation command (? for help): p
Disk /dev/sda: 262144 sectors, 128.0 MiB
Model: VMware Virtual I
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 197E76F1-9677-0D46-9C33-F00032DDDBB1
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 258047
Partitions will be aligned on 2-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34           65569   32.0 MiB    EF00  RouterOS Boot
   2           65570          258047   94.0 MiB    8300  RouterOS

Recovery/transformation command (? for help): q

创建hybrid mbr后的vmdk的gpt分区表:

Recovery/transformation command (? for help): p
Disk /dev/sda: 262144 sectors, 128.0 MiB
Model: VMware Virtual I
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 197E76F1-9677-0D46-9C33-F00032DDDBB1
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 258047
Partitions will be aligned on 2-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34           65569   32.0 MiB    8300  RouterOS Boot
   2           65570          258047   94.0 MiB    8300  RouterOS

Recovery/transformation command (? for help): o

Disk size is 262144 sectors (128.0 MiB)
MBR disk identifier: 0x00000000
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1      *             34        65569   primary     0x83
   2                 65570       258047   primary     0x83
   3                     1           33   primary     0xEE

参考:
1,Router OS 7 on UEFI
2,Hybrid MBR(MBR 混合分区表)
3,Manual:CHR VMWare installation

esxi备份配置文件

esxi单机运行时如果系统崩溃,虽然重装系统只要十几分钟,虚拟机可以放在其他硬盘或者nas上,但是配置文件还是会丢失,所以备份配置文件很有必要。
备份配置文件大致有四种方法
1是vSphere CLI
2是vSphere CLI for Windows
3是vSphere PowerCLI
4是ESXi 命令行
这里介绍第四种
首先打开ssh,登陆到esxi

要将已更改的配置与持久存储同步,请运行以下命令: vim-cmd hostsvc/firmware/sync_config

要备份 ESXi 主机的配置数据,请运行以下命令:

vim-cmd hostsvc/firmware/backup_config

注意:此命令应输出 Web 浏览器可能用于下载此文件的 URL。 例如: Bundle can be downloaded at :
http://*/downloads/123456/configBundle-xx.xx.xx.xx.tgz

其中 * 是指主机的 IP/FQDN。

备份文件还位于 /scratch/downloads 目录中,形式为 configBundle-HostFQDN.tgz

使用filezilla或者其他工具备份上述打包配置文件到安全地方。

恢复配置文件

注意:还原配置数据时,此主机的内部版本号必须与创建备份文件的主机的内部版本号匹配,并且主机的 UUID (可通过 "esxcfg-info
-u" 命令获得)应与创建备份文件的主机的 UUID 一致。

使用数字 1 作为强制选项忽略不匹配的 UUID。例如: vim-cmd hostsvc/firmware/restore_config 1
/tmp/configBundle.tgz 运行以下命令,将主机置于维护模式:

vim-cmd hostsvc/maintenance_mode_enter 将备份配置文件复制到主机可访问的位置,并运行以下命令:

在此情况下,配置文件复制到主机的 /tmp 目录。有关详细信息,请参见 Using SCP to copy files to or from
an ESX host (1918)。 vim-cmd hostsvc/firmware/restore_config
/tmp/configBundle.tgz

注意:执行此命令将在命令完成后启动主机的自动重新引导。

其他方式参考官方说明

esxi修改端口组名称后不能联网解决办法

今天手抽,把esxi默认端口组 vm network改成vlan100,跟其他端口组名称统一,结果属于这个端口组的虚拟机就不能联网了,打开虚拟机配置发现虚拟网卡连接的端口组变成空白了,心想这不应该绑定端口组的uid么,怎么这么弱智。
由于修改网卡连接的端口组需要关闭虚拟机,关机修改后,开机,结果还是不能联网。打开配置发现修改没有成功还是空白端口组。检查日志,显示修改成功的,估计是esxi的一个坑。
软件版本:esxi 6.7u1
解决办法:关闭虚拟机,编辑配置,删除网络适配器,然后再添加,选择新的端口组,保存。只需要最后保存一次即可。

esxi通过nfs使用synology群晖nas扩展存储空间

esxi虚拟化的正确打开方式是:把esxi系统安装在u盘,tf卡,单块硬盘等上,而虚拟机存储在非易失性存储设备上,如多盘raid,nas等上。这样即使esxi系统挂了,数据也不会丢失。如果你恰好有nas,可以参考一下使用nfs扩展esxi存储空间,本文以esxi6.7和群晖nas为例。
首先打开群晖nas等nfs服务,默认是关闭的。步骤如下
1,dsm的控制面板,文件服务,smb/afp/nfs,勾选启动nfs服务
启动nfs服务
2,控制面板,共享文件夹,选中esxi要使用的文件夹,点击编辑
编辑共享文件夹
3,然后选中nfs权限,新增,记下装载路径
新增nfs客户端
4,填入esxi的ip地址,权限可读写
nfs客户端

然后在esxi上添加nfs存储设备,步骤如下
1,esxi的网络控制台,存储,数据存储,新建数据存储
新建数据存储
2,选择挂载nfs数据存储
选择挂载nfs
3,填入nas的ip地址,和挂载路径
填写nfs服务器信息
挂载成功后数据存储就会出现刚才添加的nas

nfs扩展的数据存储和系统盘在创建虚拟机,上传iso文件等没有使用上的区别