一、环境准备

1.服务器信息
内网IP:172.18.6.212
网关:172.18.6.1
系统配置:CPU:12c MEMORY:62G

2.基础环境准备
关闭防火墙
关闭selinux
kvm主机内存不能低于4GB

#查看系统信息
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
#查看系统详细信息
uname -r
3.10.0-957.el7.x86_64
#查看主机下IP
hostname -I
192.168.122.1 172.18.6.212

二、安装kvm

#1.安装依赖包
#libvirt # 虚拟机管理
#virt # 虚拟机安装克隆
#qemu-kvm # 管理虚拟机磁盘
 
yum install libvirt* virt-* qemu-kvm* -y

#2.启动服务
systemctl start libvirtd.service
systemctl status libvirtd.service

三、创建网桥br0

#1.编辑内网网卡桥接模式
vim /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
 
#2.创建br0网卡与em1连接 
vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.18.6.212
NETMASK=255.255.255.0
GATEWAY=172.18.6.1
DNS1=114.114.114.114
 
#3.重启网卡
systemctl restart network
重启网卡后即创建好br0网桥
也可通过命令创建(此处先省略,以后有时间在添加)
 
 
#4.查看网桥
[root@abupdate data]# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.b083fec6dba7   no      em1  #此行显示设置成功
                            vnet0       #此行一下是虚拟出来的虚拟机
                            vnet1
                            vnet2
                            vnet3
virbr0      8000.5254000bea7e   yes     virbr0-nic

四、配置第一台虚拟机

#1.创建镜像及配置文件存放目录
mkdir /data
cd /data
上传镜像
/data/CentOS-7-x86_64-Minimal-1708.iso

#2.创建虚拟机
注意:网桥配置  文件格式qcow2可创建快照
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/centos7.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7-x86_64-Minimal-1708.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5900 --noautoconsole --autostart

#使用参数说明  virt-install --help
注意:需要先将镜像文件拷贝到/data/CentOS-7-x86_64-Minimal-1708.iso
--virt-type HV_TYPE  要使用的管理程序名称 (kvm, qemu, xen, ...)
--os-type  系统类型
--os-variant DISTRO_VARIANT  在客户机上安装的操作系统,例如:'fedora18'、'rhel6'、'winxp' 等。
-n NAME, --name NAME  客户机实例名称
--memory MEMORY  配置客户机虚拟内存大小
--vcpus VCPUS  配置客户机虚拟 CPU(vcpu) 数量
--disk DISK  指定存储的各种选项。
-cdrom CDROM  光驱安装介质
-w NETWORK, --network NETWORK  配置客户机网络接口
--graphics GRAPHICS  配置客户机显示设置
-v, --hvm  这个客户机应该是一个全虚拟化客户机
-p, --paravirt  这个客户机应该是一个半虚拟化客户机
--container  这个客户机应该是一个容器客户机
--virt-type HV_TYPE  要使用的管理程序名称 (kvm, qemu, xen, ...)
--arch ARCH  模拟 CPU 架构
--machine MACHINE  机器类型为仿真类型
--noautoconsole  不要自动尝试连接到客户端控制台
--autostart  主机启动时自动启动域。
--noreboot  安装完成后不启动客户机

五、kvm虚拟机管理操作

1.virsh命令使用说明

kvm虚拟化平台管理意义 kvm虚拟化平台搭建_centos

2.常用操作命令

kvm虚拟机配置文件位置: /etc/libvirt/qemu/centos7.xml
 
修改kvm虚拟机配置:virsh edit centos7
 
启动虚拟机:virsh start centos7
 
关闭虚拟机(正常关闭):virsh shutdown centos7
 
查看虚拟机列表:virsh list --all
 
关闭虚拟机(非正常关机):virsh destroy centos7 #强制关机,相当于物理机直接拔掉电源
 
挂起,终止虚拟机:virsh suspend centos7
 
回复被挂起的虚拟机:virsh resumed centos7
 
开机自启虚拟机:virsh aytostart centos7
 
连接虚拟机:virsh console centos7
 
备份虚拟机配置(关机备份):virsh dumpxml centos7 > centos7.xml
 
删除虚拟机配置:virsh undefine centos7  #前提要关闭虚拟机
 
导入虚拟机:virsh define centos7-off.xml
定义域 centos7(从 centos7-off.xml)
 
恢复虚拟机:virsh resume centos7
 
查询虚拟机VNC端口:virsh vncdisplay centos7 # :0 即 为 5900 端口,以此类推 :1为5901 。

六、虚拟机克隆

复制一个虚拟机,需修改如 MAC 地址,名称等所有主机端唯一的配置。

注意:克隆出来的虚拟机与模板机的端口号是相同的,如果启动虚拟机会发现,原始模板机启动报错宽口占用
所以:修改配置文件内端口信息在启动虚拟机
vim /etc/libvirt/qemu/centos78.xml  #将port修改对应端口
<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0'>
#1.克隆虚拟机(前提需要关闭模板机)
virt-clone --connect=qemu:///system -o centos7 -n centos8 -f /data/centos7.qcow2


#参数
-o 原来的虚拟机名称
-n 新的虚拟机名称
-f 指定新的虚拟机磁盘文件

可通过vnc远程连接虚拟机:通过kvm主机IP:590*连接

注意:修改IP,虚拟机IP与kvm主机在同一网段即可用xshell连接

kvm虚拟化平台管理意义 kvm虚拟化平台搭建_IP_02


#2.修改mac地址和uuid信息 ip地址

/etc/sysconfig/network-scripts/ifcfg-eth0 #删除UUID

#3.ip a 查看mac地址 更换 或者直接清空
#替换 ATTR{address}== mac地址
/etc/udev/rules.d/70-persistent-ipoib.rules

systemctl restart network

七、vcn客户端安装

1.进入官网下载VNC 直接下一步下一步
https://www.tightvnc.com/

https://www.tightvnc.com/download/2.8.59/tightvnc-2.8.59-gpl-setup-64bit.msi

八、vnc客户端连接后创建centos系统

kvm虚拟化平台管理意义 kvm虚拟化平台搭建_kvm虚拟化平台管理意义_03


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_xml_04


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_kvm_05


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_xml_06


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_IP_07


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_xml_08

kvm虚拟化平台管理意义 kvm虚拟化平台搭建_xml_09



kvm虚拟化平台管理意义 kvm虚拟化平台搭建_kvm虚拟化平台管理意义_10


kvm虚拟化平台管理意义 kvm虚拟化平台搭建_IP_11

九、快照管理

#创建快照
virsh snapshot-create centos7
 
#查看主机快照列表
virsh snapshot-list centos7
 
#查看快照信息
virsh snapshot-info centos7 --snapshotname 1516607756  #查看列表可获得snapshotname
 
#登录虚拟机,进行删除操作
ls -1|egrep -v 'proc|sys|run' |rm -rf
 
#还原快照
virsh snapshot-revert centos7 --snapshotname 1516607756
 
#删除快照
virsh snapshot-delete centos7 --snapshotname 1516607756
 
#快照配置文件位置
cd /var/lib/libvirt/qemu/snapshot/
 
#快照增加名称
virsh snapshot-create-as --domain k8s-m-01 --name k8s-m-01-init --description "k8s init-2021-03-19"