在Ubuntu系統(tǒng)上安裝 libvirtd
(即Libvirt守護(hù)進(jìn)程)是搭建虛擬化環(huán)境(如KVM/QEMU)的核心步驟。以下是嚴(yán)謹(jǐn)且已驗(yàn)證的安裝流程,適用于Ubuntu 22.04 LTS及更高版本:
一、安裝前準(zhǔn)備
-
系統(tǒng)更新確保系統(tǒng)處于最新?tīng)顟B(tài),避免依賴(lài)沖突:
sudo apt update && sudo apt upgrade -y
-
檢查CPU虛擬化支持
運(yùn)行命令確認(rèn)CPU支持硬件虛擬化(輸出結(jié)果需包含vmx
(Intel)或svm
(AMD)):egrep -c '(vmx|svm)' /proc/cpuinfo # 返回值≥1即支持
二、安裝Libvirt及相關(guān)組件
-
安裝核心軟件包以下命令一次性安裝Libvirt守護(hù)進(jìn)程、管理工具及KVM驅(qū)動(dòng):
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
qemu-kvm
:KVM虛擬化內(nèi)核模塊libvirt-daemon-system
:包含libvirtd
服務(wù)及配置文件libvirt-clients
:提供virsh
等管理命令bridge-utils
:網(wǎng)絡(luò)橋接工具(可選但推薦)virt-manager
:圖形化管理工具(可選)
-
驗(yàn)證驅(qū)動(dòng)加載
檢查KVM內(nèi)核模塊是否激活:lsmod | grep kvm # 應(yīng)顯示kvm_intel或kvm_amd
三、配置權(quán)限與用戶(hù)組
關(guān)鍵步驟:將當(dāng)前用戶(hù)加入 libvirt
用戶(hù)組,避免每次使用 sudo
:
sudo usermod -aG libvirt $(whoami) # 添加當(dāng)前用戶(hù)到libvirt組 newgrp libvirt # 立即生效用戶(hù)組變更
📌 注銷(xiāo)并重新登錄系統(tǒng)可使變更全局生效。
四、啟動(dòng)并驗(yàn)證服務(wù)
-
啟用Libvirt守護(hù)進(jìn)程
sudo systemctl enable --now libvirtd.service # 啟動(dòng)并設(shè)置開(kāi)機(jī)自啟
-
檢查服務(wù)狀態(tài)
sudo systemctl status libvirtd.service # 確認(rèn)顯示"active (running)"
-
測(cè)試連接虛擬化環(huán)境
virsh list --all # 正常應(yīng)輸出空虛擬機(jī)列表(無(wú)錯(cuò)誤提示)
五、網(wǎng)絡(luò)配置(可選但推薦)
默認(rèn)會(huì)創(chuàng)建 default
NAT網(wǎng)絡(luò),若需橋接網(wǎng)絡(luò):
- 編輯網(wǎng)絡(luò)配置文件:
sudo virsh net-edit default
- 將
<forward>
模式改為bridge
(需提前配置物理網(wǎng)橋)
或直接創(chuàng)建新橋接網(wǎng)絡(luò):sudo virt-manager # 圖形化配置更直觀(guān)
六、安全加固建議
-
**禁用TCP監(jiān)聽(tīng)(提升安全性)**編輯配置文件:
sudo nano /etc/libvirt/libvirtd.conf
修改以下參數(shù):
listen_tls = 0 listen_tcp = 0 # 關(guān)閉TCP監(jiān)聽(tīng) unix_sock_group = "libvirt" unix_sock_rw_perms = "0770"
-
重啟服務(wù)生效
sudo systemctl restart libvirtd
七、故障排查
現(xiàn)象 | 解決方案 |
---|---|
virsh 提示權(quán)限不足 |
確認(rèn)用戶(hù)已加入 libvirt 組,執(zhí)行 newgrp libvirt |
虛擬機(jī)無(wú)法啟動(dòng) | 檢查 /var/log/libvirt/qemu/ 日志 |
網(wǎng)絡(luò)橋接失敗 | 確保 bridge-utils 安裝,網(wǎng)卡未被NetworkManager接管 |
總結(jié)
完成上述步驟后,你的Ubuntu系統(tǒng)已具備完整的虛擬化能力:✅ 通過(guò) virt-manager
管理圖形化虛擬機(jī)✅ 使用 virsh
命令實(shí)現(xiàn)高級(jí)控制(如 virsh start my_vm
)✅ 支持KVM加速的Linux/Windows虛擬機(jī)
💡 提示:生產(chǎn)環(huán)境建議關(guān)閉
virt-manager
的spice
服務(wù)端口(TCP 5900+),改用SSH隧道更安全。
保持所有操作在終端直接執(zhí)行,避免依賴(lài)第三方腳本。