一、常用虚拟机
安装在物理机上的虚拟机常用的有 vmware workstation和VirtualBox
将物理机虚拟化方案有 VMWare vSphere和Proxmox VE(PVE)
vmware workstation和VirtualBox的安装直接下载对应系统的安装包进行安装,VMWare vSphere和Proxmox VE(PVE)在宿主机上安装需要将下载好的iso文件通过启动盘工具(rufus)制作成引导U盘
VMWare vSphere和Proxmox VE(PVE)比较VMWare Sphere相对更稳定但是PVE兼容性更好
二、VMWare vSphere
VMWare vSphere是虚拟化解决方案,是通过VMWare ESXI和VMWare vCenter来实现,ESXI安装在物理机上将物理机虚拟化,通过vCenter可以管理ESXI集群
安装ESXI:
VMWare ESXI可以安装在vmware workstation中,也可以通过引导盘安装在物理机上
1:根据实际情况下载不同版本的ISO,官方下载需要注册账号。虚拟机中安装基本没有兼容问题,物理机上安装会有兼容问题,官方提供了自定义文件下载里面提供不同服务器厂商自定义的ESXI的ISO,也可以去服务器厂商官网下载适配的ISO版本,下载不支持的版本安装时会报错,VMWare官方也提供了版本对应关系VMware Compatibility Guide - System Search
ESXI使用:
创建虚拟机:通过ESXI管理界面上传ISO到数据存储,通过管理界面或者workstation都可以操作ESXI创建虚拟机。虚拟机创建后在数据存储中是在定居目录下,如果我们想把虚拟机统一放到一个目录下时在创建过程中是无法实现的,可以把创建好的虚拟机取消注册,然后在数据存储中把虚拟机移动到目标目录,进行重新注册虚拟机操作就可以了。虚拟机中安装VMWare Tools(yum install open-vm-tools,windows需选择安装插件然后进入系统打开cd安装)
ESXI中的虚拟机需要进行时钟同步,保证所有虚拟机的时间是一致的不然运维上会很麻烦,所以通常会在ESXI中部署一个时间服务器NTP(Centos7.5开始默认有chrony,开启服务需修改 /etc/chrony.conf->添加 server ntp.aliyun.com iburst->打开注释 allow 192.168.0.0/16和local stratum 10->重启服务systemctl restart chrony)ESXI同步NTP服务器时间,ESXI中的虚机同步ESXI主机时间
ESXI中的网络设置可以通过配置多网卡、VLAN等来实现服务网络隔离
ESXI的数据存储支持远程挂载,可以在ESXI中部署Nas(TrueNas)通过ISCI协议挂载存储盘
安装winserver2019:
下载镜像 地址 ,上传镜像,创建虚拟机并安装。激活,因为此镜像是评估版本所以需要升级为正式版本(DISM /Online /Get-CurrentEdition此命令显示的版本中包含Eval表示是评估版,下面运行DISM /Online /Set-Edition:ServerStandard /ProductKey:N69G4-B89J2-4G8F4-WWYCC-J464C /AcceptEula等待重启之后再查看版本如果显示没有Eval表示成功,接下来用激活码重新激活一下就可以了)
安装MacOS:
安装之前需要 unlock,有时ESXI创建虚拟机时没有Mac选项,有时虽然有unlock选项但是安装界面会无限重启,通过unlock可以解决。将下载的unlock通过管理界面上传到ESXI服务器 -> 在管理界面开启SSH -> 通过SSH客户端连接服务器 -> 到对应目录解压unlock->运行 ./unlock -> 运行 ./check 检查安装是否成功 -> 重启ESXI服务器 -> 创建MacOS虚拟机 -> 安装 -> 安装完成后安装 VMware Tools(unlock的windows版本里面有对应的iso) -> 将iso(https://yuexiang.fun)上传到服务器 -> 挂载iso -> 安装成功后就可以使用MacOS了,测试ESXI7.0U3g安装MacOS 10.13正常运行(ESXI8U2安装MacOS14.5安装时无限重启安装失败)
vCenter使用:
安装vCenter是通过跳板机把服务安装在ESXI中的,实际就是远程把vCenter Server安装在ESXI中,是通过在ESXI中创建新的虚拟机的方式安装的
在vCenter中可以把初始化好的虚假设置为模板,这样可以通过模板快速创建虚机
虚拟机文件默认创建在根目录下,如果想统一放到一个目录下可以取消注册创建好的虚拟机然后在文件管理器把虚拟机目录移动到统一目录下然后重新注册虚拟机(选择已移动)
定时快照:
# 创建调度任务方式
选择虚拟机->配置->已调度的任务->新建调度任务->生成快照->调度任务,此方式比较简单但是不会自动删除快照
# 自定义脚本方式
进入ESXI控制台->主机->操作->服务->启用SSH->用SSH连接主机->创建脚本(因esxi重启会删除 /vmfs/volumes之外的文件所以文件应该保存到这个目录下,其中目录下的datastore1对应esxi中的数据存储名称)->创建脚本文件夹 /vmfs/volumes/datastore1/crontabs->创建脚本snapshot_creat.sh和snapshot_del.sh->chmod +x *.sh->修改 /etc/rc.local.d/local.sh->./sbin/auto-backup.sh保存生效->重启ESXI或者直接修改/var/spool/cron/crontabs/root后保存
# snapshot_creat.sh
#!/bin/sh
for i in `vim-cmd vmsvc/getallvms | grep -v nosnap | awk '{print $1}' | grep -e "[0-9]"`
do
vname=$(vim-cmd vmsvc/get.summary $i | grep name | awk '{ print $3 }' | cut -d \" -f 2)
vim-cmd vmsvc/snapshot.create $i $(date "+%F")
sleep 30s
if [ $? -eq 0 ];then
echo "$(date "+%F %T") : $vname snapshot create success.." >> ./schedule_snap.log
else
echo "$(date "+%F %T") : $vname snapshot create FAILED.." >> ./schedule_snap.log
fi
done
# snapshot_creat.sh end
# snapshot_del.sh
DAY=1 #保留快照的数量
for i in `vim-cmd vmsvc/getallvms | awk '{print $1}' | grep -e "[0-9]"`
do
SNAPSHOT_COUNT=`vim-cmd vmsvc/snapshot.get $i | egrep -- '--\|-CHILD|^\|-ROOT' | wc -l`
if [ $SNAPSHOT_COUNT -gt $DAY ]; then
DELETE_COUNT=$(($SNAPSHOT_COUNT-$DAY))
OLD_SNAPSHOT_ID=`vim-cmd vmsvc/snapshot.get $i | grep Id | head -$DELETE_COUNT | awk -F: '{print $2}'`
for n in $OLD_SNAPSHOT_ID
do
vim-cmd vmsvc/snapshot.remove $i $n > /dev/null
sleep 30s
done
fi
done
# snapshot_del.sh end
# local.sh
kill $(cat /var/run/crond.pid)
# 凌晨2点创建快照
/bin/echo "0 2 * * * sh /vmfs/volumes/5b006ef2-79848440-3c9c-0894ef0f727c/crontabs/snapshot_creat.sh" >> /var/spool/cron/crontabs/root
# 凌晨3点删除快照
/bin/echo "0 3 * * * sh /vmfs/volumes/5b006ef2-79848440-3c9c-0894ef0f727c/crontabs/snapshot_del.sh" >> /var/spool/cron/crontabs/root
crond
exit 0
# local.sh end
三、使用问题
vmware workstation
1:我们切换网络时有时会导致虚拟机无法访问,是因为默认情况桥接时没有指定网卡,我们可以通过 编辑->虚拟网络编辑器 来修改一下
2:桥接无线网卡时我们通过路由器查看虚拟机时会发现所有虚拟机的MAC地址都是物理机的MAC即便我们手动分配了虚拟机的MAC也无效,在特殊配置的路由器下可能虚拟机无法正常上网,桥接有线网卡没有这个问题,这可能是个bug。