在kvm中部署嵌套esxi6.7
最近测试esxi6.7的vmotion功能,为了熟悉kvm决定在kvm上实现, 系统是ubuntu16.04, 启动一个kvm,发现esxi在迁移时会崩溃,无法进行迁移,查找相关次料,解决方案如下:
成都创新互联于2013年创立,先为峰峰矿等服务建站,峰峰矿等地企业,进行企业商务咨询服务。为峰峰矿企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
KVM的安装和使用
- 首先安装kvm
# apt install qemu-system-x86 qemu-kvm qemu libvirt-bin virt-manager virtinst bridge-utils cpu-checker virt-viewer
- 校验kvm是否安装,并检测cpu的VT-x虚拟化有没有开,出现以下信息说明正常
# kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
- 运行virt-host-validate查看你的环境对kvm的技持,如果全部为pass,说明可以
# virt-host-validate QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/kvm exists : PASS
- 如果你想使普通用户能够使用kvm,可以添加当前用户到libvirt组中
cat /etc/group | grep libvirt | awk -F':' {'print $1'} | xargs -n1 sudo adduser $USER
# add user to kvm group also
sudo adduser $USER kvm
# relogin, then show group membership
exec su -l $USER
id | grep libvirt
- 缺省的,kvm会建立一个虚拟的交换机名字为virbr0, 使用192.168.122.0/24
# ip addr show virbr0 17: virbr0:
mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:d2:52:b5 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever - virbr0实际上是一个nat模式,我们可以通过iptables看到实际的情况
# iptable -t nat -vnL Chain POSTROUTING (policy ACCEPT 146 packets, 11359 bytes) pkts bytes target prot opt in out source destination 0 0 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24 0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255 0 0 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 0 0 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
- 定义存储池,缺省的存储池是/var/lib/libvirt/images, 但你可以另外mount你想要的os磁盘
# virsh pool-list --all
Name State Autostart
-------------------------------------------
default active yes
$ virsh pool-define-as kvmpool --type dir --target /data/kvm/pool
Pool kvmpool defined
$ virsh pool-list --all
$ virsh pool-start kvmpool
$ virsh pool-autostart kvmpool
$ virsh pool-list --all
Name State Autostart
-------------------------------------------
default active yes
kvmpool active yes
- 布署一个vm在你的kvm上,建立一个1vcpu/1G RAM使用缺省的virbr0 NAT网络和缺省的pool storage
virt-install --virt-type=kvm --name=ukvm1404 --ram 1024 --vcpus=1 --virt-type=kvm --hvm --cdrom ~/Downloads/mini.iso --network network=default --graphics vnc --disk pool=default,size=20,bus=virtio,format=qcow2 --noautoconsole
# open console to VM
virt-viewer ukvm1404
- 如果你想删除这个vm,可以使用如下命令:
virsh destroy ukvm1404 virsh undefine ukvm1404
- 如你想要一个全部图形化的软件管理kvm,可以使用virt-manager,当你没安装图形介面时你可以使用x协议的ssh客户端,如xshell, 或xming+ssh客户端软件
布署esxi在KVM中
- 配置VT-x,你同样需要在ubuntu中配置VT
# vi /etc/modprobe.d/qemu-system-x86.conf
options kvm_intel nested=1 enable_apicv=n
options kvm ignore_msrs=1
- 重启系统,执行下列命令,必须返回如下值
# want Y to be returned
$ cat /sys/module/kvm/parameters/ignore_msrs
# want N to be returned
$ cat /sys/module/kvm_intel/parameters/enable_apicv
# want Y to be returned
$ cat /sys/module/kvm_intel/parameters/nested
- 建立kvm虚拟机
# virt-install --virt-type=kvm --name=esxi4 \ --ram 4096 --vcpus=4 \ --virt-type=kvm --hvm \ --cdrom /data/iso/VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64.iso \ --network network:default,model=e1000 \ --graphics vnc --video qxl \ --disk pool=default,size=80,sparse=true,bus=ide,format=qcow2 \ --boot cdrom,hd --noautoconsole --force \ --cpu host-model-only 当然你也可以使用virt-manager来建立虚拟机。
- 重复建立两个虚拟机,建立两个esxi实现动态vmotion迁移,测试和建立步骤省略,经测试vmotion可以正常工作,不会出现崩溃现象。
分享题目:在kvm中部署嵌套esxi6.7
文章出自:http://myzitong.com/article/jdepep.html