EndeavourOS, Manjaro และ Linux ตระกูล Arch ติดตั้ง QEMU+KVM, libvirt, Virt-Manager เครื่องเสมือน
QEMU, KVM, libvirt และ Virt-Manager เป็นส่วนประกอบหลักในการสร้างโซลูชันเวอร์ชวลไลเซชัน แต่ละตัวมีบทบาทที่แตกต่างกัน แต่ทำงานร่วมกันเพื่อให้ฟังก์ชันเวอร์ชวลไลเซชันที่ทรงพลัง
QEMU เป็นตัวจำลองฮาร์ดแวร์อเนกประสงค์และตัวจัดการเครื่องเสมือนแบบโอเพนซอร์ส สามารถทำงานเป็นตัวจำลองล้วนๆ (ประสิทธิภาพต่ำกว่า) หรือรวมกับ KVM เพื่อให้เวอร์ชวลไลเซชันที่เร่งด้วยฮาร์ดแวร์ (ประสิทธิภาพสูงกว่า เทียบเท่าเครื่องจริง)
KVM เป็นโมดูลในเคอร์เนล Linux ทำงานบนเคอร์เนล Linux โดยตรง ใช้เทคโนโลยีเวอร์ชวลไลเซชันของฮาร์ดแวร์ สามารถให้ประสิทธิภาพใกล้เคียงกับฮาร์ดแวร์ดั้งเดิม
libvirt เป็น API และชุดเครื่องมือแบบโอเพนซอร์ส ใช้สำหรับจัดการแพลตฟอร์มเวอร์ชวลไลเซชัน (เช่น QEMU/KVM, Xen, VMware, Hyper-V เป็นต้น)
Virt-Manager เป็นเครื่องมือจัดการแบบ GUI ตัวมันเองไม่ได้จัดการเครื่องเสมือนโดยตรง แต่ใช้สำหรับจัดการเครื่องเสมือนที่ให้บริการโดย libvirt เหมาะสำหรับผู้ใช้ที่ไม่คุ้นเคยกับ command line ให้อินเทอร์เฟซแบบกราฟิกที่สะดวก
KVM มาพร้อมกับเคอร์เนล Linux เมื่อรวมกับ QEMU จะให้เวอร์ชวลไลเซชันที่มีประสิทธิภาพสูง libvirt ลดความซับซ้อนของ QEMU ให้ฟังก์ชันการจัดการแบบ command line เป็นเครื่องมือหลักในการจัดการเวอร์ชวลไลเซชัน Virt-Manager เป็นอินเทอร์เฟซ GUI ของ libvirt เหมาะสำหรับผู้ใช้ที่ต้องการอินเทอร์เฟซแบบกราฟิกในการจัดการเครื่องเสมือนอย่างสะดวก
ติดตั้งส่วนประกอบที่จำเป็นสำหรับการทำงานของเครื่องเสมือน
yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.servicesudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USER-
qemu เป็นตัวจำลองเครื่องเสมือนอเนกประสงค์แบบโอเพนซอร์ส อนุญาตให้คุณรันระบบปฏิบัติการอื่นในระบบปฏิบัติการหนึ่ง รองรับเวอร์ชวลไลเซชันระบบเต็มรูปแบบและการจำลองกระบวนการ
-
virt-manager เป็นเครื่องมือจัดการเครื่องเสมือนแบบกราฟิก ลดความซับซ้อนในการสร้าง จัดการ และตรวจสอบเครื่องเสมือน
-
virt-viewer เป็นเครื่องมือดูระยะไกลที่เบา อนุญาตให้เชื่อมต่อกับคอนโซลกราฟิกของเครื่องเสมือน (ผ่านโปรโตคอล SPICE หรือ VNC)
-
dnsmasq เป็นเซิร์ฟเวอร์ DNS และ DHCP ที่เบา Libvirt ใช้มันเพื่อให้การเชื่อมต่อเครือข่ายแบบ NAT แก่เครื่องเสมือน (การตั้งค่าเริ่มต้น)
-
vde2 เป็นสวิตช์เสมือน ใช้สำหรับสร้างสภาพแวดล้อมเครือข่ายเสมือน เป็นเครื่องมือทางเลือก ส่วนใหญ่ใช้สำหรับการกำหนดค่าเครือข่ายเสมือนขั้นสูง เหมาะสำหรับผู้ใช้ที่ต้องการโทโพโลยีเครือข่ายที่ซับซ้อน
-
bridge-utils ให้เครื่องมือจัดการเครือข่ายแบบบริดจ์ ใช้สำหรับเชื่อมอินเทอร์เฟซเครือข่ายของเครื่องเสมือนกับอินเทอร์เฟซเครือข่ายจริง หากคุณต้องการให้เครื่องเสมือนเข้าถึงเครือข่ายภายนอกโดยตรง (โหมดบริดจ์) สิ่งนี้จำเป็น
-
openbsd-netcat เป็นเครื่องมือสำหรับดีบักเครือข่ายและส่งข้อมูล รองรับโปรโตคอล TCP และ UDP Libvirt ใช้มันสำหรับงานที่เกี่ยวกับเครือข่ายบางอย่าง (เช่น การส่งข้อมูลระหว่างโฮสต์ระยะไกล)
-
ebtables เป็นเครื่องมือระดับผู้ใช้ ใช้สำหรับจัดการตารางกรองของบริดจ์ในเคอร์เนล Linux ใช้เมื่อต้องจัดการกฎการรับส่งข้อมูลเครือข่ายของเครื่องเสมือนในเครือข่ายบริดจ์
-
swtpm เป็น TPM ที่จำลองด้วยซอฟต์แวร์ อนุญาตให้เครื่องเสมือนใช้ฟังก์ชัน TPM โดยไม่ต้องมีฮาร์ดแวร์รองรับ รองรับ Windows 11 หรือแอปพลิเคชันอื่นที่ต้องการ TPM
ใช้งานการแชร์คลิปบอร์ดและการลากไฟล์ใน QEMU, virt-manager
yay -S spice-vdagent qemu-guest-agentsudo pacman -S spice-vdagent qemu-guest-agent- spice-vdagent ใช้หลักในการเพิ่มประสบการณ์ผู้ใช้ ให้ฟังก์ชันการแชร์คลิปบอร์ด การลากไฟล์ เป็นต้น
- qemu-guest-agent ให้ความสามารถในการจัดการและสื่อสารระหว่างเครื่องเสมือนกับโฮสต์ อนุญาตให้เครื่องเสมือนทำงานและจัดการได้อย่างมีประสิทธิภาพมากขึ้น
หลังจากติดตั้งเสร็จ ต้องตั้งค่าเครื่องเสมือนใน virt-manager (ฝั่งโฮสต์ Linux)
- โปรโตคอลการแสดงผล Spice Spice Server - ประเภท: Spice Server

- เพิ่มฮาร์ดแวร์ (สองรายการ): Channel: เลือกชื่อ com.redhat.spice.0 Channel: เลือกชื่อ org.qemu.guest_agent.0


ติดตั้ง Spice Guest Tools ในเครื่องเสมือน (ระบบเกสต์/ระบบปฏิบัติการเครื่องเสมือนที่ติดตั้ง) เพื่อรองรับฟังก์ชันการแชร์คลิปบอร์ด การลากไฟล์ เป็นต้น
หากเกิดข้อผิดพลาด “เกิดข้อผิดพลาดในการเริ่มโดเมน: การดำเนินการที่ต้องการไม่ถูกต้อง: เครือข่าย ‘default’ ไม่ได้เปิดใช้งาน” ต้องเริ่มเครือข่าย default
เริ่มเครือข่าย default
sudo virsh net-start defaultตั้งค่าเริ่มอัตโนมัติเมื่อเปิดเครื่อง
sudo virsh net-autostart default