virt-install 命令行建虚机
virt-install 用命令行参数生成域 XML 并直接启动虚机:内存、vCPU、磁盘、安装介质、网络、显卡、固件逐项给出即可从零装机。它适合无图形环境与脚本化建机,参数写法也是之后手工维护域 XML 的参照。装机过程中还需要一个图形或文本控制台来看安装界面。
基本信息
| 适用平台 | Linux 发行版上的 libvirt 工具集,需已就绪 libvirtd 与存储池 |
|---|---|
| 磁盘参数 | path=...,size=40,format=qcow2,bus=virtio |
| 系统识别 | --osinfo detect=on 自动探测安装介质类型(旧版本用 --os-variant) |
| 图形与控制台 | --graphics vnc,listen=127.0.0.1 配合 VNC 装机,或 --console 用文本安装 |
| 固件 | --boot uefi 需要 OVMF 固件支持 |
典型使用场景
- 无图形服务器上批量建机:全部参数写在脚本里,可重复执行
- 模板化装机的第一步:先用 virt-install 起一台标准机,再做成模板
- 快速试验:验证内核参数或驱动时按需建临时虚机
- 自动化流程集成:由流水线或编排脚本调用生成测试环境
- 从 ISO 全新建机:没有现成镜像时从安装介质装起
从 ISO 安装一台虚机
从 ISO 安装一台虚机
virt-install --name web01 --memory 4096 --vcpus 2 --cpu host-passthrough \
--disk path=/var/lib/libvirt/images/web01.qcow2,size=40,format=qcow2,bus=virtio \
--cdrom /var/lib/libvirt/images/iso/rhel-9.iso \
--network network=default,model=virtio \
--graphics vnc,listen=127.0.0.1 --osinfo detect=on --noautoconsole
# 之后用 virt-viewer 或 VNC 客户端连上完成操作系统安装常用参数读法
| 参数 | 作用 | 注意 |
|---|---|---|
| --memory / --vcpus | 内存与 CPU 数量 | 启动内存与最大内存配置要分清 |
| --disk | 磁盘路径、容量与总线 | 目录不存在或权限不足会直接失败 |
| --cdrom / --location | 安装介质来源 | 本地 ISO 与网络安装二选一 |
| --network | 虚拟网络与网卡型号 | 用 virtio 获得更好性能 |
--noautoconsole 让命令建完就返回终端,适合脚本;不带该参数时终端会被安装控制台占用,需要另开窗口操作。
建机参数最终会落成域 XML,可以用 virt-install --print-xml 先看生成结果,确认无误再真正创建。
命令一旦定型就把它存成脚本或模板:下次建同类虚机直接复用,避免凭记忆重敲参数,造成几十台虚机之间出现说不上来的差异。
磁盘镜像路径要放在 libvirt 可访问的目录或已定义的存储池里,否则定义阶段看着成功,启动时报权限不足或找不到文件。
系统装完先补上客户机代理与基础软件,再考虑做成模板:模板一旦分发出去,回头补装只能逐台处理。