virt-install

从指定安装源创建新虚拟机

1
virt-install --name NAME --memory MB STORAGE INSTALL [options]
  • –help:帮助信息
  • –version:版本信息
  • –connect URI:通过 libvirt URI 连接到虚拟机管理程序(hypervisor)

通用选项:

  • -n NAME, –name NAME 客户机实例名称

  • –memory MEMORY:配置虚拟机内存分配,默认 m 为单位

    1
    2
    --memory 1024 (in MiB)
    --memory memory=1024,currentMemory=512
  • –vcpus VCPUS:为虚拟机配置的 vcpus 数

    1
    2
    3
    --vcpus 5
    --vcpus 5,maxvcpus=10,cpuset=1-4,6,8
    --vcpus sockets=2,cores=4,threads=2
  • –cpu CPU:CPU 型号及功能

  • –metadata METADATA:配置客户机元数据

    1
    2
    --metadata name=foo,title="My pretty title",uuid=...
    --metadata description="My nice long description"

安装方法选项:

  • –cdrom CDROM:光驱安装介质,用不到

  • -l | –location LOCATION:安装源,常用

    1
    2
    3
    nfs:host:/path
    http://host/path
    ftp://host/path
  • –pxe:使用 PXE 协议从网络引导

  • –import:在已有的磁盘镜像中构建客户机

  • -x | –extra-args EXTRA_ARGS:将附加参数添加到由 –location 引导的内核中

  • –initrd-inject INITRD_INJECT:添加指定文件到由 –location 指定的 initrd 根中

  • –boot BOOT:配置客户机引导设置

    1
    2
    --boot hd,cdrom,menu=on    # hd是harddisk,cdrom是光盘
    --boot init=/sbin/init (针对容器)
  • –idmap IDMAP:为 LXC 容器启用用户名称空间

    1
    --idmap uid_start=0,uid_target=1000,uid_count=10
  • –unattended [UNATTENDED]:Perform an unattended installation

  • –install INSTALL:Specify fine grained install options

OS 选项:

  • –os-variant OS_VARIANT:在其中安装 OS 变体的虚拟机,比如:’fedora18’、’rhel6’、’winxp’ 等等

设备选项:

  • –disk DISK:指定存储的各种选项

    1
    2
    3
    4
    5
    6
    7
    --disk size=10 (在默认位置创建 10GiB 镜像)
    --disk /my/existing/disk,cache=none
    --disk device=cdrom,bus=scsi
    --disk=?

    --disk path=/var/lib/libvirt/images/centos7-pxe1.qcow2,bus=virtio
    --disk path=/dev/vm_images_lvm/lv2,bus=virtio
  • -w | –network NETWORK:配置客户机网络接口

    1
    2
    3
    4
    5
    --network bridge=mybr0
    --network network=my_libvirt_virtual_net
    --network network=mynet,model=virtio,mac=00:11...
    --network none
    --network help
  • –graphics GRAPHICS:配置虚拟机显示设置

    1
    2
    3
    --graphics spice
    --graphics vnc,port=5901,listen=0.0.0.0
    --graphics none
  • –controller CONTROLLER:配置虚拟机控制程序设备

    1
    2
    --controller type=usb,model=qemu-xhci
    --controller virtio-scsi
  • –input INPUT:配置客户机输入设备

    1
    2
    --input tablet
    --input keyboard,bus=usb
  • –serial SERIAL:配置客户机串口设备

  • –parallel PARALLEL:配置客户机并口设备

  • –channel CHANNEL:配置客户机通信通道

  • –console CONSOLE:配置文本控制台连接主机与客户机

  • –hostdev HOSTDEV:配置物理 USB/PCI 等主机设备与客户机共享

  • –filesystem FILESYSTEM:传递主机目录到客户机

    1
    2
    --filesystem /my/source/dir,/dir/in/guest
    --filesystem template_name,/,type=template
  • –sound [SOUND]:配置客户机声音设备仿真

  • –watchdog WATCHDOG:配置客户机 watchdog 设备

  • –video VIDEO:配置客户机视频硬件

  • –smartcard SMARTCARD:配置客户机智能卡设备

    1
    --smartcard mode=passthrough
  • –redirdev REDIRDEV:

    1
    --redirdev usb,type=tcp,server=192.168.1.1:4000
  • –memballoon MEMBALLOON:配置客户机 memballoon 设备

    1
    --memballoon model=virtio
  • –tpm TPM:配置客户机 TPM 设备

    1
    --tpm /dev/tpm
  • –rng RNG:Configure a guest RNG device

    1
    --rng /dev/urandom
  • –panic PANIC:配置客户机 panic 设备

    1
    --panic default
  • –memdev MEMDEV:Configure a guest memory device

    1
    --memdev dimm,target.size=1024
  • –vsock VSOCK:Configure guest vsock sockets

    1
    2
    --vsock cid.auto=yes
    --vsock cid.address=7

客户机配置选项:

  • –iothreads IOTHREADS:Set domain and configuration

  • –seclabel | –security SECLABEL:Set domain seclabel configuration

  • –cputune CPUTUNE:Tune CPU parameters for the domain process

  • –numatune NUMATUNE:为域进程调整 NUMA 策略

  • –memtune MEMTUNE:为域进程调整内存策略

  • –blkiotune BLKIOTUNE:为域进程调整 blkio 策略。

  • –memorybacking MEMORYBACKING:为域进程设置内存后备策略

    1
    --memorybacking hugepages=on
  • –features FEATURES:Set domain XML

    1
    2
    --features acpi=off
    --features apic=on,apic.eoi=on
  • –clock CLOCK:设置域 XML

    1
    --clock offset=localtime,rtc_tickpolicy=catchup
  • –pm PM:配置 VM 电源管理功能

  • –events EVENTS:配置 VM 生命周期管理策略

  • –resource RESOURCE:配置 VM 资源分区(cgroups)

  • –sysinfo SYSINFO:Configure SMBIOS System Information

    1
    2
    --sysinfo host
    --sysinfo bios.vendor=MyVendor,bios.version=1.2.3,...
  • –qemu-commandline QEMU_COMMANDLINE:Pass arguments directly to the qemu emulator

    1
    2
    --qemu-commandline='-display gtk,gl=on'
    --qemu-commandline env=DISPLAY=:0.1
  • –launchSecurity | -launchsecurity LAUNCHSECURITY:Configure VM launch security (e.g. SEV memory encryption)

    1
    2
    --launchSecurity type=sev,cbitpos=47,reducedPhysBits=1,policy=0x0001,dhCert=BASE64CERT
    --launchSecurity sev

虚拟化平台选项:

  • -v, –hvm:这个客户机应该是一个全虚拟化客户机
  • -p, –paravirt:这个客户机应该是一个半虚拟化客户机
  • –container:这个客户机应该是一个容器客户机
  • –virt-type VIRT_TYPE:要使用的管理程序名称 (kvm, qemu, xen, …)
  • –arch ARCH:模拟 CPU 架构
  • –machine MACHINE:机器类型为仿真类型,要模拟的机器类型

其它选项:

  • –autostart:主机启动时自动启动域。

  • –transient:Create a transient domain.

  • –destroy-on-exit:Force power off the domain when the console viewer is closed.

  • –wait [WAIT]:请等待数分钟以便完成安装

  • –noautoconsole:不要自动尝试连接到客户端控制台

  • –noreboot:安装完成后不启动客户机

  • –print-xml [XMLONLY]:打印生成的 XML 域,而不是创建客户机。

  • –dry-run:运行安装程序,但不创建设备或定义客户机。

  • –check CHECK:启用或禁用验证检查

    1
    2
    --check path_in_use=off
    --check all=off
  • -q, –quiet:禁止无错误输出

  • -d, –debug:输入故障排除信息

最后

使用 ‘–option=?’ 或 ‘–option help’ 来查看可用的子选项
请参考 man 手册,以便了解示例和完整的选项语法。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
lujinkai@Z510:~$ sudo virt-install --network help
--network options:
clearxml
address.base
address.bus
address.controller
address.cssid
address.devno
address.domain
address.function
address.iobase
address.irq
address.multifunction
address.port
address.reg
address.slot
address.ssid
address.target
address.type
address.unit
address.zpci.fid
address.zpci.uid
alias.name
boot.loadparm
boot.order
bridge
driver.ats
driver.iommu
driver.name
driver.queues
filterref.filter
link.state
mac
mac.address
model
model.type
mtu.size
network
rom.bar
rom.file
source
source.mode
source.path
source.portgroup
source.type
target.dev
trustGuestRxFilters
type
virtualport.parameters.instanceid
virtualport.parameters.interfaceid
virtualport.parameters.managerid
virtualport.parameters.profileid
virtualport.parameters.typeid
virtualport.parameters.typeidversion
virtualport.type

1
2
3
4
5
lujinkai@Z510:~$ man virt-install
...
内容太多
...
/--network # 搜索对应的内容