在Arch Linux/Manjaro上安裝KVM、QEMU和Virt Manager的方法


1. 什么是KVM

KVM(Kernel-based Virtual Machine的縮寫),是內核內建的虛擬機,追求簡便的運作。例如運行虛擬機僅需要加載相應的 kvm 模塊,但是KVM需要芯片支持虛擬化技術(Intel的VT擴展,或是AMD的AMD-V 擴展)。
在KVM中,可以運行各種GNU/Linux,Windows 或其他系統鏡像(例如FreeBSD,MacOS)。每個虛擬機都可以提供獨享的虛擬硬件:網卡,硬盤,顯卡等(虛擬機甚至可以直通主機設備,例如GPU PCI pass through)。

2. 准備KVM

KVM需要host的處理器支持虛擬化,通過下嗎命令查看host是否支持

$ LC_ALL=C lscpu | grep Virtualization 

例如我的AMD處理器顯示:

Virtualization: AMD-V 

注意:虛擬化支持可以在BIOS中開啟。

3. 安裝KVM

安裝qemu, libvirt, ovmf, virt-manager

# pacman -S qemu libvirt ovmf virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat 
  • kvm 負責CPU和內存的虛擬化
  • qemu 向Guest OS模擬硬件(例如,CPU,網卡,磁盤,等)
  • ovmf 為虛擬機啟用UEFI支持
  • libvirt 提供管理虛擬機和其它虛擬化功能的工具和API
  • virt-manager 是管理虛擬機的GUI

: 實際上,這步只需要安裝qemu就可以使用虛擬機,但是qemu-kvm接口有些復雜,libvirt和virt-manager讓配置和管理虛擬機更便捷。

還要安裝ebtables和iptables軟件包:

sudo pacman -S ebtables iptables

二、在Arch Linux/Manjaro上安裝libguestfs

libguestfs是一組用於訪問和修改虛擬機(VM)磁盤映像的工具。

首先在/etc/pacman.conf上啟用AUR:

$ sudo vim /etc/pacman.conf

# Should have below lines

[archlinuxfr]

SigLevel = Never

Server = http://repo.archlinux.fr/$arch

然后更新你的Pacman數據庫:

sudo pacman -Syy

參考:pacman命令_Linux pacman命令使用詳解:一個軟件包管理器

使用AUR幫助程序安裝libguestfs工具:

sudo pacman -S yaourt

yaourt -S --noconfirm --needed libguestfs

 

三、啟動KVM libvirt服務

安裝完成后,啟動並啟用libvirtd服務以在啟動時啟動:

sudo systemctl enable libvirtd.service

sudo systemctl start libvirtd.service

狀態顯示正在運行,如下圖所示:

在Arch Linux/Manjaro上安裝KVM、QEMU和Virt Manager的方法

 

四、啟用普通用戶帳戶以使用KVM

由於我們希望使用我們的標准Linux用戶帳戶來管理KVM,因此我們將KVM配置為允許此操作。

打開文件/etc/libvirt/libvirtd.conf進行編輯:

sudo pacman -S vim

sudo vim /etc/libvirt/libvirtd.conf

將UNIX域套接字組所有權設置為libvirt(第85行):

unix_sock_group = "libvirt"

設置R/W套接字的UNIX套接字權限(第102行):

unix_sock_rw_perms = "0770"

將你的用戶帳戶添加到libvirt組:

sudo usermod -a -G libvirt $(whoami)

newgrp libvirt

重啟libvirt守護進程:

sudo systemctl restart libvirtd.service

 

五、啟用嵌套虛擬化(可選)

嵌套虛擬化功能使你可以在VM中運行虛擬機,通過啟用內核模塊為kvm_intel啟用嵌套虛擬化:

sudo modprobe -r kvm_intel

sudo modprobe kvm_intel nested=1

要使此配置持久,請運行:

echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf

確認嵌套虛擬化設置為是:

$ systool -m kvm_intel -v | grep nested

nested              = "Y"

nested_early_check  = "N"

$ cat /sys/module/kvm_intel/parameters/nested 

Y

到這里就全部完成了。

擴展/增加KVM虛擬機(VM)磁盤大小的方法

KVM + MacOS

KVM 安裝 win10

KVM + PCI Passthrough

參考資料

https://wiki.archlinux.org/index.php/KVM

https://wiki.archlinux.org/index.php/Libvirt

https://ywnz.com/linuxjc/4953.html

https://www.jianshu.com/p/392ae8181dc3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM