Virtualization (การจำลอง) ยิ่งมายิ่งนิยม ความสามารถในการนำเครื่องเดิมมาสร้าง VM หลายตัวช่วยมากในการศึกษา ทดสอบ ทดลอง และเพิ่มประสิทธิภาพการทำงาน Linux ที่นิยมและทรงพลัง เป็นจุดเริ่มต้นดีสำหรับสร้าง virtualization server หรือ workStation ส่วนตัว บทความนี้ครอบคลุมวิธีสร้าง Linux virtualization workstation ตั้งแต่ศูนย์
ความเข้ากันได้ของฮาร์ดแวร์ Virtualization
ก่อนติดตั้งแพ็กเกจ ตรวจสอบว่า CPU รองรับ hardware virtualization หรือไม่ CPU ลैปท็อป/เดสก์ท็อปสมัยใหม่รองรับส่วนใหญ่ แต่ควรตรวจสอบ คำสั่งด้านล่างตรวจสอบไฟล์ "/proc/cpuinfo" หาเทคโนโลยีที่จำเป็น หากไม่แน่ใจ ลองทั้งคู่ ไม่เสียหาย
grep vmx /proc/cpuinfo # สำหรับ Intel CPUs grep svm /proc/cpuinfo # สำหรับ AMD CPUs
ระบบของผมเป็น Intel output ดูเหมือนรูป
หากไม่มี output จากคำสั่งทั้งสอง ให้ดู output ของ lscpu หาส่วน "Virtualization" output ของผมเหมือนรูปถัดไป
ทราบแล้วว่าระบบรองรับ virtualization แนะนำ RAM อย่างน้อย 8 GB สำหรับประสบการณ์ดีที่สุด แนะนำ 16, 32 หรือ 64 GB จะมีพื้นที่มากสำหรับรัน VM หลายตัวโดยไม่กังวล RAM หมด สร้างเครือข่าย client/server หรือ fleet workstation บนเครื่องเดียวได้
ติดตั้ง KVM
KVM = Kernel-based Virtual Machine hypervisor เนทีฟของ Linux ที่ดีที่สุด ประสิทธิภาพดี มีหลายวิธีจัดการ KVM VMs QEMU มักใช้ร่วมกับ KVM เพื่อ emulate hardware
ติดตั้งสิ่งที่จำเป็นสำหรับ server:
Fedora:
sudo dnf -y groupinstall "Virtualization Host"; sudo dnf -y install virt-install
Ubuntu/Ubuntu-based:
sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
ติดตั้ง KVM เสร็จ ตรวจสอบว่า kernel module โหลดแล้ว:
lsmod | grep kvm
และเริ่มต้น/เปิดใช้งาน daemon สำหรับ KVM:
sudo systemctl start libvirtd sudo systemctl enable libvirtd sudo systemctl status libvirtd
output ควรเหมือนรูป
หลายคู่มือจะสร้าง bridge สำหรับ VM เข้าถึงเน็ตภายนอก ไม่ครอบคลุมที่นี่ แต่มีลิงก์ Arch Wiki สอนหลายวิธี จะช่วยหากต้องการให้ VM ให้บริการเครือข่ายกว้าง แต่ถ้าแค่ทดสอบและ sandbox ตัวเลือก network เริ่มต้นพอ
ติดตั้งและจัดการ KVM VMs ด้วย GUI
มีหลายวิธาจัดการ KVM VMs หากใช้ graphical desktop สำหรับ workstation/server ใช้ Virtual Machine Manager (virt-manager) หรือ GNOME Boxes* หรือหากรัน CLI-only server และต้องการ GUI ใช้ Cockpit ติดตั้งแอป "Machines" ในเมนู "Applications" ทุก GUI tools นี้ติดตั้ง KVM VMs ได้
*GNOME Boxes ใช้ง่ายที่สุดสำหรับ KVM VMs แต่ไม่ได้ควบคุม networking, storage, hardware configuration เท่าตัวเลือกอื่น
ติดตั้ง KVM VMs จาก Terminal
ใช้ CLI tools ที่มากับแพ็กเกจข้างต้น virt-install ติดตั้ง KVM VMs โดยไม่ต้องมานั่งแก้ XML definitions มีตัวเลือกเยอะมาก แต่ template นี้ทำงานดีที่สุด:
sudo virt-install \ --connect qemu:///system \ --name <NAME> \ --memory <MEMORY_IN_MB> \ --vcpus <CPUs> \ --disk size=<SIZE> \ --cdrom /PATH/TO/ISO/FILE
ควรครอบคลุมทุกด้านที่ต้องการ สามารถติดตั้งผ่านเน็ต import images และระบุตำแหน่งดิสก์ด้วย "path=/PATH/TO/DIR/DISKNAME.qcow2" หลัง size คั่นคอมมา ดูเอกสาร Red Hat สำหรับ virt-install
จะเปิด Remote Viewer (virt-viewer) ให้ผ่านกระบวนการติดตั้ง OS ปกติ ต้องมี GUI หาก server ไม่มีหน้าจอ แนะนำ Cockpit ตามข้างต้น สามารถใช้ kickstart files ติดตั้ง RHEL-based distros ด้วย virt-install ได้
จัดการ KVM VMs จาก Terminal
คำสั่งหลักคือ virsh ใช้เป็นคำสั่งหรือ interactive shell พิมพ์ sudo virsh Enter
ตัวอย่าง: list domains ทั้งหมด list --all เริ่ม domain start ปิด domain shutdown
มีตัวเลือก virsh อีกมาก สำรวจ man pages และขุดลึกสิ่งที่จัดการได้จาก terminal
SSH เข้า VMs ด้วย IP Address ได้ พวกมันได้ IP จาก interface virbr0 และ interface ของ VMs เปิด SSH access โดยค่าเริ่มต้น
ตอนนี้คุณมี virtualization workstation บน Linux แล้ว เรียนรู้วิธีเร่ง VMs และเข้าถึง Linux VMs ด้วย VNC