服务器测评网
我们一直在努力

virsh建立虚拟机步骤详解?新手必看操作指南

使用 virsh 建立虚拟机的完整指南

虚拟化技术是现代数据中心和开发环境的核心组成部分,而 libvirt 提供了一套开源的工具集,用于管理虚拟化平台,virsh 是基于 libvirt 的命令行工具,广泛用于 KVM、Xen、QEMU 等虚拟化环境中,本文将详细介绍如何使用 virsh 命令行工具建立虚拟机,涵盖环境准备、镜像创建、虚拟机配置及启动等关键步骤,帮助用户高效完成虚拟机的部署与管理。

virsh建立虚拟机步骤详解?新手必看操作指南

环境准备与依赖安装

在开始使用 virsh 建立虚拟机之前,需确保系统满足基本要求并安装必要的依赖组件,以 Linux 系统为例(以 Ubuntu 为例),执行以下命令安装 KVM、QEMU 及 libvirt 相关工具:

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst

安装完成后,验证当前用户是否已加入 libvirt 用户组,以确保具有操作权限:

sudo usermod -aG libvirt $USER
newgrp libvirt  # 刷新用户组权限

通过以下命令检查 libvirt 服务状态及 KVM 模块是否加载成功:

sudo systemctl status libvirtd
lsmod | grep kvm

若服务未启动,使用 sudo systemctl start libvirtd 启动服务,并设置为开机自启。

创建虚拟机磁盘镜像

虚拟机磁盘是存储操作系统及数据的载体,virsh 支持多种磁盘格式,如 qcow2、raw 等,qcow2 格式支持动态扩容和快照功能,推荐使用。

使用 qemu-img 命令创建 20GB 的 qcow2 格式磁盘镜像:

qemu-img create -f qcow2 /var/lib/libvirt/images/ubuntu-vm.qcow2 20G

若需预分配磁盘空间(避免动态扩容性能损耗),可添加 -o preallocation=full 参数。

virsh建立虚拟机步骤详解?新手必看操作指南

定义虚拟机配置文件

virsh 支持通过 XML 配置文件定义虚拟机的硬件参数,如 CPU、内存、磁盘、网络等,以下是一个典型的虚拟机配置示例(vm-config.xml):

<domain type='kvm'>
  <name>ubuntu-vm</name>
  <memory unit='GiB'>2</memory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <devices>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/ubuntu-vm.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='network'>
      <mac address='52:54:00:00:00:01'/>
      <source network='default'/>
      <model type='virtio'/>
    </interface>
    <graphics type='vnc' port='5900' autoport='yes'/>
  </devices>
</domain>

关键参数说明

  • <memory>:分配内存大小,支持 GiBMiB 等单位。
  • <vcpu>:虚拟 CPU 核心数。
  • <disk>:磁盘设备,source 指定镜像路径,target 指定设备名(如 vda)。
  • <interface>:网络配置,network='default' 使用 NAT 模式,桥接模式需替换为 bridge='br0'
  • <graphics>:VNC 图形界面配置,用于远程连接。

通过 virsh 创建与启动虚拟机

定义虚拟机

使用 virsh define 命令加载 XML 配置文件并创建虚拟机:

virsh define vm-config.xml

安装操作系统

虚拟机创建后需安装操作系统,可通过以下方式之一完成:

  • 本地 ISO 安装:将 ISO 镜像文件附加到虚拟机,并设置启动顺序:

    virsh attach-disk ubuntu-vm /path/to/ubuntu.iso hda --type cdrom --mode readonly
    virsh change-media ubuntu-vm hda --eject --update
    virsh change-media ubuntu-vm hda --insert /path/to/ubuntu.iso
  • PXE 网络安装:配置 TFTP 服务器和 DHCP,通过 pxe 方式启动虚拟机。

启动虚拟机

执行以下命令启动虚拟机:

virsh建立虚拟机步骤详解?新手必看操作指南

virsh start ubuntu-vm

查看虚拟机状态

使用 virsh list 查看运行中的虚拟机,virsh dominfo ubuntu-vm 查看详细信息:

virsh list --all

虚拟机管理与维护

常用管理命令

命令 功能描述
virsh shutdown VM 关闭虚拟机(需支持 ACPI)
virsh reboot VM 重启虚拟机
virsh destroy VM 强制关闭虚拟机(非安全关闭)
virsh undefine VM 删除虚拟机配置(不删除磁盘)
virsh suspend VM 暂停虚拟机
virsh resume VM 恢复虚拟机

磁盘管理与快照

  • 扩容磁盘

    qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G  # 扩容 10GB
    virsh attach-disk ubuntu-vm --source /dev/sdb --target vdb --type disk  # 添加新磁盘
  • 创建快照

    virsh snapshot-create-as ubuntu-vm snap1 --description "Initial snapshot"

常见问题与解决方案

  1. 权限错误:确保用户属于 libvirtkvm 组,或使用 sudo 执行命令。
  2. 网络不通:检查虚拟机网络模式(NAT/桥接),确认防火墙规则是否拦截流量。
  3. 磁盘挂载失败:验证 XML 配置中的磁盘路径及格式是否正确,使用 virsh attach-disk 重新附加磁盘。

通过 virsh 命令行工具建立虚拟机是 Linux 环境下高效管理虚拟化的方式,本文从环境准备、磁盘创建、XML 配置到虚拟机启动与维护,系统介绍了完整流程,掌握 virsh 的核心命令与参数,能够灵活应对虚拟化部署中的各类需求,为运维和开发工作提供强大支持,结合自动化脚本(如 Ansible),virsh 可进一步实现虚拟机的批量管理,显著提升运维效率。

赞(0)
未经允许不得转载:好主机测评网 » virsh建立虚拟机步骤详解?新手必看操作指南