Ubuntu上安装libvirtd

Linux命令

Ubuntu上安装libvirtd

2025-07-04 00:08


在Ubuntu系统中安装 libvirtd(即libvirt守护进程)是搭建虚拟化环境(如KVM/QEMU)的核心步骤。以下流程严格遵循官方文档及社区最佳实践,适用于Ubuntu 20.04 LTS及以上版本(截至2024年),确保每一步的严谨性和可操作性。? ? 步骤1:更新系统与验证虚拟化支持

                                            




在Ubuntu系统中安装 libvirtd(即libvirt守护进程)是搭建虚拟化环境(如KVM/QEMU)的核心步骤。以下流程严格遵循官方文档及社区最佳实践,适用于Ubuntu 20.04 LTS及以上版本(截至2024年),确保每一步的严谨性和可操作性。🚀


🔍 步骤1:更新系统与验证虚拟化支持

目的:确保环境兼容性

sudo apt update && sudo apt upgrade -y  # 更新软件源和系统组件
egrep -c '(vmx|svm)' /proc/cpuinfo     # 检查CPU虚拟化支持(输出≥1即支持)

专业提示

  • 若输出为0,需进入BIOS开启Intel VT-x/AMD-V虚拟化功能
  • 云服务器用户需确认实例支持嵌套虚拟化(如AWS需启用 nvme支持)

⚙️ 步骤2:安装核心组件

命令:一次性安装必要软件包

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

组件作用解析

  • qemu-kvm:虚拟化底层引擎
  • libvirt-daemon-system:包含libvirtd守护进程及配置文件
  • libvirt-clients:提供 virsh等管理命令
  • bridge-utils:网络桥接工具
  • virt-manager:图形化管理工具(可选但推荐)

🔐 步骤3:配置用户权限与组

关键操作:将当前用户加入 libvirt

sudo usermod -aG libvirt $USER   # $USER自动替换为当前用户名
newgrp libvirt                   # 刷新用户组(无需重启)

权限逻辑

  • 避免频繁使用 sudo操作虚拟机,提升安全性
  • 通过用户组机制隔离资源访问(检查生效:groups命令显示包含 libvirt

🛠️ 步骤4:启动服务并设置自启

服务管理命令

sudo systemctl start libvirtd.service         # 立即启动
sudo systemctl enable libvirtd.service        # 开机自启
sudo systemctl status libvirtd.service        # 验证状态(显示"active (running)")

故障排查

  • 若状态异常:journalctl -u libvirtd -b 查看启动日志
  • 常见错误:缺少 /var/run/libvirt目录时,手动创建并重启服务

🌐 步骤5:配置网络(默认NAT模式)

激活默认虚拟网络

sudo virsh net-start default      # 启动默认网络
sudo virsh net-autostart default  # 设置网络自启
virsh net-list --all              # 确认"default"状态为active

网络模式说明

  • NAT模式:虚拟机通过宿主机IP访问外网(默认安全)
  • 桥接模式:虚拟机直接暴露在局域网(需手动配置网桥)

✅ 步骤6:验证安装结果

综合检查命令

virt-host-validate   # 输出"PASS"即表示环境正常
virsh list --all      # 查看虚拟机列表(新安装应为空)

关键指标

QEMU: 检查 /dev/kvm 访问权限          → PASS  
LXC: 检查 cgroup设备控制器            → PASS(KVM忽略此项)

⚠️ 常见问题解决方案

  1. 权限拒绝错误
    sudo chown root:libvirt /var/run/libvirt/libvirt-sock  # 修复socket权限
    
  2. 防火墙拦截
    sudo ufw allow out on virbr0  # 允许虚拟网桥流量
    
  3. 存储池错误
    sudo virsh pool-define-as default dir - - - - "/var/lib/libvirt/images"  # 重建默认存储池
    

💡 专业建议

  • 安全加固:定期更新内核及QEMU组件(apt upgrade
  • 备份策略:使用 virt-manager导出虚拟机XML配置(位置:/etc/libvirt/qemu/
  • 性能优化:编辑 /etc/libvirt/qemu.conf启用 numad进程绑定

📌 注:以上流程已覆盖生产环境标准部署。若使用Ubuntu Server版,可省略 virt-manager安装,通过 virsh命令行或Web控制台(如Cockpit)管理虚拟机。

完成安装后,即可使用 virt-install创建虚拟机或导入现有镜像。系统重启后运行 virsh list确认libvirtd自动加载成功!🎉


标签:
  • Ubuntu
  • libvirtd