virt-install

本文最后更新于:2023年12月5日 晚上

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

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

通用选项

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

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

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

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

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

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

安装方法选项

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

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

    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:配置客户机引导设置

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

    --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:指定存储的各种选项

    --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:配置客户机网络接口

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

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

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

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

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

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

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

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

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

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

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

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

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

    --smartcard mode=passthrough
  • –redirdev REDIRDEV:

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

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

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

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

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

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

    --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:为域进程设置内存后备策略

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

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

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

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

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

  • –sysinfo SYSINFO:Configure SMBIOS System Information

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

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

    --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:启用或禁用验证检查

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

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

最后

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

例如:

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
lujinkai@Z510:~$ man virt-install
...
内容太多
...
/--network  # 搜索对应的内容

virt-install
http://blog.lujinkai.cn/运维/虚拟化和KVM/virt-install/
作者
像方便面一样的男子
发布于
2020年12月9日
更新于
2023年12月5日
许可协议