1. 編譯 drbd, 安裝 drbd.ko tar -zxvf drbd-8.3.6.tar.gz
cd drbd-8.3.6
./configure --prefix=/usr/local/drbd --with-km
make
make install
ln -s /usr/local/drbd/etc/drbd.conf /etc/drbd.confln -s /usr/local/drbd/etc/drbd.conf /usr/local/etc/drbd.conf
ln -s /usr/local/drbd/etc/rc.d/init.d/drbd /etc/init.d/drbd
chkconfig --add drbd
chkconfig --level 35 drbd on執行之後:
drbd.ko被安裝到/lib/modules/$KernelVersion/kernel/drivers/block下.
drbd相關工具(drbdadm,drbdsetup)被安裝到/sbin下.
並會在/etc/init.d/下建立drbd啟動指令碼.2. 修改主機名稱
/etc/hosts, /etc/sysconfig/network 重啟網路生效
/etc/rc.d/init.d/network restart 3. 準備磁碟,劃分分區 省略 建立 drbd 虛擬設備:
mknod /dev/drbd0 b 147 0 mknod /dev/drbd1 b 147 14. drbd.conf 設定檔# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";
# 是否參加DRBD使用者統計.預設是yes
global { usage-count yes; }
# 設定主備節點同步時的網路速率最大值,單位是位元組.
common { syncer { rate 20M; } }
# 一個DRBD裝置(即:/dev/drbdX),叫做一個"資源".裡麵包含一個DRBD裝置的主備節點的
# 相關資訊.
#
resource r0 {
# 使用協議C.表示收到遠程主機的寫入確認後,則認為寫入完成.
protocol C;
net {
# 設定主備機之間通訊使用的資訊演算法.
cram-hmac-alg sha1;
shared-secret "FooFunFactory";
}
# 每個主機的說明以"on"開頭,後面是主機名稱.在後面的{}中為這個主機的配置.
on lzg {
# /dev/drbd1使用的磁碟分割是/dev/hdb1
device /dev/drbd1;
disk /dev/sdc5;
# 設定DRBD的監聽連接埠,用於與另一台主機通訊
address 192.168.1.116:7898;
meta-disk internal;
}
on linux-hanxin {
device /dev/drbd1;
disk /dev/sdc5;
address 192.168.1.102:7898;
meta-disk internal;
}
5. 定義資源
# drbdadm create-md r0 //r0為設定檔中定義的資源名
根據提示,輸入yes即可,會往分區寫入 metadata資料,如果原分區有資料,切忌小心, 先要將資料拷貝出來後再做其他動作 有必要時可以低格分區
dd if=/dev/zero bs=1M count=1 of=/dev/sda3
6. 資源配置成功後,可以啟動 dbrd服務
/etc/init.d/drbd start查看狀態
cat /proc/drbdor /etc/init.d/drbd status
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:2007644
7. 開始同步
drbdadm -- --overwrite-data-of-peer primary all8. 測試1) 在主機上執行
格式化塊裝置(只需要格式化主機上的drbd0)
# mkfs.ext3 /dev/drbd0
掛載
# mount /dev/drbd0 /test
2) 切換在主機執行# umount /test# drbdadm secondary r0 (all)
在備機執行#drbdadm primary r0 (all)#mount /dev/drbd0 /test