虚拟化KVM

KVM安装与配置

将CPU的虚拟化引擎的前两项勾选
虚拟化KVM
添加一个合适大小的硬盘
虚拟化KVM硬件方面配置完成,启动虚拟机
配置安装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

上一篇:modprobe-ERROR-could-not-insert-kvm-Exec-format-error


下一篇:kvm部署