SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

若要讓 SLES 15 KVM 虛擬機器在主機重新啟動後自動啟動,請安裝 KVM 和 libvirt 管理元件,將該虛擬機器標記為自動啟動virsh autostart VM_NAME,並確保主機的 libvirt 守護程式在啟動期間啟動。自動啟動是針對每個虛擬機器的設定;單獨安裝 KVM 或啟動 libvirt 並不會自動啟動每個虛擬機器。

以下命令遵循 SUSE SLES 15 SP7 虛擬化指南。早期版本的服務包可能有所不同,因此在執行服務命令之前,請查閱相應的指南和已安裝的 systemd 單元。

您需要 KVM 伺服器、KVM 工具,還是兩者都需要?

對於將透過 libvirt 運作和管理虛擬機器的宿主機,需要同時安裝 KVM 伺服器和 KVM 工具。 SUSE 將 KVM 伺服器定義為最小的 QEMU/KVM 環境,將 KVM 工具定義為基於 libvirt 的管理堆疊,其中包括virsh本文所使用的工作流程。

安裝前,請確認機器的處理器和韌體支援硬體虛擬化。 SUSE 在其SLES 15 SP7 虛擬化指南中提供了 CPU 支援和所需軟體的文件。如果驗證報告硬體或設定問題,請在嘗試定義虛擬機器之前,先在韌體或主機配置中解決該問題;自動啟動標誌無法彌補主機無法執行 KVM 的情況。

Linux 終端機顯示指令 sudo virt-host-validate,用於檢查虛擬化主機是否準備就緒。
在建立虛擬機器之前執行主機驗證實用程式;終端將顯示命令,而不是測試結果。

如何安裝 SLES 15 KVM 主機堆疊?

終端機顯示 Zypper 指令,用於在 SLES 上安裝 kvm_server 和 kvm_tools 模式。
此選購的 Zypper 路徑會安裝文件中記錄的 KVM 伺服器和 libvirt 管理模式。
  1. 在已安裝 YaST 的伺服器上,開啟 YaST 並選擇「虛擬化」>「安裝虛擬機器管理程式和工具」。如果缺少 YaST 虛擬化模組,SUSE 會提示該模組已包含在yast2-vm軟體包中。

  2. 選擇KVM 伺服器和KVM 工具,然後接受軟體包變更。 YaST 可能會提示您設定網路橋接。僅當該選項符合主機網路設計時才選擇它。更改生產主機的網路可能會中斷遠端訪問,因此請在應用更改之前規劃並安排橋接更改。

  3. 設定完成後,建立或匯入虛擬機,並確保將其定義為持久性 libvirt 網域。 SUSE 的指南指出,透過 YaST 設定 KVM 不需要重新啟動主機。

或者,SUSE 文件中提供了使用 Zypper 安裝模式的說明:sudo zypper install -t pattern kvm_server kvm_tools。選擇一種安裝方式,並在確認之前檢查軟體包事務。如果主機是從頭開始安裝的,KVM 虛擬化主機系統角色會在 SLES 安裝過程中安裝並設定相應的選項。

如何設定一台虛擬機器自動啟動?

首先,透過系統 libvirt 連接列出網域,以便您可以使用準確的虛擬機器名稱:

終端機顯示指令 sudo virsh -c qemu:///system list --all 以列出系統 libvirt 域。
列出系統連線上的所有網域,並在設定自動啟動之前複製準確的虛擬機器名稱。
sudo virsh -c qemu:///system list --all

此--all選項包含目前已關閉的虛擬機器。從輸出結果中選擇所需的持久虛擬機器。然後為該網域啟用自動啟動:

終端機顯示 sudo virsh autostart VM_NAME,該指令用於啟用某個網域的啟動時會自動啟動。
將 VM_NAME 替換為客戶機的 libvirt 域名,以啟用其自動啟動標誌。
sudo virsh autostart VM_NAME

若要稍後撤銷此設置,請執行命令sudo virsh autostart --disable VM_NAME。這並非記憶體恢復:主機啟動後,虛擬機器將從其配置的磁碟正常啟動。此外,它不會自動選擇所有虛擬機器。請僅將此命令套用至應在此主機上執行的虛擬機器。

啟動時必須啟動哪個libvirt服務?

這取決於 SLES 主機使用的是 libvirt 的模組化守護程序還是傳統的單體式部署libvirtd。 SUSE 文件指出,SLES 15 SP7 預設啟用模組化守護進程,並建議將虛擬機器配置為自動啟動時,啟動相關的驅動程式服務。 QEMU 驅動程式服務是 [此處應填寫驅動程式服務名稱] virtqemud.service。在單體式部署中,SUSE 建議libvirtd.service使用 [此處應填入驅動程式服務名稱]。不要因為兩個單元名稱都存在就同時啟用兩種部署模式。

更改設備前,請先檢查主機上的設備設定:

終端機顯示 systemctl status 檢查 virtqemud 和 libvirtd 服務單元。
在啟用任何功能之前,請檢查可用的 libvirt 守護程式單元,以確定主機的部署模式。
systemctl status virtqemud.service libvirtd.service

如果主機使用模組化 libvirt 並且已安裝 QEMU 單元,請使用下列命令啟用它:

sudo systemctl enable --now virtqemud.service

如果主機已刻意配置為使用單體守護進程,請改用以下指令:

終端機顯示 sudo systemctl enable --now libvirtd.service,用於使用單體 libvirt 的主機。
僅在採用整體式 libvirtd 部署的主機上啟用此單元;模組化主機使用其驅動程式守護程式。
sudo systemctl enable --now libvirtd.service
終端機顯示 sudo virsh net-autostart default,用於啟用預設 libvirt 網路的自動啟動。
將預設 libvirt 網路標記為僅當虛擬機器使用該虛擬網路時才自動啟動。

使用模組化的 libvirt,虛擬網路和儲存管理可以使用獨立的驅動程式守護程式或套接字。如果虛擬機器依賴 libvirt 管理的網絡,則應使該網路也自動啟動;例如,SUSE 文件sudo virsh net-autostart default中提供了預定義default網路的說明。僅當虛擬機器實際使用該網路時才執行此操作。在主機層級配置的網橋不使用此 libvirt 網路設定。請驗證實際連接到虛擬機器的網絡,而不是假定其名稱default。

如果虛擬機器使用外部或網路掛載的磁碟,請確保其後端儲存可在啟動時可用。 SUSE 指出,libvirt 儲存池的活動狀態不會改變已連接到虛擬機器的磁碟區的可用性,但當儲存池必須處於活動狀態以進行主機端池管理或後續磁碟區操作時,啟用池自動啟動非常有用:sudo virsh pool-autostart POOL。請將 `<pool_name>` 替換POOL為實際的池名稱;請勿僅為了設定虛擬機器自動啟動而建立新池。

如何驗證虛擬機器是否會恢復?

終端機顯示 sudo virsh dominfo VM_NAME 以檢查客戶網域的配置詳細資訊。
在安排主機重新啟動之前,請使用訪客的網域資訊檢查其自動啟動設定。

在規劃維護重新啟動之前,請檢查網域配置和守護程式狀態。使用sudo virsh dominfo VM_NAME指令確認自動啟動已啟用,並systemctl is-enabled virtqemud.service使用systemctl is-enabled libvirtd.service指令檢查您選擇的守護程式模式。如果第一個命令因找不到虛擬機器而失敗,請確保您正在查詢建立虛擬機器時使用的相同 libvirt 連線。

然後,在已批准的維護窗口期間進行測試。主機恢復後,執行命令sudo virsh -c qemu:///system list --all。選定的虛擬機器應顯示為正在運作;分別確認其網路和服務狀態。如果虛擬機器仍處於關閉狀態,請使用journalctl -b -u virtqemud.service或journalctl -b -u libvirtd.service(視情況而定)檢查活動守護程序的啟動日誌,並檢查是否有無法使用的儲存空間或所需的虛擬網路。這些情況取決於主機配置,因此守護程式日誌和虛擬機器的實際裝置配置將決定下一步的修復方案。

有關特定版本的服務詳細資訊、網路設定和客戶機管理,請參閱 SUSE 的SLES 15 SP7 libvirt 守護程序文件和VM 主機準備章節。

留下評論

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

安裝 SLES 15 KVM 和 libvirt 工具,啟用正確的主機服務,並配置選定的虛擬機器在重新啟動後啟動。

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

使用 systemd 作業和先前的啟動日誌來尋找運行緩慢的服務、掛載點或儲存依賴項,然後修正它,而不掩蓋原因。

僅開放 SLES 15 伺服器所需的網路流量

僅開放 SLES 15 伺服器所需的網路流量

使用 firewall-cmd 檢查活動區域,安全地允許 HTTP,保留 SSH 訪問,並驗證該規則在 SLES 15 上重新加載後是否仍然存在。

診斷 SLES PAM 登入失敗問題,避免被鎖定

診斷 SLES PAM 登入失敗問題,避免被鎖定

追溯 PAM 故障到其服務、帳戶原則或身分提供者,然後在保持管理員會話正常運作的情況下修復正確的 SLES 配置。

在 ONLYOFFICE 文件伺服器中新增字型:Docker 與 Linux

在 ONLYOFFICE 文件伺服器中新增字型:Docker 與 Linux

在 ONLYOFFICE 文件伺服器中安裝自訂字體,比較持久 Docker 掛載與直接複製,重建字體列表,並驗證結果。

使用 Restic 和 Cron 實現 Nextcloud 的自動化和一致性備份

使用 Restic 和 Cron 實現 Nextcloud 的自動化和一致性備份

將 Nextcloud 的檔案和 MariaDB 一起備份,使用 cron 安排加密的 Restic 快照,並在不危及執行伺服器的情況下驗證復原。

使用 TGZ Exports 備份和還原 Zimbra CE 郵箱

使用 TGZ Exports 備份和還原 Zimbra CE 郵箱

匯出單一 Zimbra Community Edition 信箱,驗證其 TGZ 備份,並在不覆寫現有郵件的情況下還原遺失的項目。

允許已批准的使用者使用 Keycloak 登入建立 Jitsi 會議室

允許已批准的使用者使用 Keycloak 登入建立 Jitsi 會議室

僅允許已批准的帳戶使用 Keycloak 和令牌身份驗證啟動 Jitsi Meet 會議室,同時在需要時允許訪客加入。

透過 LDAP 將 Active Directory 使用者與 ONLYOFFICE DocSpace 同步。

透過 LDAP 將 Active Directory 使用者與 ONLYOFFICE DocSpace 同步。

將 ONLYOFFICE DocSpace 連接到 Active Directory 或 OpenLDAP,安全地匯入使用者和群組,映射帳戶字段,並安排可靠的同步。

在 SLES 15 安全啟動上安裝和簽署自訂核心模組

在 SLES 15 安全啟動上安裝和簽署自訂核心模組

在不停用安全啟動的情況下載入自訂 SLES 15 核心模組。匹配正在運行的內核,對 .ko 檔案進行簽名,註冊 MOK 金鑰,並驗證載入情況。