kvm虚拟化使用命令行创建虚拟机

一、创建虚拟机

在 Red Hat Enterprise Linux 7 、8主机系统上安装虚拟化软件包后,您可以使用 virt-manager 界面创建虚拟机并安装客户机操作系统。或者,您可以通过参数列表或脚本来使用 virt-install 命令行工具,8、9系统还支持通过web 控制台创建虚拟机。本章主要介绍virt-install 命令行创建虚拟机的方法。

二、虚拟机创建注意事项

在创建任何虚拟机之前,应考虑各种因素。在部署之前,应评估虚拟机的角色,但也应根据可变因素(负载、客户端数量)执行定期监视和评估。这些因素包括:

性能

应根据虚拟机的预期任务进行部署和配置。某些虚拟机系统(例如,运行数据库服务器的客虚拟机)可能需要特殊的性能注意事项。虚拟机可能需要更多分配的 CPU 或内存,具体取决于其角色和预计的系统负载。

输入/输出要求和输入/输出类型

某些客户机虚拟机可能具有特别高的 I/O 要求,或者可能需要根据 I/O 类型(例如,典型的磁盘块大小访问或客户端数量)进行进一步的考虑或预测。

存储

某些虚拟机可能需要更高优先级的存储访问或更快的磁盘类型,或者可能需要对存储区域的独占访问权限。在部署和维护存储时,还应定期监控和考虑虚拟机使用的存储量。请务必阅读《Red Hat Enterprise Linux 7 虚拟化安全指南》中概述的所有注意事项。同样重要的是要了解,您的物理存储可能会限制您在虚拟存储中的选择。

网络和网络基础设施

根据您的环境,某些虚拟机可能需要比其他虚拟机更快的网络链接。在部署和维护虚拟机时,带宽或延迟通常是考虑因素,尤其是在需求或负载发生变化时。

请求要求如果 virtio 驱动器由整个磁盘支持,并且磁盘设备参数在

域 XML 文件中设置为lun,则只能向 virtio 驱动器上的虚拟机发出 SCSI 请求,如以下示例所示:

<devices>
  <emulator>/usr/libexec/qemu-kvm</emulator>
  <disk type='block' device='lun'>

三、使用virt-install 创建虚拟机

您可以使用virt-install该命令从命令行创建虚拟机并在这些虚拟机上安装操作系统。 可以交互方式使用,也可以作为脚本的一部分使用,以自动创建虚拟机。如果您正在使用交互式图形安装,则必须在运行 之前安装 virt-viewer。此外,您可以使用 kickstart 文件启动虚拟机操作系统的无人值守安装。

注意:您可能需要 root 权限才能成功完成某些命令。virt-install

virt-install有许多命令行选项。但是,大多数选项都不是必需的。

命令参数解释:--name 虚拟机的名称

--memory 要分配给虚拟机的内存大小(RAM),以 MiB 为单位。 

--disk 虚拟机的存储磁盘空间

--filesystem 虚拟机文件系统路径。

--location 安装介质的位置

--cdrom 用作虚拟 CD-ROM 设备的文件或设备。它可以是 ISO 映像的路径,也可以是从中获取或访问最小启动 ISO 映像的 URL。但是,它不能是物理主机 CD-ROM 或 DVD-ROM 设备。

--pxe 使用 PXE 引导协议加载初始 ramdisk 和内核以启动客户机安装过程。

--import 跳过操作系统安装过程,并围绕现有磁盘映像构建客户机。用于引导的设备是disk or filesystem 选项指定的第一个设备。

--boot 安装后的 VM 启动配置。此选项允许指定启动设备顺序,使用可选的内核参数永久启动内核和 initrd,并启用 BIOS 启动菜单。 

--os-variant 系统类型

要查看选项的完整列表,请输入以下命令: 

virt-install --help

  要查看选项的完整属性列表,请输入以下命令:

virt install --option=?

3.1 从 ISO 镜像文件安装虚拟机

virt-install \
  --name guest1-rhel7 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=8 \
  --cdrom /path/to/rhel7.iso \
  --os-variant rhel7

以下命令创建一个名为 demo-guest1 的 VM,该 VM 从本地存储在 /home/username/Downloads/Win10install.iso 文件中的 ISO 映像安装 Windows 10 操作系统。此 VM 还分配了 2048 MiB 的 RAM 和 2 个 vCPU,并自动为 VM 配置了一个 80 GiB 的 qcow2 虚拟磁盘。 

# virt-install \
    --graphics vnc \
    --name demo-guest1 --memory 2048 \
    --vcpus 2 --disk size=80 --os-variant win10 \
    --cdrom /home/username/Downloads/Win10install.iso

3.2 从live CD ISO镜像 文件中创建虚拟机

以下命令创建一个名为 demo-guest2 的 VM,该 VM 使用 /home/username/Downloads/rhel8.iso 映像从live CD 运行 RHEL 8 操作系统。不会为此 VM 分配任何磁盘空间,因此不会保留在会话期间所做的更改。此外,还为 VM 分配了 4096 MiB 的 RAM 和 4 个 vCPU。

# virt-install \
    --graphics vnc \
    --name demo-guest2 --memory 4096 --vcpus 4 \
    --disk none --livecd --os-variant rhel8.0 \
    --cdrom /home/username/Downloads/rhel8.iso

3.3 从现有镜像文件导入虚拟机

以下命令创建一个名为 demo-guest3 的 RHEL 8 VM,该 VM 连接到现有磁盘映像 /home/username/backup/disk.qcow2。这类似于在计算机之间物理移动硬盘驱动器,因此 demo-guest3 可用的操作系统和数据由之前处理镜像的方式决定。此外,此 VM 还分配了 2048 MiB 的 RAM 和 2 个 vCPU。

# virt-install \
    --graphics vnc \
    --name demo-guest3 --memory 2048 --vcpus 2 \
    --os-variant rhel8.0 --import \
    --disk /home/username/backup/disk.qcow2

请注意,在导入磁盘映像时,强烈建议使用--os-variant选项。如果未提供,则创建的虚拟机的性能将受到负面影响。

3.4 从网络安装虚拟机

--location http://example.com/path/to/os该选项指定安装树位于指定的网络位置。

virt-install \
  --name guest1-rhel7 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=8 \
  --location http://example.com/path/to/os \
  --os-variant rhel7

3.5 使用 PXE 安装虚拟机

--network--pxe使用 PXE 引导协议安装虚拟机时,必须指定指定桥接网络的选项和选项。

以下示例使用 PXE 安装虚拟机: 

virt-install \
  --name guest1-rhel7 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=8 \
  --network=bridge:br0 \
  --pxe \
  --os-variant rhel7

3.6 使用 Kickstart文件安装虚拟机

以下示例使用 kickstart 文件安装虚拟机:

initrd-inject和extra-args选项指定将使用 Kickstarter 文件安装虚拟机。

virt-install \
  --name guest1-rhel7 \
  --memory 2048 \
  --vcpus 2 \
  --disk size=8 \
  --location http://example.com/path/to/os \
  --os-variant rhel7 \
  --initrd-inject /path/to/ks.cfg \
  --extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"

四、在虚拟机创建时配置虚拟机网络

创建虚拟机时,您可以指定和配置虚拟机的网络。本部分提供每种虚拟机主要网络类型的选项。

  • 带 NAT 的默认网络默认网络使用 的网络地址转换 (NAT) 虚拟网络交换机

在使用virt-install NAT 创建具有默认网络的虚拟机之前,请确保已安装 libvirt-daemon-config-network 软件包。要为虚拟机配置 NAT 网络,请对以下选项使用:

--network default

注意:如果未指定网络任何选项,则虚拟机将配置具有 NAT  的默认网络。

 

  • 带DHCP的桥接网络

当配置为桥接网络时,虚拟机使用外部 DHCP 服务器。如果主机具有静态网络配置,并且虚拟机需要与局域网 (LAN) 建立完全的入站和出站连接,则应使用此选项。如果要使用虚拟机执行实时迁移,则应使用此迁移。要为虚拟机配置具有 DHCP 的桥接网络,请使用以下选项:

--network br0

 注意:在运行virt-install之前,必须单独创建网桥。有关创建网桥的详细信息,请参见第 6.4.1 节 “在 Red Hat Enterprise Linux 7 主机上配置桥接网络”。

 

  • 具有静态 IP 地址的桥接网络

桥接网络还可用于将客户机配置为使用静态 IP 地址。要为客户机虚拟机配置具有静态 IP 地址的桥接网络,请使用以下选项:有关网络引导选项的更多信息,请参阅《Red Hat Enterprise Linux 7 安装指南》。

  • 没有网络

要配置不带网络接口的客户机虚拟机,请使用以下选项:

--network=none

 

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值