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

libvirt 创建虚拟机时新手如何通过命令行完成详细创建步骤?

libvirt 简介

libvirt 创建虚拟机时新手如何通过命令行完成详细创建步骤?

libvirt 是一套开源的虚拟化管理和 API 工具集,旨在简化虚拟机的创建、管理和监控,它支持多种虚拟化技术(如 KVM、Xen、VMware、VirtualBox 等),提供了统一的接口,让用户可以通过命令行工具(如 virsh)、图形界面(如 virt-manager)或编程语言(如 Python、C)来操作虚拟机,对于需要批量管理虚拟化的场景,libvirt 凭借其稳定性和灵活性,成为 Linux 环境下虚拟化管理的首选工具之一。

环境准备

在开始创建虚拟机前,需确保宿主机满足以下条件:

  1. 虚拟化支持:CPU 需开启 VT-x(Intel)或 AMD-V(AMD)虚拟化技术,并在 BIOS 中启用,可通过命令 grep -E 'vmx|svm' /proc/cpuinfo 检查是否支持。
  2. 安装必要软件包:以 Ubuntu 为例,执行 sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager;CentOS 系统可通过 sudo yum install qemu-kvm libvirt virt-install bridge-utils 安装,qemu 提供虚拟化核心功能,libvirt-daemon 是守护进程,bridge-utils 用于网络配置。
  3. 用户权限:将当前用户添加到 libvirt 用户组,避免每次操作都需要 sudo:sudo usermod -aG libvirt $USER,之后需重新登录生效。

创建虚拟机步骤

创建虚拟机主要通过 XML 配置文件和 virt-install 命令完成,以下是详细步骤:

定义虚拟机 XML 配置

libvirt 通过 XML 文件描述虚拟机的硬件配置(如内存、CPU、磁盘、网络等),以下是一个基础示例(保存为 vm_config.xml):

libvirt 创建虚拟机时新手如何通过命令行完成详细创建步骤?

<domain type='kvm'>  
  <name>ubuntu-vm</name>  
  <memory unit='MiB'>2048</memory>  
  <vcpu>2</vcpu>  
  <os>  
    <type arch='x86_64'>hvm</type>  
    <boot dev='cdrom'/>  
  </os>  
  <devices>  
    <disk type='file' device='cdrom'>  
      <driver name='qemu' type='raw'/>  
      <source file='/path/to/ubuntu.iso'/>  
      <target dev='hda' bus='ide'/>  
    </disk>  
    <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'>  
      <source network='default'/>  
      <model type='virtio'/>  
    </interface>  
    <graphics type='vnc' port='-1' autoport='yes'/>  
  </devices>  
</domain>  

关键参数说明

  • <name>:虚拟机名称;
  • <memory><vcpu>:分配内存(单位 MiB)和 CPU 核心数;
  • <disk>:磁盘配置,type='file' 表示使用文件作为磁盘,device='cdrom' 为光驱,device='disk' 为系统盘,type='qcow2' 支持快照;
  • <interface>:网络配置,network='default' 使用 libvirt 默认的 NAT 网络;
  • <graphics>:VNC 图形接口,用于远程连接虚拟机桌面。

使用 virt-install 安装虚拟机

通过 virt-install 命令结合 XML 文件或直接参数创建虚拟机,以下是常用方式:

基于 XML 文件创建

sudo virt-install --config vm_config.xml --import  

若需交互式安装(如从 ISO 启动),可添加 --cdrom /path/to/ubuntu.iso 参数。

直接通过参数创建

sudo virt-install \  
  --name ubuntu-vm \  
  --memory 2048 \  
  --vcpu 2 \  
  --disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20,bus=virtio \  
  --cdrom /path/to/ubuntu.iso \  
  --network network=default \  
  --graphics vnc \  
  --os-variant ubuntu22.04  

参数说明:--disk size=20 表示磁盘大小 20GB,--os-variant 可指定操作系统类型(如 ubuntu22.04centos8),libvirt 会自动优化默认配置。

libvirt 创建虚拟机时新手如何通过命令行完成详细创建步骤?

虚拟机管理

创建完成后,可通过 virsh 命令管理虚拟机:

  • 查看虚拟机列表virsh list --all--all 包含已关闭的虚拟机);
  • 启动虚拟机virsh start ubuntu-vm
  • 关闭虚拟机virsh shutdown ubuntu-vm(优雅关机);
  • 强制关机virsh destroy ubuntu-vm
  • 进入控制台virsh console ubuntu-vm(需虚拟机安装 serial 终端);
  • 编辑配置virsh edit ubuntu-vm(修改 XML 后需重启生效);
  • 删除虚拟机virsh undefine ubuntu-vm(会删除配置但保留磁盘文件,需手动清理)。

注意事项

  1. 磁盘权限:磁盘文件路径需确保 libvirt 用户有读写权限(如 /var/lib/libvirt/images/ 目录默认权限正确);
  2. 网络配置:默认 NAT 网络可满足基本需求,若需虚拟机与外部网络互通,可配置桥接网络(bridge);
  3. 快照管理:qcow2 格式支持快照,可通过 virsh snapshot-create 创建,便于备份和恢复;
  4. 性能优化:磁盘建议使用 virtio 接口,CPU 可根据负载调整模式(如 --cpu host-model 以匹配宿主机 CPU 特性)。

通过以上步骤,即可利用 libvirt 高效完成虚拟机的创建与管理,适用于开发测试、服务器虚拟化等多种场景。

赞(0)
未经允许不得转载:好主机测评网 » libvirt 创建虚拟机时新手如何通过命令行完成详细创建步骤?