之前有文章写过这块的,CentOS 7 下面又有些不同,记录一下吧。
1.查cpu是否支持VTegrep '(vmx|svm)' --color=always /proc/cpuinfo
2.检查内核模块是否加载
lsmod | grep kvm
3.查看Selinux状态
sestatus
如果是启用状态
# vi /etc/sysconfig/selinuxSELINUX=disabledreboot
4.安装 KVM
yum install kvm libvirt python-virtinst qemu-kvm virt-viewer tunctl bridge-utils avahi dmidecode qemu-kvm-tools virt-manager qemu-img virt-install net-tools libguestfs-tools -y
5.启动libvirt服务
systemctl start libvirtdsystemctl enable libvirtd
6.查看kvm服务是否正常,目前没任何虚拟机,所以没有内容显示
virsh -c qemu:///system list
7.为虚拟机创建网桥
首先备份一下网卡设置mv /etc/sysconfig/network-scripts/ifcfg-enp3s0 /root/ifcfg-enp3s0.bak
创建一个文件 /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0TYPE=BridgeBOOTRPOTO=staticIPADDR=208.66.77.146NETMASK=255.255.255.248GATEWAY= 208.66.77.145ONBOOT=yes
修改 /etc/sysconfig/network-scripts/ifcfg-enp3s0为
DEVICE=enp3s0TYPE=EthernetBOOTPROTO=noneONBOOT=yesBRIDGE=br0
重启网络
/etc/init.d/network restart
创建镜像文件
qemu-img create -f qcow2 /home/img/VM1.img 20G
安装虚拟机
virt-install \--name VM5 \--ram 1024 \--vcpus=8 \--disk path=/home/img/VM5.img,size=20,format=qcow2,bus=virtio \--accelerate \--cdrom /root/iso/CentOS-6.6-x86_64-bin-DVD1.iso \--graphics vnc,listen=0.0.0.0,port=5924, \--network bridge=br0,model=virtio \--force --autostart \--noautoconsole
Virsh语法参考:
Autostart 自动开始一个域Create 从一个 XML 文件创建一个域Define 从一个 XML 文件定义(但不开始)一个域edit 编辑某个域的 XML 配置shutdown 关闭一个域start 开始一个(以前定义的)非活跃的域reboot 重新启动一个域suspend 挂起一个域resume 重新恢复一个域vncdisplay vnc 显示undefine 删除虚拟机,只是删除VM的配置文件,并不删除虚拟磁盘文件
查看虚拟机列表。
virsh -c qemu:///system list
重启虚拟机
virsh reboot VM1
虚拟机宿主机开机自启动
virsh autostart VM1
取消
virsh autostart --disable VM1
删除虚拟机
virsh undefine VM1rm -rf /home/img/VM1.imgrm -rf /etc/libvirt/qemu/VM1.xmlrm -rf /etc/libvirt/qemu/autostart/VM1.xml
虚拟机的配置文件在这里
/etc/libvirt/qemu/*.xml
一个一个安装虚拟机太麻烦,我们来克隆吧!
首先关闭虚拟机virsh shutdown VM1virsh -c qemu:///system listvirt-clone -o VM1 -n VM2 -f /home/img/VM2.img --connect=qemu:///systemchown qemu.qemu VM05.img
修改一些配置,把 vnc 的端口号修改一下,避免两个产生冲突,并记录一下这里面的 MAC 地址备用。
virsh edit VM2
先启动 VM2,目前两个虚拟机还不能同时启动。
virsh start VM2virsh -c qemu:///system list
连接VNC
rm -rf /etc/udev/rules.d/70-persistent-net.rulesrm -rf /etc/udev/rules.d/70-persistent-cd.rulesvi /etc/network/interfaceshwaddress ether 52:54:00:4b:04:bb 添加mac地址/etc/init.d/networking restartvirsh reboot VM2virsh start VM1
也使用virt-edit命令直接在宿主机修改虚拟机文件
virt-edit VM2 /etc/network/interfacesvirt-edit VM2 /etc/hostnamevirt-edit VM2 /etc/hosts