转自
http://aenes.com/post/730.html
之前有文章写过这块的,CentOS 7 下面又有些不同,记录一下吧。
1.查cpu是否支持VT
egrep '(vmx|svm)' --color=always /proc/cpuinfo
2.检查内核模块是否加载
lsmod | grep kvm
3.查看Selinux状态
sestatus
如果是启用状态
# vi /etc/sysconfig/selinux SELINUX=disabled reboot
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 libvirtd systemctl 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=br0 TYPE=Bridge BOOTRPOTO=static IPADDR=208.66.77.146 NETMASK=255.255.255.248 GATEWAY= 208.66.77.145 ONBOOT=yes
修改 /etc/sysconfig/network-scripts/ifcfg-enp3s0为
DEVICE=enp3s0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes BRIDGE=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 VM1 rm -rf /home/img/VM1.img rm -rf /etc/libvirt/qemu/VM1.xml rm -rf /etc/libvirt/qemu/autostart/VM1.xml
虚拟机的配置文件在这里
/etc/libvirt/qemu/*.xml
一个一个安装虚拟机太麻烦,我们来克隆吧!
首先关闭虚拟机
virsh shutdown VM1 virsh -c qemu:///system list virt-clone -o VM1 -n VM2 -f /home/img/VM2.img --connect=qemu:///system chown qemu.qemu VM05.img
修改一些配置,把 vnc 的端口号修改一下,避免两个产生冲突,并记录一下这里面的 MAC 地址备用。
virsh edit VM2
先启动 VM2,目前两个虚拟机还不能同时启动。
virsh start VM2 virsh -c qemu:///system list
连接VNC
rm -rf /etc/udev/rules.d/70-persistent-net.rules rm -rf /etc/udev/rules.d/70-persistent-cd.rules vi /etc/network/interfaces hwaddress ether 52:54:00:4b:04:bb 添加mac地址 /etc/init.d/networking restart virsh reboot VM2 virsh start VM1
virt-edit VM2 /etc/network/interfaces virt-edit VM2 /etc/hostname virt-edit VM2 /etc/hosts