virt-install 简单使用
virt-install是一个使用libvirt库创建虚拟机或容器的命令行工具,参数比较多,这里仅记录使用该工具创建虚拟机的简单参数。
基本参数
--name
必须的虚拟机名,唯一的。--memory
必须的内存容量,单位MB。--vcpus
可选的虚拟机cpu数量。更进一步可以通过该参数设置cpu热拔插和其他更复杂的拓扑结构。--os-variant
可选项,指定guest操作系统,用于优化配置。可以通过命令osinfo-query os
查询支持的操作系统类型。--graphics
可选项,指定guest图像显示配置,如果不需要图像显示,可以使用--graphics none
。--console
可选项,virt-install会默认配置合适的console,可以不填。
存储参数
--disk
指定该虚拟机使用的存储,有多种介质可选。比如指定本地文件可以使用path选项,如果指定文件不存在还需要设置size参数。如果不配置磁盘可以使用--disk none
,一般用不到。
安装源参数
安装源可以有多种多则。常用的两种:
--location
指定新创建虚拟机的安装介质。使用该参数指定安装介质时,默认是看不到guest安装过程中的输出文本的,需要另外配置参数--extra-args 'console=ttyS0'
。--import
指定新创建虚拟机跳过安装阶段,使用第一个--disk
参数指定的磁盘做启动设备。
网络连接
--network
指定虚拟机连接的网络配置,常用的两种:bridge=BRIDGE
指定连接到host上名为BRIDGE的虚拟网桥上。network=NAME
指定连接到virsh管控的名为NAME的network上。
例子
1 | ! /usr/bin/env bash |
上面的例子如果缺少--graphics none
,开始安装后将不会自动连接到console,可以使用命令virsh console domain3
连接到console进行文本模式的安装过程。操作系统安装完成后可能会处于关机状态,可以使用命令virsh start domain3
开机。
可以使用如下命令从domain3克隆一个新虚拟机domain4并指定存储文件,其中name和file参数可以使用--auto-clone
替代。克隆的虚拟机必须处于shutdown或pause状态。virt-clone --original domain3 --name domain4 --file /var/kvm/images/domain4.img
对domain4关机并从libvirt中删除。
virsh shutdown domain4
,这里如果不能正常关机可以使用virsh destroy domain4
做断电操作。virsh undefine domain4
。
这时domain4的磁盘文件并没有被删除,这里使用该磁盘文件import一个新虚拟机domain5。
1 | ! /usr/bin/env bash |