KVM部署

KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine)

kvm负责cpu虚拟化+内存虚拟化
qemu模拟IO设备(网卡,磁盘)
libvirt调用kvm虚拟化技术接口(API)用于管理

Centos7.6安装KVM准备工作

1.在vmware上开启虚拟化
在这里插入图片描述

2.查看CPU是否支持VT
grep -E ‘vmx|svm’ /proc/cpuinfo
3.安装kvm内核及相关软件包
yum -y install centos-release-qemu-ev.noarch #安装QEMU的yum源
yum -y install qemu-kvm.x86_64 qemu-kvm-tools.x86_64 #安装qemu-kvm
yum -y install libvirt.x86_54 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 virt-* #安装virt管理工具
4.检查或者手动加载kvm内核
lsmod | grep kvm
modprobe kvm
modprobe kvm-intel
5.设置libvirt
systemctl start libvirtd
systemctl enable libvirtd
6.配置网桥
在这里插入图片描述
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
vim /etc/sysconfig/network-scritps/ifcfg-br0
systemctl stop NetworkManager && systemctl disable NetworkManager
systemctl restart network
#删除默认NAT网络方式
virsh net-destroy default
virsh net-undefine default
systemctl enable --now libvirtd
brctl show


Rocky9.4安装kvm


1. 确认CPU虚拟化是否开启
cat /proc/cpuinfo | egrep --color "vmx|svm"

2. 配置yum源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/rocky*.repo 
dnf makecache

3. 安装kvm管理工具和依赖
dnf install libvirt virt-install qemu-kvm virt-manager -y
dnf install epel-release -y
dnf -y install bridge-utils virt-top libguestfs-tools virt-viewer
lsmod | grep kvm	#验证kvm模块加载成功

4. 启动libvirtd服务
systemctl enable --now libvirtd
systemctl status libvirtd

5.创建网桥
echo "allow all" >> /etc/qemu-kvm/bridge.conf
nmcli c show #查看网络
nmcli device status #查看网卡
nmcli connection add type bridge autoconnect yes con-name br0 ifname br0	#添加新网桥
nmcli c modify enp66s0 master br0	#物理网卡管理网桥
nmcli connection modify br0 ipv4.addresses '192.168.122.225/24' ipv4.gateway '192.168.122.254' ipv4.dns '114.114.114.110' ipv4.method manual connection.autoconnect-slaves yes
nmcli connection up br0
nmcli c down br0 && nmcli c up br0
ip addr show br0
brctl show
virsh iface-list


6. 创建虚拟机
--virt-type kvm #使用的管理程序名称为kvm
--os-type linux #设置系统类型为linux
--memory 2048 #设置当前虚机2G内存
--vcpus 2 #设置当前虚机2核
--vcpus 2,maxvcpus=8 #设置当前虚机2核,可动态设置到最大8核
--memory 2048,maxmemory=4096 #设置当前虚机2G内存,可动态设置到最大4G内存
--disk /data/linux_name.raw,format=raw,size=10 #磁盘文件类型为raw,最大容量10G
--cdrom /images/CentOS-7-x86_64-DVD-1810.iso #镜像源文件
--network bridge=br0 model=virtio	 #使用桥接模式
--graphics vnc,listen=0.0.0.0 --noautoconsole #开启vnc功能
--osinfo detect=on,require=off #尝试自动检测操作系统信息,但如果检测失败,它不会阻止虚拟机的创建过程,而是继续使用默认设置或其他已经提供的参数

virt-install --virt-type kvm  --name rocky9.4_test \
--memory 4096,maxmemory=16384 --vcpus 4,maxvcpus=8 \
--disk /kvm_os/rocky9.4_test.qcow2,format=raw,size=50 \
--cdrom /images/Rocky-9.4-x86_64-dvd.iso \
--network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole --osinfo detect=on,require=off

7.通过vnc进去配置rocky的静态ip
vi /etc/NetworkManager/system-connections/enp1s0.nmconnection

[ipv4]
method=manual                                   
address1=192.168.174.212/24,192.168.122.254    
dns=114.114.114.110;114.114.114.119



常用的kvm管理命令

0.查看物理节点信息
virsh nodeinfo
virsh sysinfo
virsh version

1.查看正在运行的虚拟机以及其相关信息
virsh list
virsh list --all
virsh dominfo [virt name]

2.管理虚拟机
virsh console [virt name]	#在宿主机连接虚机控制台
ctrl + ] 退出
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"	#在虚机vnc运行输出重定向
reboot

virsh start [virt name]		#启动虚拟机
virsh autostart [virt name]			#设置自启动虚拟机
virsh autostart --disable [virt name]	#设置禁止自启动虚拟机
virsh shutdown [virt name]	#关闭虚拟机
virsh reboot [virt name]	#重启虚拟机

virsh suspend [virt name]	#挂起虚拟机
virsh resume [virt name]	#恢复虚拟机
virsh destroy [virt name]	#强制关闭虚拟机
virsh undefine [virt name] #删除虚拟机(还需要到源目录删除系统文件)
virsh domiflist [virt name]	#显示网卡接口
virsh domifaddr [virt name]	#显示虚机ip
virsh vncdisplay [virt name] #查看vnc端口

virsh domrename [virt name] [new name]	#重命名虚机(关机后)
virsh define [virt name] #激活配置文件
virsh dumpxml [virt name]	#查看虚拟机详细信息
virsh edit [virt name]	#编辑配置文件

3.硬盘管理
-O #指定输出格式  -f #指定源格式
qemu-img info /kvm_os/rocky_20240719.raw	#查看磁盘
qemu-img create -f raw /kvm_os/disk/add_disk.img 20G	#添加一块磁盘
virsh attach-disk [virt name] /kvm_os/disk/add_disk.img vdb --cache none 	#添加磁盘到虚机
virsh detach-disk [virt name]  vdb			#从虚机上剔除磁盘
qemu-img convert -f raw -O qcow2 /kvm_os/centos_20240719.raw /kvm_os/centos_test.qcow2	#转换磁盘格式(关机后)
virsh edit [virt name] #修改raw为qcow2格式
virsh dumpxml [virt name] > /opt/kvm/rocky.xml	#先挂载硬盘然后输出虚机配置文件保存
virsh define /opt/kvm/rocky.xml		#重新定义配置文件实现持久化硬盘挂载
virsh domblklist [virt name]	#查看虚机挂载的硬盘

4.快照管理
#系统格式为qcow2支持快照,raw格式不支持
virsh snapshot-create-as [virt name] [snapshot name]	#快照创建
virsh snaptshot-list [virt name]	#查看快照列表
virsh snapshot-revert [virt name] [snapshot name]	#快照恢复
virsh snapshot-info [virt name] [snapshot name]		#快照详情
virsh snapshot-delete [virt name] [snapshot name]	#快照删除

5.克隆拷贝
-o	#旧虚机名称
-n	#新虚机名称
-f	#新虚机路径
virt-clone -o centos_01 -n centos_01_clone -f /virt/CentOS7_clone.img  #关机后进行克隆

6.管理虚机网络
virsh net-list --all #查看虚机网络
virsh net-dhcp-leases default	#查看所有虚机ip
virsh net-edit default #编辑网络参数
virsh net-destroy default #关闭虚机网络
virsh net-start default	#启动虚机网络
virsh iface-bridge eth0 br0		#创建网桥
virsh attach-interface [virt name] --type bridge --model virtio --source br1	#添加网卡



7.热添加cpu和内存资源
#需要在安装虚拟机时设置好动态分配
virsh setvcpus [virt name] --count=8	#设置成8核
virsh setmem [virt name] --size=8388608	#设置成8G内存
#永久生效命令
virsh dumpxml [virt name] > [virt name].xml
virsh define [virt name].xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值