在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
进行安装操作系统。
当然,除了使用ISO映像安装操作系统之外,您也可以使用预先定制好的系统镜像模板。使用镜像模板可以大大简化虚拟机的创建流程,并且可以预先配置好操作系统和所需的软件环境,从而节省时间并确保一致性。
3. 启动虚拟机
安装完成后,你可以使用 virsh
来管理你的虚拟机,包括启动、停止、重启等操作:virsh start myvm
有关于virsh命令的详细说明,请查阅下方文章或者查阅官方文档。
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