如何在KVM HA集群中增加虛擬機(jī)?
使用KVM虛擬化配置高可用性集群不僅成本低,而且還能確保工作負(fù)載在主機(jī)發(fā)生故障的情況下正常運(yùn)行。然而對于某些不熟悉相關(guān)流程的人來說,配置高可用集群可能很困難。
之前我們在《如何以有限預(yù)算構(gòu)建KVM HA集群》文章中介紹了如何創(chuàng)建一個基礎(chǔ)集群并配置OCFS2共享文件系統(tǒng)。本文將介紹如何安裝虛擬機(jī),將虛擬機(jī)添加到集群中并確保集群配置正常運(yùn)行。
安裝KVM虛擬機(jī)
為安裝KVM虛擬機(jī),虛擬主機(jī)需要運(yùn)行l(wèi)ibvirt服務(wù)??梢允褂萌缦旅钸\(yùn)行l(wèi)ibvirt服務(wù):systemctl start libvirtd; systemctl enable libvirtd。
開啟安裝有兩種方式,可以使用虛擬機(jī)管理器圖形工具或者virt-install命令行。如果能夠使用圖形環(huán)境,那么virt-manager工具將非常有用,你也可以使用腳本創(chuàng)建虛擬機(jī)。
使用virt-install命令安裝虛擬機(jī)的示例如下:
該命令指定了新虛擬機(jī)的所有屬性,虛擬機(jī)名為smallcent,虛擬機(jī)的名字非常重要,因為在你為虛擬機(jī)創(chuàng)建集群資源時會用到。示例為虛擬機(jī)分配了512MB的內(nèi)存,4GB的硬盤位于/shared目錄下。請記住我們假定該目錄位于我們之前創(chuàng)建的OCFS2數(shù)據(jù)卷上。
上述步驟要用到交互式安裝。如果沒有終端連接到虛擬主機(jī),那么無法使用上述安裝類型而只能使用自動化安裝。你需要查閱相關(guān)文檔,了解如何配置AutoYast或Kickstart服務(wù)器來完成自動化安裝。
為KVM虛擬機(jī)配置集群資源
為將虛擬機(jī)添加到集群中,你需要使集群能夠識別虛擬機(jī)配置。為實(shí)現(xiàn)該目標(biāo)必須將虛擬機(jī)的XML配置dump為文本文件。首先,使用 virt-installvirsh list --allvirt-install命令確認(rèn)虛擬機(jī)的名字。我們使用的虛擬機(jī)的名字為smallcent。因為集群需要訪問包含虛擬機(jī)定義的XML文件,所以你必須將其dump到共享存儲上。通過輸入命令vvirsh dumpxml smallcent > /shared/smallcent.xml可以實(shí)現(xiàn)。
這時,你可以在集群中為虛擬機(jī)創(chuàng)建資源。VirtualDomain資源代理可以實(shí)現(xiàn)該目的。可以使用crm configure edit命令增加如下配置:
為使集群能夠管理資源,集群中的所有節(jié)點(diǎn)都必須能夠訪問XML配置文件。因此你需要將XML文件存放在共享存儲上。在之前的命令中已經(jīng)使用 VirtualDomain 資源代理創(chuàng)建了一個名為smallcent的資源。為告知資源代理在哪兒查找hypervisor,我們在資源定義中包括了如下內(nèi)容:hypervisor="qemu://system"。為使該配置生效,主機(jī)需要被配置為允許通過其他主機(jī)自動登錄。接下來,你需要表明集群能夠在哪兒查找用于管理資源的XML配置。這時,使用crm configure edit命令看到的配置應(yīng)該如下所示:
現(xiàn)在你可以使用crm_mon命令確認(rèn)配置正在運(yùn)行。如果所有配置都是正確的,現(xiàn)在應(yīng)該擁有一個可操作的KVM高可用集群了。