一、环境准备
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
hostname -I
192.168.122.1 172.18.6.212
二、安装kvm
yum install libvirt* virt-* qemu-kvm* -y
systemctl start libvirtd.service
systemctl status libvirtd.service
三、创建网桥br0
vim /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
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
systemctl restart network
重启网卡后即创建好br0网桥
也可通过命令创建(此处先省略,以后有时间在添加)
[root@abupdate data]
bridge name bridge id STP enabled interfaces
br0 8000.b083fec6dba7 no em1
vnet0
vnet1
vnet2
vnet3
virbr0 8000.5254000bea7e yes virbr0-nic
四、配置第一台虚拟机
mkdir /data
cd /data
上传镜像
/data/CentOS-7-x86_64-Minimal-1708.iso
注意:网桥配置 文件格式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
注意:需要先将镜像文件拷贝到/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
六、虚拟机克隆
复制一个虚拟机,需修改如 MAC 地址,名称等所有主机端唯一的配置。
注意:克隆出来的虚拟机与模板机的端口号是相同的,如果启动虚拟机会发现,原始模板机启动报错宽口占用
所以:修改配置文件内端口信息在启动虚拟机
vim /etc/libvirt/qemu/centos78.xml
<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0'>
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
3.ip a 查看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
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"
|