KVM安装以及使用

1、安装

1.1减查环境是否支持虚拟化

egrep -o 'vmx|svm' /proc/cpuinfo

1.2.关闭selinux、firewalld、NetworkManager服务。

setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager

1.3安装所需要的组件

yum -y install libvirt virt-install qemu-kvm
#如果服务器支持界面,可以安装virt-manager管理起来比较方便

2、启动libvirtd服务

systemctl start libvirtd
systemctl enable libvirtd

3、网络配置

3.1 NAT模式

NAT网络是虚拟机默认的网络,安装好KVM后就会有一个网卡 “virbr0”,默认使用的地址是:192.168.122.0网段,该virbr0 ip地址 也是使用nat网络虚拟机的网关,虚拟机上网是通过防火墙配置nat转换规则实现的。

cat >>/etc/sysctl.d/kvm.conf<< 'EOF'
net.ipv4.ip_forward=1
EOF
sysctl -p
cat /proc/sys/net/ipv4/ip_forward

3.2 网络管理

·查看网桥状态:brctl show
·启用网桥:brctl stp br0 on
·关闭网桥:brctl stp br0 off

3.2 桥接模式(网卡有两个IP的时候好像有问题)

#创建网桥并把物理网卡桥接到br0网桥: virsh iface-bridge eth0 br0
#注销删除网桥:virsh iface-unbridge br0

配置网卡有可能会导致主机掉线,需要小心谨慎,最后支持本地连接。

4、创建虚拟机

4.1创建centos虚拟机,网络为桥接模式

virt-install \
--virt-type=kvm \
--os-variant=rhel7 \
--name=centos7 \
--memory=1024 \
--vcpu=1 \
--disk=/data/KVM/centos7/centos7_disk.qcow2,format=qcow2,size=10 \
--cdrom=/data/ISO/CentOS-7-x86_64-Everything-2207-02.iso \
--bridge=br0 \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole

4.2创建windows虚拟机,网络为NAT模式

virt-install \
--name=win10 \
--memory=4096 \
--disk=/data/KVM/win10/win10_disk.qcow2,format=qcow2,size=40 \
--vcpus 2 \
--os-variant=win10 \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--cdrom=/data/ISO/win10.iso \
--noautoconsole

5、虚拟机管理

导出虚拟机配置:virsh dumpxml centos7 > centos7.xml
注销(删除)虚拟机:virsh undefine centos7
	注:在虚拟机开机状态下取消定义虚拟机并不会马上消失,而在挂机之后就会消失,一般建议对虚拟机的配置文件
       进行备份。同时删除之后要把配置文件以及它的磁盘删除。
通过配置文件恢复虚拟机:virsh define centos7.xml

6、磁盘管理

磁盘格式:
	raw:裸格式,占用空间比较大,不支持快照功能,性能较好,不方便传输。
	qcow2:cow(copy on write)占用空间小,支持快照,性能比 raw 差一点,方便传输。
查看磁盘信息:qemu-img info centos7_disk.qcow2
创建磁盘:qemu-img create -f qcow2 centos7_disk.qcow2 10G 
调整磁盘容量:qemu-img resize centos7_disk.qcow2 50G
	注:生产环境中只能调大,调小会导致数据丢失。这里是调到50G。
磁盘格式转换:qemu-img convert -f raw -O qcow2 centos7_disk.raw centos7_disk.qcow2
	注:磁盘格式转换之前需要先关闭虚拟机,转换完之后要导出配置文件,改完之后再通过配置文件恢复虚拟机。

7.内存调整

#先关闭主机
virsh edit <主机名>
#找到<memory unit='KiB'>xxx</memory><currentMemory unit='KiB'>4194304</currentMemory>并修改,如这里是4G
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>

8.虚拟机克隆(完整克隆)

virt-clone --auto-clone -o <源虚拟机名称> -n <新虚拟机名称>

手动克隆

#1、复制模板虚拟机磁盘为新的磁盘
cp node1 node2
#2、复制模板虚拟机的配置文件为新的配置文件
virsh dumpxml node1>node2
#3、对新的配置文件做出调整
· 修改name
· 删除uuid (直接删除所在行)
· 删除mac地址 (直接删除所在行)
· 修改磁盘路径 (直接删除所在行)

#4、导入新的配置生成新的克隆的虚拟机
virsh define node2.xml
posted @   国杰响当当  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示