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

libvirt 安装虚拟机

libvirt 是一款开源的虚拟化管理工具,提供了统一的 API 接口,用于管理 KVM、Xen、VMware 等多种虚拟化平台,通过 libvirt,用户可以方便地创建、启动、停止、删除虚拟机,并管理虚拟机的存储、网络等资源,同时支持命令行工具(如 virsh)和图形化界面(如 virt-manager),满足不同场景下的管理需求,本文将详细介绍如何使用 libvirt 安装和管理虚拟机。

安装前准备

在开始安装前,需确保系统满足基本要求并开启虚拟化支持,推荐使用 Linux 发行版(如 Ubuntu 20.04+、CentOS 7+),并确保 CPU 支持虚拟化(可通过 grep -E 'vmx|svm' /proc/cpuinfo 检查,若输出结果包含 vmx 或 svm 标志则支持),关闭 SELinux(临时关闭命令为 setenforce 0)或配置相应策略,避免权限问题,更新系统软件包列表(Ubuntu 执行 sudo apt update,CentOS 执行 sudo yum update),确保依赖包的最新性。

安装 libvirt 及相关组件

libvirt 的安装依赖虚拟化内核模块和管理工具,不同发行版的安装命令略有差异。

Ubuntu/Debian 系统:

sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

CentOS/RHEL 系统:

sudo yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils

安装完成后,启动 libvirt 守护进程并设置开机自启:

sudo systemctl start libvirtd
sudo systemctl enable libvirtd

可通过 sudo systemctl status libvirtd 检查服务状态,确保运行正常。

配置网络环境

libvirt 默认使用 NAT 网络模式,虚拟机可通过主机访问外部网络,但外部无法直接访问虚拟机,若需调整网络配置,可编辑默认网络 XML 文件:

  1. 查看默认网络:virsh net-list --all
  2. 导出默认网络配置:virsh net-dumpxml default > default.xml
  3. 修改 default.xml,例如将 DHCP 地址范围扩大或启用 IP 静态绑定:
    <dhcp>
      <range start='192.168.122.100' end='192.168.122.200'/>
    </dhcp>
  4. 重新加载网络:virsh net-define default.xml && virsh net-start default && virsh net-autostart default

若需桥接模式(虚拟机直接通过主机网卡上网),需创建桥接设备并配置网络,此处不再展开,可参考 libvirt 官方文档。

创建虚拟机

libvirt 支持通过命令行(virt-install)和图形化界面(virt-manager)创建虚拟机,此处以命令行为例。

准备镜像文件

下载操作系统镜像(如 Ubuntu Server 22.04 ISO),并将其放置到本地目录(如 /var/lib/libvirt/images/)。

执行 virt-install 命令

以下为创建虚拟机的示例命令,可根据需求调整参数:

sudo virt-install \
  --name ubuntu-vm \               # 虚拟机名称
  --ram 2048 \                    # 分配内存(MB)
  --vcpus 2 \                     # 分配 CPU 核心数
  --disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \  # 磁盘镜像(20GB)
  --cdrom /var/lib/libvirt/images/ubuntu-22.04.3-live-server-amd64.iso \  # 系统镜像路径
  --os-variant ubuntu22.04 \       # 系统类型(自动优化安装参数)
  --network network=default \     # 使用默认 NAT 网络
  --graphics spice \               # 图形显示协议(可选 vnc)
  --noautoconsole                 # 不自动连接控制台

执行命令后,虚拟机将开始自动安装操作系统,可通过 virsh list --all 查看虚拟机状态,若需连接控制台,可使用 virsh console ubuntu-vm(需在系统中安装 guestfishserialconsole 工具)。

虚拟机管理操作

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

  • 启动虚拟机virsh start ubuntu-vm
  • 关闭虚拟机virsh shutdown ubuntu-vm(优雅关机)
  • 强制关机virsh destroy ubuntu-vm
  • 查看虚拟机状态virsh list --all
  • 删除虚拟机virsh undefine ubuntu-vm(仅移除配置,磁盘需手动删除)
  • 创建快照virsh snapshot-create-as ubuntu-vm snap1 --description "Initial snapshot"
  • 恢复快照virsh snapshot-revert ubuntu-vm snap1

常见问题处理

  1. 权限问题:若提示“权限不足”,需将当前用户添加到 libvirt 用户组:sudo usermod -a -G libvirt $USER,然后重新登录。
  2. 网络不通:检查 NAT 网络是否启动,dnsmasq 服务是否正常运行(sudo systemctl status dnsmasq)。
  3. 磁盘空间不足:可通过 qemu-img resize 扩展磁盘:qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G(扩展 10GB),然后在虚拟机内部分区并扩容文件系统。

通过以上步骤,即可完成 libvirt 的安装及虚拟机的创建与管理,libvirt 凭借其灵活性和可扩展性,适用于个人开发、测试及中小规模生产环境,是虚拟化管理的实用工具。

赞(0)
未经允许不得转载:好主机测评网 » libvirt 安装虚拟机