2009年9月25日 星期五

向虛擬化出發(二) — 實現 HA-NFS

如上篇向虛擬化出發中所述,我需要建立一個 HA-NFS 服務器來儲存虛擬機器的影像檔案。

首先預備兩台機器要具備以硬件:

處理器:Pentium IV以上

RAM512MB以上

LAN Card: 1Gbps兩張

硬盤:1Tb (硬盤大小視乎你自已所需,以一個 XP SP3 + IE8 + Windows Update 之後,約 5.xGb,還要Preinstall的程式所需的空間和預留 User使用空間,8G 走不了。)

分別以最少安裝模式來安裝CentOS 5.3於兩台機器中,即可以不安裝 Virtualization GnomeKDE等套件。至於如何安裝 CentOS 5.3和如何設定機器名稱、網卡 IP等,請自行參考網上文件。這裡我假設你設定了如下圖:


*請先暫時把 /dev/eth1 可連上 Internet,用來下載所需套件。


1. yum 先更新:

#yum update

2. 安裝 DRBD 套件:

#yum install heartbeat drbd kmod-drbd

3. 修改 /etc/drbd.conf

global{ usgae-count yes; }

common{ syncer { rate10M; } }

resource r0 {

protocal C;

handlers {

pri-on-incon-degr “echo o>/proc/sysq-trigger;halft –f”;

pri-lost-after-sb “echo o>/proc/sysrq-trigger;halft –f”;

local-io-error “echo o>/proc/sysrq-trigger;halft –f”;

outdate-peer “/usr/sbin/drbd-peer-outdater”;

}

startup{}

disk{ on-io-error detach; }

net {

after-sb-0pri; disconnect;

after-sb-1pri; disconnect;

after-sb-2pri; disconnect;

rr-conflict disconnect;

}

syncer{

rate 10M;

al-extents 257;

}

on p1 {

device /dev/drbd0;

disk /dev/sda1;

address 10.1.1.1:7788

flexible-meta-disk internal;

}

on p2 {

device /dev/drbd0;

disk /dev/sda1;

address 10.1.1.2:7788;

meta-disk internal;

}

}

4. 步驟 1 – 3,必須分別執行於每台機器。

5. p1 第一次啟動 DRBD

#service drbd restart

#drbdadm create-md r0

#drbdadm -- --overwrite-data-of-peer primary r0

#mkdir /DRBD

#mkfs.ext3 /dev/drbd0

6. p2 啟動 DRBD,並等待同步完成。

#service drbd restart

#mkdir /DRBD

7. 返回p1,在我真實機器中,明確地在步驟 2已經安裝 HeartBeat 套件,但不知何故,卻沒有安裝。不要緊,現在再次安裝 HeartBeat套件。

#yum install heartbeat

8. 修改 /etc/ha.d/ha.cf

auto_failback off

deadtime 10

warntime 10

initdead 10

bcast eth1

node p1

node p2

crm yes

9. 修改 /etc/ha.d/authkeys

auth 1

1 sha1 MySecretKey

10. 變更權限

#chmod 600 /etc/ha.d/authkeys

11. 修改 /etc/ha.d/haresources

ha1 192.168.1.254 drbddisk::r0 Filesystem::/dev/drbd0::/DRBD::ext3 nfs

12. 產生 cib.xml

#rm /var/lib/heartbeat/crm/*

#/usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources

13. 修改 /etc/exports

/DRBD 192.168.1.0/255.255.255.0(sync,insecure,no_subtree_check.no+root_squash,rw,nohide)

14. 將服務設成自動開啟:

#chkconfig heartbeat on

#chkconfig drbd on

15. 將步驟 7 – 13 ,於 p2 中再次執行。

*請把 /dev/eth1 還原。

16. 先把 p2 關閉。然後才將 p1 關閉。

17. p1 開機。然後才把 p2 開機。

測試:

完成安裝步驟後,現在 p1 應該是 activep2 應該晨 standby。除此之外,在p1你可以發現多了一個IP 192.168.1.254掛在 /dev/eth1,這時你可以用第三台 Linux連接 192.168.1.254:/DRBD

試試用任方法(包括拔除電源) p1 shutdown,看看 p2 是能否轉為 active,而且 192.168.1.254:/DRBD仍然可用。



沒有留言:

張貼留言