如何在QEMU/KVM环境下创建虚拟机

在QEMU/KVM环境中创建虚拟机是构建灵活、高效的虚拟化环境的第一步。通过虚拟化技术,你可以在单个物理主机上运行多个独立的虚拟机,每个虚拟机都具有自己的操作系统和应用程序,而不会相互干扰。

本文将介绍如何使用QEMU/KVM来创建虚拟机。

1. 创建磁盘镜像

在创建虚拟机之前,首先您需要有一个磁盘镜像,相当于一块裸磁盘,用于存储虚拟机内的文件,使用 qemu-img 命令来创建一个新的磁盘镜像文件:qemu-img create -f qcow2 /var/lib/libvirt/images/myvm.qcow2 40G

这里 -f qcow2 指定了镜像文件的格式为 qcow2/var/lib/libvirt/images/myvm.qcow2 是你想要创建的镜像文件的路径,40G 表示镜像文件的大小为 40GB。

2. 安装虚拟机

使用 virt-install 命令来安装虚拟机。这个命令会引导安装过程,允许你指定虚拟机的各种参数,如内存大小、CPU 核心数、网络配置等。

virt-install \
--name=myvm \
--memory=1024 \
--vcpus=1 \
--disk path=/var/lib/libvirt/images/myvm.qcow2,format=qcow2 \
--cdrom=/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2009.iso \
--network network=default \
--os-type

参数释义;

  • --name=myvm:指定虚拟机的名称为myvm
  • --memory=1024:设置虚拟机的内存大小为1024MB,即1GB。
  • --vcpus=1:指定虚拟机使用的虚拟CPU数量为1个。
  • --disk path=/var/lib/libvirt/images/myvm.qcow2,format=qcow2:指定虚拟机的磁盘配置。path参数指定了虚拟机磁盘文件的路径,format参数指定磁盘文件的格式,这里使用的是qcow2格式。
  • --cdrom=:指定用于安装虚拟机的光盘镜像文件的路径。
  • --network network=default:配置虚拟机的网络。network参数指定了虚拟机连接的网络,这里使用的是默认的网络。

在执行上述命令之后,在控制台中会自动执行virt-viewer --connect qemu:///system --wait myvm命令,使用控制台打开您刚刚创建的虚拟机,以便安装操作系统,前提是已经预安装好了virt-viewer软件包,当然,您也可以手动使用virt-manager进行安装操作系统。

如何在QEMU/KVM环境下创建虚拟机

当然,除了使用ISO映像安装操作系统之外,您也可以使用预先定制好的系统镜像模板。使用镜像模板可以大大简化虚拟机的创建流程,并且可以预先配置好操作系统和所需的软件环境,从而节省时间并确保一致性。

3. 启动虚拟机

安装完成后,你可以使用 virsh 来管理你的虚拟机,包括启动、停止、重启等操作:virsh start myvm

有关于virsh命令的详细说明,请查阅下方文章或者查阅官方文档。

[b2_insert_post id=”https://www.itwk.cc/post/1328.html”]

virt-install 帮助文档

使用方式:

virt-install --name NAME --memory MB STORAGE INSTALL [options]

可选参数:

  • -h, --help: 显示帮助信息并退出。
  • --version: 显示程序的版本号并退出。
  • --connect URI: 使用指定的libvirt URI连接到宿主机的hypervisor。

通用选项:

  • -n NAME, --name NAME: 指定虚拟机实例的名称。
  • --memory MEMORY: 配置虚拟机内存分配。
  • --vcpus VCPUS: 配置虚拟机的虚拟CPU数量。
  • --cpu CPU: 配置CPU模型和特性。
  • --metadata METADATA: 配置虚拟机元数据。
  • --xml XML: 在最终XML上执行原始XML XPath选项。
  • --cdrom CDROM: CD-ROM安装介质。
  • -l LOCATION, --location LOCATION: 发行版安装URL。
  • --pxe: 使用PXE协议从网络启动。
  • --import: 基于现有磁盘镜像构建虚拟机。
  • -x EXTRA_ARGS, --extra-args EXTRA_ARGS: 传递给安装内核的额外参数。
  • --initrd-inject INITRD_INJECT: 将给定文件添加到initrd的根目录。
  • --unattended [UNATTENDED]: 执行无人值守安装。
  • --install INSTALL: 指定细粒度的安装选项。
  • --reinstall DOMAIN: 重新安装现有的虚拟机。
  • --cloud-init [CLOUD_INIT]: 执行云映像安装,配置cloud-init。
  • --boot BOOT: 配置虚拟机引导设置。
  • --idmap IDMAP: 为LXC容器启用用户命名空间。

操作系统选项:

  • --os-variant OS_VARIANT, --osinfo OS_VARIANT: 正在安装在虚拟机中的操作系统。
  • --osinfo list: 查看操作系统的完整列表。

设备选项:

(包括磁盘、网络、图形、控制器、输入、串行、并行、通道等设备配置)

虚拟化平台选项:

  • -v, --hvm: 这个虚拟机应该是一个完全虚拟化的虚拟机。
  • -p, --paravirt: 这个虚拟机应该是一个半虚拟化的虚拟机。
  • --container: 这个虚拟机应该是一个容器虚拟机。
  • --virt-type VIRT_TYPE: 要使用的hypervisor名称。
  • --arch ARCH: 要模拟的CPU体系结构。
  • --machine MACHINE: 要模拟的机器类型。

其他选项:

  • --autostart: 虚拟机在主机启动时自动启动。
  • --transient: 创建一个瞬态域。
  • --destroy-on-exit: 当关闭控制台查看器时,强制关闭域。
  • --wait [WAIT]: 等待安装完成的分钟数。
  • --autoconsole AUTOCONSOLE: 配置虚拟机控制台自动连接。
  • --noautoconsole: 不自动尝试连接到虚拟机控制台。
  • --noreboot: 完成安装后不启动虚拟机。
  • --print-xml [XMLONLY]: 打印生成的域XML而不创建虚拟机。
  • --dry-run: 运行安装过程,但不创建设备或定义虚拟机。
  • --check CHECK: 启用或禁用验证检查。
  • -q, --quiet: 抑制非错误输出。
  • -d, --debug: 打印调试信息。

原创文章,作者:geeklinux.cn,如若转载,请注明出处:https://www.geeklinux.cn/jsjc/1330.html

(0)
geeklinux.cn的头像geeklinux.cn
上一篇 2024 年 3 月 29 日
下一篇 2024 年 4 月 1 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注