小试ESXi做虚拟化


Overview

之前家里的机器做虚拟化用的是KVM,后来听小胖推荐了ESXi,之前用KVM比较不爽的是clone虚拟机实在太慢了,而且没有啥好用的管理软件,virt-manager需要有x-window软件,而mac os上那货又不太好使(不清楚是网速问题,还是软件问题),所以这次公司的服务器搞虚拟化决定试试ESXi,反正公司的机器,玩坏了又不要钱,2333333

很多Linux的分发都是以iso文件的形式,它是一个光盘镜像,一般来说刻录成光盘安装毫无问题,但是现在有光驱的机器越来越少了,一般还是u盘安装方便一些。但是Linux的u盘安装略蛋疼,按各种wiki上给的dd的方法,根本不好使。之前弄CentOS的安装盘,用的win32 disk imager在windows下制作启动u盘没啥问题,但是这两天想弄个ESXi的启动盘就不好使了,当然目前不确定是因为我们服务器不支持6.0,还是win32_disk_imager不支持ESXi。因为公司这边手头没有Windows,用mac的dd试了n次均启动失败,而且最麻烦的是想修改isolinux.cfg也因为镜像是只读的没办法改。找了半天资料才在VMWare官网找到可以用的了。

制作安装u盘方法

准备

一台装有syslinux 4.x以上的linux,ESXi的镜像,注意选对版本,我看官方文档,老的55xx/56xx系列的CPU是6.0不支持的,只能下5.5版本。

格式化u盘

假如u盘是/dev/sdb,fdisk /dev/sdb进入fdisk的界面。按以下步骤操作:

  • d删除原有分区
  • n新建分区
  • t格式化为fat32文件系统
  • a设置分区1为活动分区
  • p打印当前分区
  • w写入分区

之后执行mkfs.vfat -F 32 -n USB /dev/sdb1,初始化工作就OK了

用syslinux制作启动盘

注意sdb是设备,sdb1是分区

# syslinux /dev/sdb1
# cat /usr/share/syslinux/mbr.bin > /dev/sdb
# mkdir /mnt/usb && mount /dev/sdb1 /mnt/usb
# mkdir /mnt/cdrom && mount -o loop VMware-VMvisor-Installer-5.x.x-XXXXXX.x86_64.iso /mnt/cdrom
# cp -rf /mnt/cdrom/* /mnt/usb/
# mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
# mv /usr/share/syslinux/menu.c32 /mnt/usb/
### 这两步改完syslinux.cfg再执行。
# umount /mnt/usb/
# umount /mnt/cdrom/

接下来修改syslinux.cfg,将APPEND -c boot.cfg改为APPEND -c boot.cfg -p 1

ESXi杂记

ESXi安装过程就不详述了,没遇到啥问题。比较蛋疼的是VMWare只提供了Windows的管理工具,并没有提供Mac下的图形工具,但是Fusion Pro是可以管理虚拟机的,而且,Fusion 8破解非常简单,只要一个序列号就行了……

克隆虚拟机

在管理界面的Diagnose中把ssh打开,因为fusion里没有克隆,只能通过命令行来完成,克隆时最好还是停个机吧。

# 克隆磁盘
vmkfstools -i src.vmdk -d thin dest.vmdk
# 拷贝配置文件
cp -rf /vmfs/volumes/<current-uuid>/src /vmfs/volumes/<current-uuid>/dest
rm -rf /vmfs/volumes/<current-uuid>/dest/*.log
rm -rf /vmfs/volumes/<current-uuid>/dest/*.nvram
for file in `ls /vmfs/volumes/<current-uuid>/dest/`; do SUF=`echo $file | awk -F'.' '{ print $NF }'`; mv /vmfs/volumes/<current-uuid>/dest/$file /vmfs/volumes/<current-uuid>/dest/dest.$SUF; done
vim-cmd solo/registervm /vmfs/volumes/<current-uuid>/dest/dest.vmx

之后需要手动修改一下/vmfs/volumes/<current-uuid>/dest/下的配置文件,把原来的虚拟机名改成新的名字。之后在fusion里面打开虚拟机的时候,就会询问这个虚拟机重复了,是移动过来的还是复制的,选复制的就会自动分配网卡的MAC了,再在系统里修改一下机器名、ip、网卡mac就行了,这个具体改法可以参考之前的文章,这里不再重复了。

后记

从使用上来说,ESXi要比KVM方便一些,主要是clone磁盘的速度非常快,感觉机器的速度也要好于KVM,但是还要手动改clone后的配置文件这个比较不爽,应该有命令吧,要不也太土了……

Reference

  1. Supported Disk Formats
  2. 请使用命令clone esxi虚拟机
  3. Registering or adding a virtual machine to the inventory on vCenter Server or on an ESX/ESXi host (1006160)

文章作者: Odin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Odin !
  目录