19. KVM 虛擬化簡介:Ubuntu Server 初學者指南

使用 KVM 進行虛擬化 是一項變革性技術,它使組織能夠透過在單一實體伺服器上執行多個虛擬機器(VM)來最大限度地提高資源利用率和可擴展性。作為最受歡迎的開源虛擬化解決方案之一,KVM(基於核心的虛擬機器)提供了強大的效能、靈活性和與 Linux 環境的整合。

在本指南中,我們將探討如何在 Ubuntu Server 22.04 上設定和組態 KVM,為您提供逐步方法,以利用虛擬化的強大功能滿足您的基礎設施需求。無論您是建立測試環境還是部署生產工作負載,KVM 都提供了高效簡化營運的工具。


往期文章:

01. Ubuntu Server 簡介 – SysOSX: AI & Cloud

02. 如何設定您的第一台 Ubuntu Server:初學者指南 – SysOSX: AI & Cloud

03.掌握 Ubuntu Server 的 Linux 命令列 – SysOSX: AI & Cloud

04. Ubuntu Server 使用者與權限管理:全面指南 – SysOSX: AI & Cloud

05. Ubuntu Server 網路基礎:全面指南 – SysOSX: AI & Cloud

06. 在 Ubuntu Server 上安裝和管理軟體:完整指南 – SysOSX: AI & Cloud

07.Ubuntu Server 修補與更新:全面指南 – SysOSX: AI & Cloud

08. 保護您的 Ubuntu Server:強化與防護的實用步驟 – SysOSX: AI & Cloud

09. Ubuntu 伺服器稽核與記錄

10. Ubuntu Server 系統監控工具:全面指南 – SysOSX: AI & Cloud

11. Ubuntu Server 集中式記錄:必讀指南 – SysOSX: AI & Cloud

12. Ubuntu Server 稽核與合規:最佳實務 – SysOSX: AI & Cloud

13.為代管和 Web 應用程式設定您的 Ubuntu Server:終極指南 – SysOSX: AI & Cloud

14. 在一台 Ubuntu Server 上代管多個網站:實用技巧 – SysOSX: AI & Cloud

15. Ubuntu Server 儲存與磁碟管理:簡明指南 – SysOSX: AI & Cloud

16. 在 Ubuntu Server 上設定檔案共享服務:完整指南 – SysOSX: AI & Cloud

17. 在 Ubuntu 上設定安全的資料庫伺服器:MySQL 與 MariaDB – SysOSX: AI & Cloud

18. 如何在 Ubuntu Server 上設定和使用 LVM:全面指南 – SysOSX: AI & Cloud



什麼是 KVM?

KVM(基於核心的虛擬機器)是一種基於 Linux 的虛擬化技術,可將您的 Linux 伺服器轉變為虛擬機器監視程式,讓您可以建立和管理虛擬機器。它直接內建於 Linux 核心中,提供出色的效能以及與 Linux 工具的整合。

KVM 的主要功能:

  • 開源:免費且得到廣泛支援。
  • 高效能:利用硬體虛擬化擴充功能(Intel VT-x 或 AMD-V)實現接近原生的效能。
  • 靈活性:支援各種客體作業系統,包括 Linux、Windows 和 macOS。
  • 可擴展性:非常適合小規模和企業級部署。

在 Ubuntu Server 22.04 上設定 KVM 的先決條件

在開始之前,請確保您的系統滿足以下要求:

硬體要求:

  • 64 位元處理器:您的 CPU 必須支援虛擬化(Intel VT-x 或 AMD-V)。
  • 最低記憶體:建議至少 4 GB 記憶體來代管多台虛擬機器。

軟體要求:

  • Ubuntu Server 22.04:請確保全新安裝。
  • Sudo 或 Root 存取權限:安裝和設定 KVM 所必需。

驗證虛擬化支援:

執行以下命令,檢查您的 CPU 是否支援虛擬化:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果輸出大於 0,則您的 CPU 支援虛擬化。


在 Ubuntu Server 22.04 上設定 KVM 的逐步指南

第 1 步:更新系統

在安裝 KVM 之前,請更新系統套件:

sudo apt update && sudo apt upgrade -y

第 2 步:安裝 KVM 和所需工具

安裝 KVM 以及以下基本工具,例如 libvirt 和 virt-manager:

sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

第 3 步:驗證 KVM 安裝

安裝完成後,驗證 libvirtd 服務是否處於作用中狀態:

sudo systemctl status libvirtd

您應該會看到該服務正在執行。此外,請透過以下命令確認 KVM 支援:

kvm-ok

如果輸出包含「KVM acceleration can be used」,則您的設定已就緒。

第 4 步:將您的使用者加入 KVM 群組

為避免以 root 身分執行命令,請將您的使用者加入 kvm 和 libvirt 群組:

sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER

登出並重新登入,以使變更生效。


使用 KVM 建立您的第一台虛擬機器

選項 1:使用 virt-manager (GUI)

如果您的 Ubuntu Server 有 GUI 存取權限,請使用 virt-manager 輕鬆建立和管理虛擬機器:

  1. 啟動 virt-manager: virt-manager
  2. 點擊 File > New Virtual Machine。
  3. 按照精靈設定您的虛擬機器:
    • 為作業系統選擇一個 ISO 映像。
    • 分配 CPU 和記憶體資源。
    • 為虛擬機器設定儲存空間。

選項 2:使用 virt-install (命令列)

對於沒有 GUI 的伺服器,請使用 virt-install 命令。下面是建立執行 Ubuntu 的虛擬機器的範例:

sudo virt-install \
--name ubuntu-vm \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.img,size=20 \
--os-type linux \
--os-variant ubuntu22.04 \
--network bridge=virbr0 \
--graphics none \
--cdrom /path/to/ubuntu.iso

將 /path/to/ubuntu.iso 取代為您的 Ubuntu 22.04 ISO 檔案的實際路徑。


使用 KVM 管理虛擬機器

建立虛擬機器後,您可以使用 virsh(libvirt 的強大命令列介面)來管理它。

啟動虛擬機器:

virsh start ubuntu-vm

列出所有虛擬機器:

virsh list --all

停止虛擬機器:

virsh shutdown ubuntu-vm

刪除虛擬機器:

virsh undefine ubuntu-vm --remove-all-storage

如需進階管理,請參閱 libvirt 文件。


虛擬機器網路設定

KVM 使用 虛擬網橋 將虛擬機器連接到網路。預設情況下, virbr0 網橋在安裝期間建立,提供基於 NAT 的網路連線。如需直接存取本地網路,可以設定橋接網路:

設定橋接網路:

  • 安裝 net-tools 套件:
 sudo apt install net-tools
  • 編輯網路設定檔:
sudo nano /etc/network/interfaces
  • 為網橋新增以下設定(將 eth0 取代為您的網路介面):
auto br0
iface br0 inet dhcp
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

  • 重新啟動網路服務: sudo systemctl restart networking

使用 KVM 進行虛擬化的好處

  1. 經濟高效:KVM 免費且開源,無需支付授權費用。
  2. 高效能:透過硬體加速提供接近原生的效能。
  3. 靈活性:支援各種客體作業系統。
  4. 可擴展性:輕鬆擴展資源以容納多台虛擬機器。
  5. 整合:與 libvirt、QEMU 和 virt-manager 等 Linux 工具無縫協作。

結論

KVM 是 Linux 環境下強大而高效的虛擬化解決方案,非常適合開發者、系統管理員和企業。按照本指南,您可以在 Ubuntu Server 22.04 上輕鬆設定和管理虛擬機器。無論您是建立測試環境、代管應用程式還是建立私有雲,KVM 都能提供您所需的靈活性和效能。

如需了解更多詳情,請查看 KVM 官方文件。

接下來,學習 如何在 Ubuntu Server 上安裝 Docker 並執行您的第一個容器化應用程式!🐳🐧

發表留言