0

0

Linux虚拟机自动化运维教程_KVMQEMU批量管理实践

冰川箭仙

冰川箭仙

发布时间:2026-01-05 01:11:24

|

353人浏览过

|

来源于php中文网

原创

KVM+QEMU批量管理Linux虚拟机需脚本化模板化,依托libvirt统一调度;使用cloud-init定制标准化镜像,通过seed.iso注入配置;用virsh+shell批量创建、集中管控与轻量监控。

linux虚拟机自动化运维教程_kvmqemu批量管理实践

用KVM+QEMU批量管理Linux虚拟机,核心是把重复操作脚本化、模板化,再配合libvirt工具链统一调度。重点不在单台虚拟机怎么装,而在如何让10台、100台按同一标准快速就绪、一致运行、集中监控。

标准化镜像与云初始化(cloud-init)

手动装系统无法批量,必须用预配置好的基础镜像。推荐基于官方cloud image(如Ubuntu Server Cloud Image或CentOS Stream Cloud)启动,通过cloud-init自动注入主机名、SSH密钥、网络配置、用户密码和初始化脚本。

  • 下载qcow2格式的cloud image,用qemu-img convert -O qcow2确保格式兼容
  • cloud-localds生成seed.iso,打包meta-data(主机名、网络)和user-data(shell脚本、apt源替换、服务启用等)
  • 启动时通过-cdrom seed.iso挂载,libvirt XML中需添加并设为只读

批量创建:virsh + shell脚本驱动

不用图形界面,全部走命令行。写一个参数化脚本,循环调用virt-install或直接定义XML后用virsh define + virsh start

Image Creator
Image Creator

ImageCreator是Photoshop的免费AI插件,赋予艺术家强大的功能,如TXT2IMG、IMG2IMG、Fill和ControlNet。

下载
  • virt-install --import跳过安装过程,直接基于qcow2镜像启动
  • 内存、vCPU、磁盘路径、网卡模型(建议virtio)、桥接网络(如br0)全部通过变量传入
  • 示例片段:virt-install --name vm01 --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/vm01.qcow2,format=qcow2,bus=virtio --cdrom /tmp/seed01.iso --network bridge=br0,model=virtio --import --noautoconsole

集中配置与状态巡检

创建完不是终点,要能统一查状态、批量关机、动态调资源、导出配置做审计。

  • virsh list --all看全量,配合awk提取名称后循环执行virsh dominfovirsh domstate
  • 修改配置不重启生效:如热添加内存需先virsh setmem vm01 4096 --live,再virsh setmaxmem同步上限
  • 导出XML备份:virsh dumpxml vm01 > /backup/vm01.xml,后续可用diff比对配置漂移

轻量监控与日志聚合

不依赖复杂平台,用已有工具搭最小可观测性:宿主机上收集guest内核日志、SSH登录记录、磁盘使用率。

  • 在guest中启用rsyslog转发到宿主机的UDP 514端口,宿主机rsyslog$ModLoad imudp接收
  • virsh domblkstat定时采集IO延迟,virsh dommemstat查实际内存使用,输出到tsv供awk分析
  • 所有虚拟机统一部署prometheus-node-exporter,宿主机用prometheus抓取,按instance=~"vm.*"分组看指标

相关专题

更多
typedef和define区别
typedef和define区别

typedef和define区别在类型检查、作用范围、可读性、错误处理和内存占用等。本专题为大家提供typedef和define相关的文章、下载、课程内容,供大家免费下载体验。

106

2023.09.26

define的用法
define的用法

define用法:1、定义常量;2、定义函数宏:3、定义条件编译;4、定义多行宏。更多关于define的用法的内容,大家可以阅读本专题下的文章。

319

2023.10.11

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

428

2024.06.27

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1859

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2082

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

941

2024.11.28

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

117

2023.07.25

mc.js网页版入口地址大全
mc.js网页版入口地址大全

本专题整合了mc.js网页版入口地址大全以及mc.js1.8.8版本汇总,阅读专题下面的文章了解更多详细内容。

34

2026.01.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.6万人学习

Git 教程
Git 教程

共21课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号