**通过 ISO 镜像安装**

通过 ISO 镜像安装

连接方式vnc、console

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
virt-install \
  --virt-type kvm \
  --os-type=linux \
  --os-variant=centos7.0 \
  --name=centos7_vm \
  --memory=2048 \
  --vcpus=2 \
  --disk path=/var/lib/libvirt/images/centos7_vm.qcow2,size=20,format=qcow2,bus=virtio \
  --cdrom=/opt/iso/CentOS-7-x86_64-Minimal-2009.iso \
  --network network=default \
  --graphics vnc,port=5901,listen=0.0.0.0 \
  --noautoconsole

参数解释

  • -virt-type

指定虚拟化底层:

支持类型:kvm、xen、qemu、lxc

适用场景 特点
kvm Linux 环境(推荐) 基于硬件虚拟化(Intel VT-x/AMD-V),性能最佳,需 CPU 支持虚拟化扩展。
qemu 跨平台或无硬件虚拟化支持 纯软件模拟,兼容性广但性能较低,适用于旧硬件或非 Linux 环境。
xen 企业级服务器(如 AWS/Azure) 支持半虚拟化和硬件虚拟化,常用于云平台。
lxc 容器化虚拟化 轻量级,共享内核,适合隔离应用而非完整 OS。
  • --name

指定虚拟机的名称

1
--name vm_centos7
  • --os-type

指定操作系统类型,支持类型:linux、windows、unix

1
--os-type linux
  • --os-variant

指定操作系统版本对其优化,可通过命令查询当前virt版本支持的系统版本:osinfo-query os(指定操作系统时,会启用针对 操作系统 的 VirtIO 驱动优化,若未指定,则会使用通用配置,会出现兼容性问题!)

1
--os-variant centos7.0
  • --memory

为虚拟机分配的内存大小,单位是 MB

1
--memory 1024
  • --vcpus
1
--vcpus 1

虚拟机使用的 CPU 核心数:

  • --disk

定义虚拟机的磁盘路径,大小、格式、总线类型

1
--disk path=/var/lib/libvirt/images/centos7.qcow2,size=20,format=qcow2,bus=virtio

path

size

format指定磁盘格式,支持类型:qcow2、raw、vmdk、qed;

格式 特点 适用场景
qcow2 动态分配、支持快照、压缩、加密 通用场景(推荐)
raw 预分配空间、无额外开销、兼容性好 需要高性能或直接访问的场景
vmdk VMware 兼容格式 跨平台迁移
qed 支持动态分配和快照(较少使用) 特定需求

bus指定磁盘总线类型,virtio 性能最优,但需客户机安装 VirtIO 驱动(多数 Linux 发行版默认包含),若客户机无法识别 virtio 总线,改用 ide 或 sata。

总线类型 性能 兼容性 适用场景
virtio 最高 需客户机内核支持 VirtIO 驱动 现代 Linux 客户机(推荐)
ide 较低 兼容所有系统 旧系统或 IDE 设备模拟
scsi 中等 需 SCSI 控制器支持 大容量磁盘或多磁盘场景
sata 中等 兼容 SATA 设备 通用场景
  • --cdrom

指定用于安装操作系统的 ISO 镜像文件路径。/var/lib/libvirt/images/为virt默认路径,其它路径需注意权限!!!

1
  --cdrom /var/lib/libvirt/images/CentOS-7-x86_64-DVD-2009.iso 
  • --network

配置虚拟机的网络,

1
--network bridge=br0,model=virtio

network=default,默认nat模式

model=virtio,

类型 性能 兼容性 适用场景
virtio 最高 需客户机支持 VirtIO 驱动 现代 Linux 客户机(推荐)
e1000 中等 兼容所有系统(如 Windows XP) 旧系统或旧硬件
rtl8139 较低 兼容性广 测试环境
virtio-net 极高 支持多队列和 SR-IOV 高性能虚拟化场景

其它桥接模式、用户自访模式,信息量大,用时再AI!

  • --graphics

GUI图形连接参数,

1
--graphics vnc,port=5900,listen=0.0.0.0,passwd=<PASSWORD>

vnc连接协议

listen=0.0.0.0

passwd=,vnc连接密码

  • --noautoconsole

不自动启动console控制台!

启动console控制台

启用console控制台,方便通过命令行直接连接到虚拟机:vrish console 《虚拟机名称》

注:退出console控制台,需要按"ctrl+]" ,与telnet测试连接时相同

1.需要ssh到虚拟机中执行内核配置命令

1
grubby --update-kernel=ALL --args="console=ttyS0, 115200n8"

2.重启虚拟机

下面这个install参数有问题!!!安装系统会卡住!!!仅做了解

1
2
3
4
  #pty表示在宿主机上创建一个伪终端PTY),作为虚拟机的串行控制台接口target_type=serial指定虚拟机内部的串行设备类型为 serial传统串口设备 
  --console pty,target_type=serial
  #通用参数用于传递任意内核启动参数如网络配置文件系统挂载等指定内核日志和控制台输出重定向到虚拟机的第一个串口设备ttyS0),及串口通信的波特率为 ​​115200​​,数据位为 ​​8​​,无校验n
  --extra-args="console=ttyS0,115200n8"