一、环境准备
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命令使用说明
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连接
#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系统
九、快照管理
#创建快照
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"