使用drbd實現資料即時備份 本文不適合用在生產環境,關鍵在於簡單理解drbd的配置和工作方式。本例中,只是將數
據存放在2台伺服器上,在其中一台出現故障時並不會自動切換(雖然某些情況下出現故障
drbd會自動切換,比如一台主機的drbd磁碟故障,但這樣的機制還不足以滿足生產環境下
對高可用性的需求),在生產環境中還要自動切換故障的軟體的配合才能實現高可用性。
www.2cto.com 伺服器搭建環境:主(server1):eth0:192.168.10.10 CentOS 5.8 + drbd從(server2):eth0:192.168.10.20 CentOS 5.8 + drbd各添加一塊新磁碟:/dev/sdb 以下軟體包需要下載,並儲存到/home/share/下並解壓:
http://dl.vmall.com/c05jz4birn
一、主伺服器和從伺服器配置(以下步驟1~7完全一樣): 1、安裝cd /home/share/rpm -ivh drbd83-8.3.13-2.el5.centos.i386.rpm rpm -ivh kmod-drbd83-8.3.13-1.el5.centos.i686.rpm 2、載入並檢查drbd模組是否被載入modprobe drbdlsmod | grep drbd 3、編輯設定檔 www.2cto.com echo 'global { usage-count yes;} common { protocol C; startup { wfc-timeout 0; degr-wfc-timeout 120; } disk { on-io-error detach; } syncer { rate 3M; }} resource db {on server1.vicp.net { device /dev/drbd0; disk /dev/sdb1; address 192.168.10.10:7788; meta-disk internal; } on server2.vicp.net { device /dev/drbd0; disk /dev/sdb1; address 192.168.10.20:7788; meta-disk internal; }}' > /etc/drbd.conf 4、添加一個分區(本例直接添加了一塊硬碟sdb,並在上面建立一個分區sdb1)。注意1 fdisk /dev/sdb 5、建立drbd分區drbdadm create-md all 6、檢查drbd配置drbdadm adjust db 7、啟動drbd服務。注意2service drbd start 二、主伺服器配置(務必在完成上面的步驟後執行): www.2cto.com 1、設定成primary,預設為secondary。drbdsetup /dev/drbd0 primary -o 2、格式化分區mkfs.ext3 /dev/drbd0 3、建立目錄並掛載分區mkdir /mnt/drbdmount /dev/drbd0 /mnt/drbd/ 4、寫入資料cp /root/* /mnt/drbd/ 三、從伺服器配置: 從伺服器在drbd啟動後,分區預設為secondary,因此不需要做任何額外的配置,在主服務
器配置完成後會自動與主伺服器同步資料。 四、驗證從伺服器已經同步資料 www.2cto.com 1、執行service drbd status就能看到drbd的運行狀態,當然還有其他方式,可以通過看記錄檔。或者2、另外一種最直接的方法,看從伺服器上的檔案是不是真的和主伺服器上完全一樣。注意3drbdadm disconnect dbdrbdadm primary dbmount /dev/drbd0 /mnt/drbd/ls /mnt/drbd/ 注意1:這裡只是分區,不要格式化!! 注意2:在2台主機上都完成以上步驟後,再在2台主機上同時啟動drbd服務。 注意3:驗證完成後,如何讓從伺服器重新與主伺服器同步,不是降級和重新串連就能完成的。
關於如何恢複,是要按照腦裂的步驟來完成修複的。