关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
关闭enforce
setenforce 0
vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled
查cpu是否支持VT
egrep '(vmx|svm)' --color=always /proc/cpuinfo
lsmod | grep kvm
yum install -y kvm virt-* libvirt bridge-utils qemu-img
说明:qemu-kvm ----模拟计算机的工具,为KVM虚拟机提供IO设备
libvirt ----管理虚拟机
virt-install ----命令行的虚拟机创建安装工具
bridge-utils ----网桥工具
开启kvm服务,并且设置其开机自动启动,设置libvirtd服务自启
systemctl enable libvirtd && systemctl start libvirtd
查看开启状态
systemctl status libvirtd
配置软连接
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
为虚拟机创建网桥 首先备份一下网卡设置
cp /etc/sysconfig/network-scripts/ifcfg-ens160 /root/ifcfg-ens160.bak
配置虚拟网桥
编辑vim /etc/sysconfig/network-scripts/ifcfg-ens160文件,修改为如下:
DEVICE=ens160 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes BRIDGE=br0
新建br0
vim /etc/sysconfig/network-scripts/ifcfg-br0 修改如下
TYPE="Bridge"
BOOTPROTO=static
DEVICE="br0"
ONBOOT="yes"
IPADDR=172.22.100.231
NETMASK=255.255.0.0
GATEWAY=172.22.101.254
DNS1=114.114.114.114
DELAY="0"
重启网络
/etc/init.d/network restart
systemctl restart NetworkManager.service
查看网桥
#brctl show
#brctl stp br0 on
虚拟机创建方式
磁盘格式为raw,虚拟机存储目录需要手动创建好,iso上传到指定目录,虚拟机安装界面可以通过vnc:端口号来访问
1、使用 virt-install 命令,
raw格式磁盘
mkdir -p /home/VM/test01/
virt-install --name=test01 --ram 512 --vcpus=1 --disk path=/home/VM/test01/test01.img,size=7,bus=virtio --accelerate --cdrom=/home/ISO/Centos7.iso --vnc --vncport=6001 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
qcow2磁盘格式,建议虚拟机磁盘使用,
创建虚拟机
virt-install --name=test04 --ram 512 --vcpus=1 --disk path=/home/VM/test04.qcow2,size=10,format=qcow2,bus=virtio --accelerate --cdrom=/home/ISO/Centos7.iso --vnc --vncport=6004 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
2、使用 virt-manager 工具
虚拟机访问方式
1、通过vnc访问
2、通过virsh console访问
virsh list
Id Name State
5
test01 running
virsh console test01
退出
ctrl+]
如果使用virsh console命令,需要在linux虚拟机中配置ttyS0,具体配置如下,区分操作系统
centos6
1、添加ttyS0的许可,允许root登陆
echo "ttyS0" >> /etc/securetty
2、编辑/etc/grub.conf中加入console=ttyS0
3、编辑/etc/inittab,在最后一行加入内容 S0:12345:respawn:/sbin/agetty ttyS0 115200
centos7
在系统中直接指向如下命令,重启系统即可
grubby --update-kernel=ALL --args="console=ttyS0"
reboot
常用虚拟机操作
KVM软关机/重启/开机
virsh shutdown 虚拟机名
virsh reboot 虚拟机名
virsh start 虚拟机名
KVM硬关机(强制断电)
virsh destroy 虚拟机名
设置虚拟机开机自启
virsh autostart 虚拟机名
取消虚拟机开机自启
virsh autostart --disable 虚拟机名
删除kvm虚拟机
virsh undefine wintest01
克隆虚拟机
virt-clone -o test02 -n test03 -f /home/VM/test03.qcow2