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