上篇我們提到 QEMU/KVM 架構,但若要直接使用 QEMU/KVM,大量的指令以及繁瑣的知識會讓我們苦不堪言,讀者大可想像自己要去逐個管理 KVM 的參數,會是一件多累人的事情。
為了有效率的運用 KVM ,我們有主要的兩種工具可以達成抽象管理的目的:分別是 Libvirt 與 Proxmox VE
libvirt是一套用於管理硬體虛擬化的開源API、守護進程與管理工具,除了先前的 QEMU/KVM 外,也可用於管理、Xen、VMware ESXi 及其他虛擬化技術。Libvirt 可用於多數 Linux 發行版中,主要由紅帽公司支持並開發。
可用 Libvirt 管理的虛擬技術如下圖:
而我們又可以將 Libvirt 的應用拆解成不同 Layer:
至於實際如何使用哪?舉例來說,我們可以用類似以下的語法新增一台虛擬機:
sudo virt-install --virt-type kvm --name ubuntu1804 --ram 2048
--disk /home/seal/kvm/ubuntu1804.qcow2,format=qcow2
--network network=default
--graphics vnc,listen=0.0.0.0,password=YOUR_PASSWORD
--noautoconsole
--os-type=linux --os-variant=ubuntu17.10
--cdrom=/home/seal/Downloads/ubuntu-18.10-desktop-amd64.iso
而比起 Libvirt,PVE 便是一種更方便得工具來創建與管理虛擬機。
相比於 Libvirt,PVE 除了擁有方便的 GUI 輕易達成各種管理需求外,也簡化了不少操作,對於新手較為友好。
實際創建一個 VM 僅需如圖:
一般來說筆者認為,
在往後的文章內,我們選擇以 PVE 搭建我們得平台,畢竟作為新手,其功能已足夠強大。
那為何要在這兒提到 Libvirt 呢?
因為偶而在查詢 PVE 或 KVM 的資料時,大家一定不免會遇到以 libvirt command 來解決問題的手段;而在 PVE 內,這些 command 通常是可以運行的。但是,因為 PVE 已經對其管理做了大量的修改,貿然的使用可能會導致不可預期的錯誤,還期待大家務必注意!
下篇章開始,我們將進入 Device I/O 的介紹,畢竟僅模擬 CPU/Memory,是難以滿足我們的日常需求的!