在Linux上Ganeti集群虛擬化方法
Ganeti項目是管理整個集群虛擬實例的工具。它與Xen或KVM一起工作,作為底層管理程序并利用很多其它開源項目(如DRBD)來完成任務(wù)(如網(wǎng)絡(luò)上的RAID)。
這篇文章將關(guān)注如何安裝***的穩(wěn)定版本(2.2版本)并使其在雙節(jié)點集群上工作。我們將通過幾個必要的步驟,包括我們從Ganeti IRC頻道(freenode上的 #ganeti)了解到的幾件事。
設(shè)置Ganeti系統(tǒng)
這篇文章,我們選擇Debian Lenny作為基本操作系統(tǒng),因為很多已出版的指導(dǎo)書是基于這個發(fā)布系統(tǒng)。最簡單的安裝方法就是從Debian主頁下載網(wǎng)絡(luò)安裝映像。為了達到目的,我們下載64位計算機系統(tǒng)的映像,將ISO映像刻錄到CD。如果你的網(wǎng)速,這個方法的效果是***的。
當你著手安裝過程時,你需要記住幾件事。Ganeti需要單獨的分區(qū)用于存儲虛擬實例。必須格式化它來運用邏輯卷管理器(LVM),并在安裝過程中進行額外的配置。另一件要記住的事是內(nèi)核版本號的重要性。Xen運行在現(xiàn)有的***端內(nèi)核上,你需要保證內(nèi)核版本相匹配來避免兼容性問題。
當你有大量節(jié)點時,命名變得至關(guān)重要。因為Ganeti需要所有集群節(jié)點完全符合域名(FQDN)。如果你選擇默認安裝,你將需要在幾個文件上作少許改變。這包括/etc/hosts 和/etc/hostname。用下面的命令,你可以很快區(qū)分你是否正確命名配置:
$ hostname
它應(yīng)該返回debian1.mydomain.net形式的東西,而不是簡單的debian1形式。你需要編輯、更改這兩個文件,并執(zhí)行/etc/init.d/hostname.sh來開始設(shè)置新名稱。節(jié)點的真實IP地址也應(yīng)該在/etc/hosts文件中使用。
Ganeti和Xen的虛擬化
雖然Ganeti需要與KVM 和Xen一起工作,這篇文章重心在Xen。這也是內(nèi)核版本關(guān)鍵之處。執(zhí)行必要步驟的最簡單方法是切換到用戶root,然后使用apt-get命令,如下:
$ su root password: XXXXXXX # apt-get install xen-hypervisor-3.2.1-amd64 xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 xen-tools
一旦這個過程完成,你將需要重啟到新內(nèi)核。Uname命令應(yīng)該顯示如下:
$ uname –r 2.6.26-2-xen-amd64
***一步是添加新網(wǎng)絡(luò)設(shè)備作為虛擬實例和真實的以太網(wǎng)接口之間的橋梁。這需要在/etc/network/interfaces中編輯添加以下內(nèi)容:
auto xen-br0 iface xen-br0 inet static address YOUR_IP_ADDRESS netmask YOUR_NETMASK network YOUR_NETWORK broadcast YOUR_BROADCAST_ADDRESS gateway YOUR_GATEWAY bridge_ports eth0 bridge_stp off bridge_fd 0
這將在YOUR_IP_ADDRESS靜態(tài)地址中生成名為xen-br0的新設(shè)備。一定要用適合你網(wǎng)絡(luò)的標簽更換其他“YOUR”標簽。完成了編輯,你必須開始用下面的命令控制接口:
# ifdown eth0 ifup xen-br0
安裝Ganeti
在完成安裝Ganeti之前的***一個步驟,配置LVM卷組。假設(shè)你有一個為LVM配置的分區(qū)(我們的是 /dev/sda3),其命令是:
# pvcreate /dev/sda3 # vgcreate xenvg /dev/sda3
現(xiàn)在我們已經(jīng)準備好Ganeti的實際安裝。要獲取***版本,你必須增加一行到etc/apt/sources.list文件,以包括backports中的信息庫。增加的這行是:
deb http://backports.debian.org/debian-backports lenny-backports main
完成了這些,你必須用以下命名更新APT資源資料庫:
# apt-get update
***,我們可以用這樣的語句安裝Ganeti:
# apt-get install ganeti2
在Ganeti正在開始工作之前,我們必須完成***一件事,那就是建立一個目錄,如下:
directory as follows: # cd /root # mkdir .ssh
此時集群準備就緒,可以初始化為:
# gnt-cluster init cluster1.mydomain.net
這會創(chuàng)建所有必要的程序和默認配置文件來初始化集群。要增加第二個節(jié)點到集群,除了要完成所有前面步驟之外,你還需要使用gnt-cluster初始命令。確保你給新節(jié)點賦予的名稱和IP地址是唯一的。添加新節(jié)點到集群,你需要發(fā)出命令:
# gnt-node add cluster1.mydomain.net
用這條命名,你可以看到在集群中的所有節(jié)點:
# gnt-node list
Ganeti主頁有一組完整的安裝說明文檔。如果你碰巧遇到問題,你應(yīng)該可以在freenode (#ganeti)的IRC頻道得到幫助。
原文:http://www.searchsv.com.cn/showcontent_44793.htm
【編輯推薦】