- 1 Panimula
- 2 Paghahambing ng KVM at Iba Pang Teknolojiya sa Virtualisasyon
- 3 Pagbuo ng Kapaligiran ng KVM sa Ubuntu [Pag-install at Initial na Pag-set up]
- 4 Paglikha at Basic na Operasyon ng Virtual Machine
- 5 Mga Pagsasaayos ng Network at Pagpapalawak
- 6 Pamamahala ng Storage at Operasyon ng Disk
- 7 Installation at Operasyon ng Guest OS
- 8 Mga Halimbawa ng Praktikal na Paggamit at Mga Tip sa Awtomatiksasyon
- 9 Troubleshooting – Mga Karaniwang Solusyon sa Error
- 10 Pag-optimize ng Seguridad at Pagganap
- 11 Buod at Mga Mapagkukunan para sa Hinaharap na Pag-aaral
- 12 Mabilis na Sanggunian ng mga Command & Mga Karaniwang Halimbawa ng Kagustuhan (Cheat Sheet)
- 13 Mga Madalas na Tanong (FAQ)
- 13.1 Q1: Ano ang pagkakaiba ng KVM sa VirtualBox o VMware?
- 13.2 Q2: Paano mag-backup at mag-restore ng virtual machine?
- 13.3 Q3: Paano gamitin ang USB device sa virtual machine?
- 13.4 Q4: Paano awtomatikong i-start ang virtual machine kapag nag-start ang host?
- 13.5 Q5: Paano kung mabagal ang paggana ng virtual machine?
- 13.6 Q6: Hindi gumagana ang network setting. Ano ang gagawin?
- 13.7 Q7: Maaari bang gumawa ng cluster o HA setup gamit ang KVM?
Panimula
Ang Ubuntu ay isa sa mga malawak na ginagamit na Linux distribution sa buong mundo. Sinusuportahan ito sa iba’t ibang sitwasyon mula sa mga personal na gumagamit hanggang sa mga enterprise environment, at madalas na ginagamit sa pagbuo ng server at development environment. Kung nais mong makamit ang tunay na virtualization sa Ubuntu, napakalakas ng “KVM (Kernel-based Virtual Machine)”.
Ang KVM ay isang hypervisor-type na virtualization technology na standard na naka-integrate sa Linux kernel, na gumagamit ng mga hardware virtualization support functions (Intel VT o AMD-V) upang makamit ang mataas na performance at stability. Ang KVM ay open source, at ang kakayahang magbuo ng tunay na virtualization infrastructure habang pinapababa ang mga gastos ay isa sa malaking katangian nito.
Maraming tao ang maaaring magkaroon ng impresyong mahirap ang virtualization technology. Gayunpaman, sa kombinasyon ng Ubuntu at KVM, kahit ang mga baguhan ay maaaring madaling gumawa at mag-operate ng virtual machines. Siyempre, inirerekomenda rin ito sa mga intermediate na gustong epektibong gamitin ang mga umiiral na physical server resources, o sa mga field engineers na nais virtualize ang mga aktwal na business systems.
Sa artikulong ito, ipapaliwanag namin nang mabuti mula sa paraan ng pagbuo ng virtualization environment gamit ang KVM sa Ubuntu, hanggang sa mga basic na paggamit, practical na tips sa paggamit, at mga paraan ng paghawak sa karaniwang problema. Kung nais mong simulan ang paggamit ng KVM o gawing mas maginhawa ang virtualization environment ng Ubuntu, mangyaring basahin hanggang sa dulo.
Paghahambing ng KVM at Iba Pang Teknolojiya sa Virtualisasyon
May iba’t ibang uri ng teknolohiyang virtualisasyon, ngunit sa kapaligiran ng Ubuntu, ang mga karaniwang ginagamit ay KVM, bukod pa sa VirtualBox at VMware. Dito, tatalakayin natin nang detalyado ang mga tampok, pagkakaiba, at mga benepisyo at dehado ng pagpili ng KVM.
Mga Pangunahing Uri ng Teknolojiya sa Virtualisasyon
- KVM(Kernel-based Virtual Machine)
Ang KVM ay isang tampok ng virtualisasyon na naka-embed sa Linux kernel, na nangangailangan ng host OS na Linux. Sa paggamit ng mga tampok ng suporta sa virtualisasyon ng hardware (Intel VT o AMD-V), mataas ang performance ng virtual machine, at sapat ito para sa aktwal na operasyon, na ito ang malaking tampok. Maaaring gamitin ang mga operasyon ng command o mga tool sa pamamahala (virt-manager at iba pa) para sa maluwag na operasyon. - VirtualBox
Ang VirtualBox ay isang software ng virtualisasyon para sa desktop na ibinigay ng Oracle, na gumagana sa iba’t ibang platform tulad ng Windows, Mac, at Linux. Madaling maunawaan ang interface, at karaniwang ginagamit ito para sa personal na layunin o pag-aaral. Gayunpaman, kumpara sa KVM, hindi ito angkop para sa komersyal na kapaligiran o mataas na load. - VMware(VMware Workstation/ESXi at iba pa)
Ang VMware ay isang komersyal na produkto ng virtualisasyon na madalas na ginagamit sa negosyo. Mayaman ito sa mga tampok at may ganap na suporta, ngunit kailangan ng bayad na lisensya, na ito ang malaking pagkakaiba. Lalo na karaniwan ito sa malalaking korporasyon, ngunit may pasanin sa gastos.
Mga Benepisyo ng KVM
- Mataas na Performance at Katatagan
Ang KVM ay gumagana bilang bahagi ng Linux kernel, kaya mahusay ang efficiency ng resources, at maaaring kontrolin nang detalyado ang CPU o memory na iniuugnay sa bawat virtual machine. Ito ay kaakit-akit dahil sa katatagan na sapat para sa aktwal na operasyon ng sistema ng negosyo. - Open Source at Walang Gastos
Ang KVM ay ganap na open source, kaya walang bayad sa lisensya. Perpekto ito para sa pagbuo ng base ng virtualisasyon nang mababa ang gastos. - Mayamang Mga Tool sa Pamamahala at Awtomatasyon
May iba’t ibang paraan ng pamamahala ayon sa layunin, tulad ng command-line tools (virsh o virt-install) o GUI management tools (virt-manager). Madaling awtomatahin o gumawa ng script, kaya angkop ito para sa DevOps o pamamahala ng imprastraktura.
Mga Dehado ng KVM
- Limited sa Host OS na Linux
Ang KVM ay nangangailangan ng Linux kernel, kaya hindi ito magagamit sa host environment ng Windows o Mac. - Kailangan ng Kaalaman sa Linux para sa Initial Setup at Pagresolba ng Problema
Bagamat may GUI tools, maaaring kailanganin ang operasyon ng command o kaalaman na tiyak sa Linux para sa setting ng network o detalyadong tuning.
Kailan Dapat Pumili ng KVM?
- Kung nais na ma-efficient na gamitin ang resources ng physical server
- Kung nais na gumamit ng virtualisasyon para sa seryosong sistema ng negosyo o server
- Kung nais na magbuo ng seryosong base ng virtualisasyon habang pinipigilan ang gastos
- Kung nais na awtomatahin ang operasyon ng Linux server o pamamahala ng imprastraktura
Ang KVM ay inirerekomenda hindi lamang sa mga gumagamit o engineer na sanay sa Linux, kundi pati na rin sa mga nais na hamunin ang seryosong operasyon ng server sa hinaharap.
Pagbuo ng Kapaligiran ng KVM sa Ubuntu [Pag-install at Initial na Pag-set up]
Upang magamit ang KVM sa Ubuntu, kailangan ng ilang kondisyon na prerequisite, paghahanda, at aktwal na trabaho sa pag-install. Sa kabanatang ito, ipapaliwanag ko nang sunud-sunod ang mga hakbang na kinakailangan para sa pagpapakilala ng KVM. Upang maging madali para sa mga baguhan ang pagbuo ng kapaligiran, ipapaliwanag ko nang detalyado bawat punto.
Mga Kinakailangang Requirements at Paunang Pagsusuri
Upang magamit ang KVM, kailangang sumuporta ang CPU ng iyong computer o server sa “Virtualization Support Feature (Intel VT o AMD-V)”.
Una, suriin gamit ang sumusunod na command kung aktibo ang virtualization support function.
egrep -c '(vmx|svm)' /proc/cpuinfo
Kung ipapakita ang halaga na 1 o higit pa, magagamit ang virtualization function.
Gayundin, kailangang 64-bit version ng Ubuntu.
Pag-install ng KVM at Mga Kinakailangang Package
Ipo-install ang main ng KVM at mga kaugnay na tool (libvirt o virt-manager at iba pa).
Ipatupad ang mga sumusunod na command nang sunud-sunod.
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
qemu-kvm
: Ang main ng KVM virtualizationlibvirt-daemon-system
,libvirt-clients
: Mga serbisyo para sa pamamahala ng virtual machinebridge-utils
: Tool para sa network bridgevirt-manager
: Tool na nagpapahintulot ng pamamahala ng virtual machine gamit ang GUI
Pag-set up ng Group ng User at Pagbigay ng Permissions
Pagkatapos ng pag-install, idagdag ang kasalukuyang user sa mga group ng KVM at libvirt. Sa ganito, magiging posible ang pag-ooperate ng virtual machine nang walang administrator rights.
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)
Upang maipaliwanag, mag-log out, mag-log in ulit o i-restart.
Pagsusuri ng Operation ng Serbisyo ng KVM
Suriin kung tama ang pag-install ng KVM at kung nagsisimula ang service.
sudo systemctl status libvirtd
Kung “active (running)” ang ipapakita, normal na.
Gayundin, suriin gamit ang sumusunod na command kung aktibo ang KVM.
virsh list --all
Kung ipapakita ang listahan ng virtual machines (kahit walang laman sa kasalukuyang panahon), tama ang pagbuo ng kapaligiran ng KVM.
Paglikha at Basic na Operasyon ng Virtual Machine
Kapag handa na ang kapaligiran ng KVM, oras na upang aktwal na lumikha ng virtual machine at subukan ang pagpapatakbo nito. Sa KVM, maaari kang gumamit ng graphical na tool sa pamamahala (virt-manager) at mga operasyon sa command line (virt-install o virsh) ayon sa sitwasyon. Dito, ipapakita ko ang parehong mga diskarte.
Paglikha ng Virtual Machine Gamit ang virt-manager (GUI)
Ang virt-manager ay isang tool na nagbibigay-daan sa paglikha at pamamahala ng virtual machine gamit ang intuitive na GUI. Kung gumagamit ka ng desktop environment ng Linux, napakagaan ng paggamit ng virt-manager.
- I-launch ang
virt-manager
mula sa “Applications” o command line. - I-click ang “Bagong” button sa kaliwang itaas ng screen.
- Tukuyin ang lokasyon ng installation media (tulad ng ISO image), at piliin ang uri ng guest OS (hal.: Ubuntu, Windows).
- I-set ang bilang ng CPU, memory, disk capacity, at iba pa na iaallot sa virtual machine.
- Suriin ang mga setting, at i-click ang “Tapos” upang likhain ang virtual machine, na magpapakita ng installation screen.
Sa virt-manager, madali ring gawin ang pag-start, pag-stop, pag-restart ng virtual machine, pagkuha ng snapshot, at pagdaragdag ng network o disk.
Paglikha ng Virtual Machine Gamit ang virt-install (CLI)
Sa mga layuning server o remote environment, mas maginhawa minsang lumikha ng virtual machine mula sa command line.
Ang sumusunod ay halimbawa ng basic na paggamit ng virt-install
command.
sudo virt-install
--name ubuntu-vm
--memory 2048
--vcpus 2
--disk size=20
--cdrom /path/to/ubuntu.iso
--os-type linux
--os-variant ubuntu20.04
--network network=default
--graphics vnc
--name
: Pangalan ng virtual machine--memory
: Alokasyon ng memory (sa MB)--vcpus
: Bilang ng CPU cores na iaallot--disk size=20
: Kapasidad ng virtual disk (sa GB)--cdrom
: Daanan ng ISO image na gagamitin sa installation--os-type
,--os-variant
: Uri at bersyon ng OS--network
: Network na ikokonekta--graphics
: Graphic mode (tulad ng VNC)
Matapos ang pag-execute ng command, awtomatikong mags-start ang virtual machine, at ipapakita ang installation screen sa pamamagitan ng VNC o katulad.
Pag-start, Pag-stop, Pagbura, at Pagkuha ng Snapshot ng Virtual Machine
Sa KVM, madali ang mga operasyon sa nilikhang virtual machine. Ang mga kinatawang command ay ang mga sumusunod.
- Pag-start ng virtual machine
virsh start <pangalan ng virtual machine>
- Pag-stop ng virtual machine
virsh shutdown <pangalan ng virtual machine>
- Pagpipilit ng pag-stop ng virtual machine
virsh destroy <pangalan ng virtual machine>
- Pagbura ng virtual machine (mag-ingat kung nais mong alisin din ang disk)
virsh undefine <pangalan ng virtual machine>
- Paglikha ng snapshot
virsh snapshot-create-as <pangalan ng virtual machine> <pangalan ng snapshot>
Ang mga operasyong ito ay maaari ring gawin gamit ang GUI ng virt-manager.
Mga Pagsasaayos ng Network at Pagpapalawak
Kapag nag-ooperate ng virtual machine sa KVM, ang mga pagsasaayos ng network ay napaka-importante. Maaari itong gamitin sa maraming layunin kahit sa mga default na pagsasaayos, ngunit sa mga layuning pangnegosyo o seryosong operasyon ng server, maaaring kailanganin ang pagpapasadya. Sa kabanatang ito, ipapaliwanag mula sa mga basic ng network ng KVM hanggang sa mga karaniwang pagsasaayos ng pagpapalawak.
Mga Pagkakaiba ng Default NAT (virbr0) at Bridge Network
Kapag na-install ang KVM, awtomatikong lumilikha ng virtual network bridge na tinatawag na “virbr0”. Ito ay isang network ng NAT (Network Address Translation) na may mga katangian tulad ng sumusunod.
- Mga Katangian ng virbr0 (NAT Method)
- Ang virtual machine ay makakakuha ng access sa external internet
- Gayunpaman, upang ma-access nang direkta ang virtual machine mula sa host o iba pang network, kailangan ng pagsasaayos tulad ng port forwarding
- Angkop ito sa bahay, development environment, o testing purposes
Samantala, ang “bridge network” ay isang paraan na nagbibigay ng parehong access rights sa virtual machine na katulad ng physical network.
- Mga Katangian ng Bridge Network
- Ang virtual machine ay makakasali sa parehong network segment ng host
- Maaaring ma-access nang direkta ang virtual machine mula sa physical PC o iba pang server
- Pinakangkop ito sa internal server ng kumpanya o paglalathala ng serbisyo, atbp., para sa seryosong operasyon
Pagbuo at Mga Hakbang sa Pagsasaayos ng Custom Bridge (Para sa LAN Access)
Kung nais na ma-access nang direkta ang virtual machine mula sa production server o iba pang PC, lumikha ng bridge network. Narito ang mga pangkalahatang hakbang (halimbawa: ang physical NIC sa side ng host ay eth0
).
- Ang Pagsinstall ng bridge-utils (hindi na kailangan kung na-install na)
sudo apt install bridge-utils
- Ang Pag-edit ng File ng Network Settings
Sa Ubuntu 18.04 at pataas, ginagamit ang Netplan.
I-edit ang mga file ng settings tulad ng/etc/netplan/01-netcfg.yaml
. Halimbawa:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
bridges:
br0:
interfaces: [eth0]
dhcp4: yes
- Ang Pag-apply ng Settings
sudo netplan apply
- Ang Pagdaragdag ng Bagong Bridge (br0) sa Network sa Side ng KVM
Sa virt-manager o virsh, i-switch ang network adapter ng virtual machine sa br0.
Pagsasaayos ng Fixed IP Address ng Virtual Machine at Port Forwarding
- Ang Pag-fix ng IP Address
Karaniwang ginagawa ito sa side ng OS ng virtual machine sa pamamagitan ng pag-set ng static IP address, o sa DHCP server sa pamamagitan ng fixed assignment bawat MAC address. - Pagsasaayos ng Port Forwarding (Kapag Gumagamit ng NAT)
Sa virsh command o XML settings ng libvirt, maaaring i-forward ang tiyak na port (halimbawa: SSH o web server) mula sa host patungo sa virtual machine. Halimbawa (pag-forward ng SSH sa port 22):
virsh nat-forward --network default --add-port tcp:2222:22
※ Maaari ring i-edit ang config file ng libvirt o kontrolin gamit ang firewalld para sa mas detalyadong pagsasaayos.
Pamamahala ng Storage at Operasyon ng Disk
Sa pag-ooperate ng virtual machine gamit ang KVM, napakahalaga rin ng disenyo ng storage at pamamahala ng disk. Dito, ipapaliwanag ang mga uri ng virtual disk at paraan ng paglikha, pamamahala ng storage pool, at higit pa, ang pag-extend ng disk at paggamit ng snapshot.
Mga Uri at Layunin ng Virtual Disk (qcow2, raw)
May dalawang pangunahing uri ng virtual disk sa KVM.
- format na qcow2
- Pangunahing format ng virtual disk sa KVM
- Tumutugon sa pagkuha ng snapshot, pag-compress ng disk, at pag-save ng espasyo
- Pinakamainam para sa flexible na operasyon o kapaligiran ng pagsusuri
- format na raw
- Simple na format na walang pagbabago o pag-compress ng data
- Epektibo para sa mga kaso na nakatuon sa performance o nais na palakasin ang IO performance ng storage
Karaniwang inirerekomenda ang format na qcow2, ngunit gamitin ayon sa layunin.
Paglikha at Pamamahala ng Storage Pool
Sa KVM, ginagamit ang mekanismo ng “storage pool” upang pamahalaan ang espasyo ng disk na ginagamit ng virtual machine.
- Default na storage pool
Pagkatapos ng pag-install, ang/var/lib/libvirt/images/
ang default na storage pool.
Ang virtual disk ay nililikha sa loob ng direktoryong ito. - Paglikha ng bagong storage pool (halimbawa)
- Ihanda ang direktoryo
sudo mkdir /data/kvm-images sudo chown libvirt-qemu:kvm /data/kvm-images
- Magdagdag ng bagong pool gamit ang virt-manager o virsh command Sa virsh:
virsh pool-define-as --name mypool --type dir --target /data/kvm-images virsh pool-autostart mypool virsh pool-start mypool
Pag-extend ng Virtual Disk at Paggamit ng Snapshot
- Pag-extend ng virtual disk
Kung nais na dagdagan ang kapasidad ng disk, posible ito gamit angqemu-img
command (sumusuporta sa qcow2 at raw).
sudo qemu-img resize /var/lib/libvirt/images/ubuntu-vm.qcow2 +10G
Pagkatapos nito, kailangang i-extend ang partition o file system sa OS ng virtual machine.
- Paggamit ng snapshot
Sa format na qcow2, posible ang paglikha ng snapshot upang i-save ang estado sa anumang punto.
virsh snapshot-create-as <pangalan ng virtual machine> <pangalan ng snapshot>
Ang snapshot ay napakagaan para sa backup bago ang update, pagwawasiwas sa error sa setting, o pagbabalik sa test environment.
Installation at Operasyon ng Guest OS
Ipapaliwanag namin ang mga punto para sa pag-install ng aktwal na OS sa virtual machine ng KVM at para sa komportableng pagpapatakbo. Dito, tatalakayin namin ang mga hakbang sa pag-install ng kinatawang guest OS, paraan ng paghawak ng ISO image, at mga estratehiya para sa pagpapabuti ng performance sa panahon ng operasyon hanggang doon.
Mga Hakbang sa Pagpapakilala ng Kinatawang Guest OS
Sa KVM, maaaring patakbuhin bilang virtual machine ang iba’t ibang OS tulad ng Ubuntu, CentOS, at Windows. Dito, ipapakita namin ang mga halimbawa ng pag-install ng Ubuntu at Windows.
- Sa kaso ng Ubuntu
- I-download ang pinakabagong bersyon ng ISO image mula sa opisyal na site ng Ubuntu.
- Kung gumagamit ng virt-manager, piliin ang “Local install media” sa screen ng “Paglikha ng Bagong Virtual Machine” at tukuyin ang na-download na ISO file.
- I-set ang CPU, memory, at disk capacity ng virtual machine, at simulan ang pag-install.
- Sundin ang mga tagubilin sa screen at ituloy ang karaniwang proseso ng pag-install ng Ubuntu.
- Sa kaso ng Windows
- Kumuha ng evaluation version ng ISO image ng Windows mula sa opisyal na Microsoft.
- Gumawa ng bagong virtual machine gamit ang virt-manager o virt-install, at piliin ang ISO file.
- Sa kaso ng Windows, ang pag-install ng “virtio driver” ay magpapabuti ng performance ng disk at network. Subukang i-mount ang virtio ISO sa virtual CD drive at ilapat ito sa panahon ng setup.
Pagkuha at Pagbasa ng ISO Image
- Para sa pag-install ng guest OS, gumamit ng ISO image na na-download mula sa opisyal na site.
- Sa paglikha ng virtual machine, tukuyin ang path ng ISO file upang ma-mount ito bilang virtual CD/DVD.
- Kung kinakailangan, maaari ring i-mount nang sabay-sabay ang maraming ISO (OS at driver).
Mga Tip sa Operasyon ng Guest OS · Mga Estratehiya para sa Pagpapabuti ng Performance
- Optimization ng Allotment ng Resources
I-set nang angkop ang CPU at memory na iaallot sa virtual machine. Kung iaallot ang higit na resources kaysa kinakailangan, maaaring maapektuhan ang host OS o iba pang virtual machine. - Pagpapakilala ng virtio Driver
Kung ang guest OS ay Windows o lumang Linux, ang pag-install ng virtio driver ay magpapabuti nang malaki ng performance ng disk at network. - Pag-stop ng Hindi Kinakailangang Serbisyo
Sa guest OS, i-disable ang hindi ginagamit na serbisyo o resident programs upang maepektibong magamit ang resources. - Paggamit ng KVM Guest Tools
Ang pagpapakilala ng QEMU Guest Agent ay magpapahusay ng katumpakan sa pagkuha ng impormasyon ng virtual machine at mga operasyon tulad ng shutdown.
Mga Halimbawa ng Praktikal na Paggamit at Mga Tip sa Awtomatiksasyon
Ang KVM ay hindi lamang limitado sa paglikha at operasyon ng virtual machine, ngunit ginagamit din sa iba’t ibang gawain o mga eksena ng pag-unlad. Bukod dito, sa pamamagitan ng pagkakapareho nito sa mga script o mga tool ng awtomatiksasyon, posible ring mapahusay ang kahusayan ng mga gawain sa pamamahala. Sa kabanatang ito, ipapakita namin ang mga praktikal na halimbawa ng paggamit ng KVM at mga tip sa awtomatiksasyon.
Mga Halimbawa ng Paggamit para sa Layuning Server
- Paghiwalayin ang Kapaligiran ng Pag-unlad at Pagsubok
Sa bawat proyekto, maghanda ng virtual machine, at makakamit ang kapaligiran kung saan maaaring libreong i-switch ang bersyon ng software o konstitusyon. Malaking benepisyo ito dahil maaaring subukin ang bagong bersyon ng OS o software nang hindi nakakaapekto sa production environment. - Pagbuo ng mga Serbisyo sa Loob ng Kumpanya
File server, Web server, database server, atbp., mga serbisyo na ito ay maaaring i-operate nang hiwalay sa bawat yunit ng virtual machine, na naglilimita sa saklaw ng epekto kapag may nangyari na problema.
Bukod dito, madali ring gumawa ng backup o snapshot sa bawat yunit ng virtual machine.
Mga Halimbawa ng Awtomatikong Pagbuo gamit ang CLI o Ansible atbp.
- Awtomatikong Paglikha ng Virtual Machine gamit ang CLI
Kung gagamitin ang script upang awtomatikong i-execute angvirt-install
ovirsh
command, maaaring lumikha at pamahalaan ng maramihan ang mga virtual machine nang sabay-sabay. Halimbawa: Paglikha ng Virtual Machine gamit ang Shell Script
for i in {1..5}
do
virt-install --name test-vm-$i --memory 1024 --vcpus 1
--disk size=10 --cdrom /path/to/ubuntu.iso
--os-type linux --os-variant ubuntu20.04 --graphics none --network network=default --noautoconsole
done
- Pagbuo ng Virtual Environment gamit ang Ansible
Kung gagamitin ang tool ng awtomatiksasyon ng imprastraktura na “Ansible”, maaari nang awtomatikong likhain ang KVM virtual machine, i-set up ang initial configuration, at i-install ang mga app lamang sa pamamagitan ng pagsulat ng playbook.
Partikular na epektibo ito sa mga kaso kung saan maraming bilang ng server o pinapahalagahan ang pagkakapareho ng pamamahala ng konstitusyon.
Mga Tip para sa Operasyon na Katulad ng Cloud
- Pagtemplat ng Virtual Machine
Kung i-save ang madalas gamiting initial state ng virtual machine bilang template, matatapos agad ang pag-deploy ng bagong server. - Paggamit ng API Integration at Web-Based Management Tool
Dahil may API rin ang libvirt, posible ring i-integrate ito sa sariling tool o iba pang system ng pamamahala. Sa malaking kapaligiran, epektibo ang paggamit ng Web-based management tool (tulad ng Cockpit) upang pamahalaan ang virtual environment nang visual.
Troubleshooting – Mga Karaniwang Solusyon sa Error
Kapag nagpapatakbo ng kapaligiran ng KVM, maaaring makaharap ang iba’t ibang problema tulad ng pagkabigo sa pagbukas ng virtual machine o hindi gumagana ang koneksyon sa network. Sa kabanatang ito, tatalakayin ang mga karaniwang pattern ng problema, mga paraan ng paglutas nito, pati na ang mga hakbang sa pagsusuri ng log at paggamit ng mga mapagkukunan ng suporta.

Mga Halimbawa ng Problema na Madaling Mangyari sa KVM
- Hindi makapag-start ang virtual machine / Hindi makagawa
- Ang virtualization support function (Intel VT, AMD-V) ay hindi naka-activate
- Kulang ang memory o disk space na inilaan
- Mali ang path ng storage pool o ISO image
- Hindi makakonekta sa network
- Hindi tama ang setting ng network adapter ng virtual machine
- Mali ang setting ng bridge o NAT, hindi tama ang DHCP assignment
- Epekto ng firewall o security settings
- Sobrang mababa ang performance
- Sobrang dami o kulang ang inilaan na resources
- Hindi naka-install ang Virtio driver (lalo na sa Windows guest)
- Ang disk I/O ang nagiging bottleneck
Paraan ng Pagsusuri ng Log – Basic Flow ng Pagresolba
Kapag may problema, mahalagang suriin muna ang log.
- Pagsusuri ng System Log
sudo journalctl -xe
Suriin kung may error message na may kaugnayan sa KVM o libvirt.
- Pagsusuri ng libvirt Log
/var/log/libvirt/
Ang mga log file sa ilalim nito (hal. libvirtd.log) ay kapaki-pakinabang din. - Log bawat Virtual Machine
Gamit ang virt-manager o virsh, suriin ang estado ng virtual machine, at tingnan ang “detalye” o “log” tab para sa nilalaman ng error. - Pagsusuri ng Network Status
ip a
brctl show
virsh net-list --all
… upang suriin ang status ng koneksyon sa network o mga setting ng bridge.
Basic Flow ng Pagresolba ng Problema
- Ayusin ang sitwasyon at tukuyin kung kailan nagsimula ang problema
- Suriin ang nabanggit na log o settings
- Kung kinakailangan, ayusin ang config files, i-restart ang services o i-recreate ang virtual machine
Paano Gamitin ang Opisyal na Dokumentasyon at Komunidad
Kapag may problema, ang mga sumusunod na mapagkukunan ng impormasyon ay malaking tulong.
- Opisyal na Dokumentasyon
Ubuntu Opisyal na Dokumentasyon ng KVM
Opisyal na Dokumentasyon ng libvirt - Komunidad na Forums – Q&A Sites
- Ubuntu Forums
- Ask Ubuntu
- Stack Overflow
- Maghanap gamit ang Error Message
Mag-Google search ng nangyaring error message sa parehong Japanese at English upang makahanap ng maraming halimbawa.
Pag-optimize ng Seguridad at Pagganap
Para sa ligtas at komportableng pagpapatakbo ng kapaligiran ng KVM, hindi nawawala ang mga hakbang sa seguridad at pag-optimize ng pagganap. Dito, ipapakita namin ang mga punto para protektahan ang batayan ng virtualization at ang mga praktikal na kaalaman para sa epektibong paggamit ng mga mapagkukunan.
Mga Hakbang sa Pagpalakas ng Seguridad ng Kapaligiran ng Virtualization
- Pag-stop ng Hindi Kinakailangang Serbisyo · Pinakamaliit na Konstitusyon
Sa loob ng virtual machine, i-disable ang mga serbisyo na hindi ginagamit upang limitahan ang mga target ng atake sa pinakamababang antas. Gayundin, sa host OS, i-stop ang mga hindi kinakailangang serbisyo. - Pagpapatibay ng Firewall at Mga Limitasyon sa Pag-access
Sa parehong host at guest, i-set up nang wasto ang firewall (hal. ufw o firewalld) upang hadlangan ang mga hindi awtorisadong pag-access mula sa labas.
Ang SSH access ay inirerekomenda na protektahan sa pamamagitan ng pagbabago ng numero ng port, public key authentication, fail2ban, at iba pa. - Pag-izolasyon sa Pagitan ng Mga Virtual Machine (Paghiwa-hiwalay ng Network Segment)
Ang mga mahahalagang server ay dapat i-separate ang virtual network, o fisikal na i-separate ang network, upang maiwasan ang pagkalat ng pinsala sa kaso ng paglabag. - Pagpapatibay ng Regular na Mga Update
Sa parehong host OS at guest OS, huwag mag-atubiling mag-apply ng mga security patch at update ng software nang regular.
Pag-optimize ng Pagdedistribute ng Mapagkukunan (CPU/Memory/Disk I/O)
- Mga Batayan sa Pamamahala ng Mapagkukunan
Sa bawat virtual machine, i-distribute nang angkop ang CPU at memory upang mag-iwan ng sobrang kapangyarihan sa host side, na nagpapanatili ng pangkalahatang katatagan.
Ang sobrang pagdedistribute ng mapagkukunan ay magdudulot ng pagbaba ng pagganap sa parehong host at iba pang virtual machine. - Pag-optimize ng Disk I/O
Dahil madalas na maging bottleneck ang performance ng storage, epektibo ang pagdedistribute ng mabilis na SSD storage sa mahahalagang virtual machine.
Bukod dito, ang sobrang paggamit ng snapshot sa format na qcow2 ay maaaring maging sanhi ng pagbaba ng pagganap, kaya isaalang-alang ang balanse sa operasyon. - Paggamit ng Virtio Driver
Sa pamamagitan ng pag-install ng virtio driver sa guest OS, makakamit ang malaking pagpapahusay sa pagganap ng disk at network.
Automasyon ng Backup at Snapshot
- Regular na Pagkuha ng Snapshot
Ang mga virtual machine sa aktwal na operasyon ay maaaring mabilis na ma-recover sa panahon ng pagkakabigo sa pamamagitan ng regular na pagkuha ng snapshot. - Backup ng Virtual Disk o Mga File ng Setting
Ang mga virtual disk image (qcow2 o raw file) at XML file ng setting ng libvirt ay dapat i-backup nang regular sa ibang storage o external server. - Pag-integrate sa Mga Tool ng Automasyon
Sa paggamit ng mga tool ng automasyon tulad ng cron o Ansible, maaaring gawin nang regular ang backup at pagkuha ng snapshot.
Buod at Mga Mapagkukunan para sa Hinaharap na Pag-aaral
Sa artikulong ito, ipinaliwanag namin nang malawak ang pagtatayo ng kapaligiran ng virtualisasyon gamit ang KVM sa Ubuntu mula sa pagtatayo hanggang sa pagpapatakbo, mga praktikal na paraan ng paggamit o pagtroubleshoot ng problema, at seguridad at pag-optimize ng pagganap. Sa huli, habang sinusuri ang mga nakaraang nilalaman, ipinakikilala namin ang mga mapagkukunan ng pag-aaral na makakatulong sa karagdagang pagpapahusay ng mga kasanayan.
Buod ng Artikul na Ito
- Panukala at Mga Benepisyo ng KVM
Ang KVM ay isang open-source at high-performance na teknolohiya ng virtualisasyon, at ginagamit sa maraming sitwasyon na nakasentro sa mga server ng Ubuntu. - Daloy mula sa Pag-install hanggang sa Pagpapatakbo
Mula sa pagsusuri ng suporta sa virtualisasyon ng CPU, pag-install ng kinakailangang mga package, pag-set ng mga pahintulot ng user, paglikha ng virtual machine at basic na operasyon, ipinaliwanag namin nang sunod-sunod ang mga hakbang. - Mga Praktikal na Punto para sa Network, Storage, at Operasyon
Natutunan din namin ang mga konstitusyon ng network ayon sa layunin tulad ng default NAT o bridge, pamamahala ng storage pool, pagpapalawak ng disk, at mga paraan ng paggamit ng snapshot. - Pagtroubleshoot at Seguridad
Ipinakilala rin namin ang mga paraan ng pagtugon sa karaniwang mga error, kung paano tingnan ang mga log, at mga punto para sa seguridad at pag-optimize para sa ligtas at mahusay na operasyon.
Mga Hakbang sa Hinaharap – Mga Rekomendadong Mapagkukunan ng Pag-aaral
- Mga Opisyal na Dokumento
- Gabay ng Opisyal na Ubuntu para sa KVM
- Opisyal na Dokumento ng libvirt
- Ask Ubuntu
- Tag ng Qiita KVM
- Stack Overflow (Ingles)
Ang KVM ay isang plataporma ng virtualisasyon na maaaring magamit nang malawak mula sa indibidwal hanggang sa kumpanya kung maiintindihan mo ang mga basic. Mangyaring gamitin ang nilalaman ng pagkakataong ito bilang sanggunian at palalimin ang paggamit ng KVM ayon sa iyong layunin at kapaligiran.
Mabilis na Sanggunian ng mga Command & Mga Karaniwang Halimbawa ng Kagustuhan (Cheat Sheet)
Kapag gumagamit ng KVM o libvirt, napakagandang magkaroon ng mga karaniwang command at halimbawa ng kagustuhan na naka-compile sa iyong tabi. Sa kabanatang ito, ipapakita namin nang maikli ang mga kinatawang command na kapaki-pakinabang sa pang-araw-araw na pamamahala ng virtual machine, pati na rin ang mga halimbawa ng kagustuhan para sa network at disk.
Pangunahing Listahan ng mga Command ng KVM/virsh/virt-manager
- Pagpapakita ng Listahan ng Virtual Machines
virsh list --all
- Pagsisimula ng Virtual Machine
virsh start <pangalan ng virtual machine>
- Pag-shutdown ng Virtual Machine
virsh shutdown <pangalan ng virtual machine>
- Pipilitin ang Pag-stop ng Virtual Machine
virsh destroy <pangalan ng virtual machine>
- Paglikha ng Virtual Machine (virt-install)
virt-install --name <pangalan> --memory <MB> --vcpus <bilang ng core>
--disk size=<GB> --cdrom <path ng ISO file>
--os-type linux --os-variant ubuntu20.04
- Pagbura ng Virtual Machine (kagustuhan lamang)
virsh undefine <pangalan ng virtual machine>
Mga Halimbawa ng Kagustuhan na Kaugnay ng Network-Bridge
- Pagpapakita ng Kasalukuyang Listahan ng Network
virsh net-list --all
- Paglikha ng Bagong Network (Halimbawa ng XML)
/etc/libvirt/qemu/networks/
ilagay ang XML file sa ilalim ng direktoryo,
virsh net-define <pangalan ng file>
,virsh net-start <pangalan ng network>
upang i-activate
Pamamahala ng Storage at Mga Halimbawa ng Operasyon sa Disk
- Listahan ng Storage Pool
virsh pool-list --all
- Paglaki ng Virtual Disk
sudo qemu-img resize /path/to/disk.qcow2 +10G
- Paglikha ng Snapshot
virsh snapshot-create-as <pangalan ng virtual machine> <pangalan ng snapshot>
Mga Karaniwang Tip sa Iba Pang Bagay
- Kagustuhan ng Awtomatikong Pagsisimula ng Virtual Machine
virsh autostart <pangalan ng virtual machine>
- Pagkuha ng Detalyadong Impormasyon ng Virtual Machine
virsh dominfo <pangalan ng virtual machine>
- Pagsisimula ng virt-manager (GUI Environment)
virt-manager
Mga Madalas na Tanong (FAQ)
Nag-umpisa kami ng mga madalas na tanong at sagot mula sa mga mambabasa tungkol sa pagtatayo at pagpapatakbo ng kapaligiran ng virtualization ng KVM at Ubuntu. Gamitin ito bilang mga tip sa pagtugon sa mga problema at sa operasyon.
Q1: Ano ang pagkakaiba ng KVM sa VirtualBox o VMware?
A1: Ang KVM ay isang high-performance na virtualization platform na naka-integrate sa Linux kernel, na angkop para sa mga layunin sa server o seryosong operasyon. Ang VirtualBox ay para sa mga layunin sa desktop, habang ang VMware ay may maraming tampok para sa komersyal na suporta o malaking sukat ng operasyon, ngunit ang KVM ay inirerekomenda kung nais mong mababa ang gastos ngunit makakuha ng mataas na pagganap.
Q2: Paano mag-backup at mag-restore ng virtual machine?
A2: Maaari mong madaling mag-backup sa pamamagitan ng pagkopya ng virtual disk image (qcow2 o raw file). Bukod dito, ang pagsasama ng snapshot function ng virsh o ang XML config file ng virtual machine ay magpapadali sa pag-restore.
Q3: Paano gamitin ang USB device sa virtual machine?
A3: Maaari mong gawing posible ang pagkilala ng USB memory, external HDD, o printer sa virtual machine sa pamamagitan ng “Add Hardware” function ng virt-manager o sa pamamagitan ng USB passthrough setting gamit ang virsh.
Q4: Paano awtomatikong i-start ang virtual machine kapag nag-start ang host?
A4: virsh autostart <pangalan ng virtual machine>
ang utos na maaaring i-execute upang i-set ang virtual machine na awtomatikong mag-start kasabay ng pag-boot ng host OS.
Q5: Paano kung mabagal ang paggana ng virtual machine?
A5: Maaaring mapabuti ang pagganap sa pamamagitan ng pagre-review ng alokasyon ng CPU at memory, pag-optimize ng disk I/O (paggamit ng mabilis na storage o paglipat mula qcow2 patungo sa raw), o pag-install ng virtio drivers sa guest OS.
Q6: Hindi gumagana ang network setting. Ano ang gagawin?
A6: Una, suriin ang estado ng network gamit ang virsh o brctl. Mahalaga ring muling lumikha ng virtual network o suriin ang config file ng bridge (Netplan o NetworkManager) kung kinakailangan.
Q7: Maaari bang gumawa ng cluster o HA setup gamit ang KVM?
A7: Oo, posible. Sa pamamagitan ng pagsasama ng Pacemaker o Corosync, at shared storage (NFS, iSCSI, atbp.), maaari mong magawa ang high availability (HA) setup ng virtual machine o live migration. Gayunpaman, kailangan ng espesyal na kaalaman.