KVM安装与配置
将CPU的虚拟化引擎的前两项勾选
添加一个合适大小的硬盘
硬件方面配置完成,启动虚拟机
配置安装KVM
检查cpu是否支持开启虚拟化 grep -Ei 'vmx|svm' /proc/cpuinfo
(vmx为英特尔,svm为AMD)
使用 lsblk
命令检查虚拟机是否新增了一个50G的硬盘
多了一块sdb,接下来我们用 mkfs.ext4 /dev/sdb
将此硬盘格式化成ext4
查看sdb硬盘的信息 blkid /dev/sdb
格式化完成后开始挂载硬盘(这种方式重启之后需要重新挂载)
mkdir /kvm_data
mount /dev/sdb /kvm_data/
为了自动挂载需要vi /etc/fstab
在最后一行加入
/dev/sdb /kvm_data ext4 defaults 0 0
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
进入/etc/selinux/configvi /etc/selinux/config
将SELINUX=后面的内容修改为disabled
修改完成后,重启虚拟机使用getenforce查看selinux状态
安装配置KVM
安装KVM
yum install -y virt-* libvirt bridge-utils qemu-img
有可能不成功,执行以下命令
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
再次安装缺少的组件
yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm
增加桥接网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0
vi ifcfg-br0
修改桥接网卡ifcfg-br0 加入修改以下内容
TYPE=Bridge
BOOTPROTO=none
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.16.5
NETMASK=255.255.255.0
GATEWAY=192.168.16.2
DNS1=114.114.114.114
DNS2=8.8.8.8
vi ifcfg-ens33
修改NAT网卡ifcfg-ens33 修改加入以下内容
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
重启网卡服务 service network restart
检查kvm是否加载 lsmod|grep kvm
启动libvirtdsystemctl start libvirtd
使用brctl show
可以查看到现在有两个网卡
CentOS 7 下载
通过客户端软件将CentOS 7镜像上传到/tmp目录下,上传后 ll /tmp/
查看是否存在CentOS 7的镜像文件
接下来使用virt-install进行CentOS 7安装
virt-install --name=test --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-7-x86_64-DVD-1511.iso --disk path=/kvm_data/test.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
CentOS 7配置
配置 “Timezone settings” 选择 “Asia” 再选择 ”Shanghai“
配置 “Software selection” 设置默认按回车
配置 “Installation Destination” 依次按c回车
配置 “Root password” 按8回车输入两次相同密码
配置完成按B回车开始安装。安装完成后按 Ctrl + ] 回到宿主机
KVM管理
查看所有虚拟机列表 virsh list --all
进入指定虚拟机 virsh console [虚拟机名称]
关闭虚拟机 virsh shutdown test
强制关闭虚拟机 virsh destroy test
开启虚拟机 virsh start test
彻底销删除拟机 virsh undefine test
虚拟机克隆
首先关闭虚拟机 virsh shutdown test
virt-clone --original test --name test02 --file /kvm_data/test02.img
virt-clone --original test --name test02 --file /kvm_data/test02.img
查看虚拟机配置文件目录/etc/libvirt/qemu/,看是否增加了test02.xml ls /etc/libvirt/qemu/
查看虚拟机列表是否增加了克隆的虚拟机 virsh list --all
虚拟机快照
创建快照 virsh snapshot-create test
列出所有快照 virsh snapshot-list test
查看当前快照详细信息 virsh snapshot-current test
恢复指定快照 virsh snapshot-revert test [快照名]
删除指定快照 virsh snapshot-delete test [快照名]
虚拟机迁移
首先关闭虚拟机 virsh shutdown test
查看虚拟机磁盘所在目录 virsh domblklist test
拷贝
virsh dumpxml test > /etc/libvirt/qemu/test03.xml
rsync -av /kvm_data/test.img /kvm_data/test03.img
因为是迁移到本机,配置文件用的是test子机的配置,不改会有冲突,所以需要修改该文件 vi /etc/libvirt/qemu/test03.xml
<name>test03</name>
修改uuid随便改动一个数字位数不要变
//修改磁盘路径
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/kvm_data/test03.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
定义新虚拟机 virsh define /etc/libvirt/qemu/test03.xml
查看虚拟机列表发现新迁移的虚拟机 virsh list --all