DRBD是Linux內核的存儲層中的一個分布式存儲系統,現在我們需要兩台Linux服務器之間共享塊設備做集群,這裡我們選擇了drbd。(iscsi也可以)
主機名 ip地址 系統環境
node1 192.168.1.50 RedHat 6.3
node2 192.168.1.51 redhat 6.3
配置之前的准備
1.安裝包的下載
http://oss.linbit.com/drbd/
這裡我下的版本是:drbd-8.4.3.tar.gz
2.設置hostname
vim /etc/hosts
node1 192.168.1.50
node2 192.168.1.51
3.磁盤規劃
這裡我們最好在2個節點上使用2個一樣大小的分區(注:分好後不要格式化!)
一.下面我們就可以部署DRBD了:
在之前我下的包中由於內核和版本不匹配報了如下錯誤:
can not load the drbd module.
所以這裡我們采用編譯的方式生成rpm包然後安裝:
tar xvf drbd-8.4.3.tar.gz
cd drbd-8.4.3
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
./configure
make rpm
make km-rpm
找到我們剛才生成的包,並安裝:
cd ~/rpmbuild/RPMS/x86_64/
rpm -ivh drbd-*.rpm
二.查看DRBD是否安裝成功
modprobe drbd
lsmode |grep drbd
drbd XXXXX X 即安裝成功
三.drbd的配置
默認運行配置文件/etc/drbd.conf配置文件,這裡我們的配置文件是在/etc/drbd.d/global_common.conf下,下面我們來進行配置:
vim /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
syncer { rate 100M; }
}
resource r0 {
protocol C;
handlers {
pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
options {
# cpu-mask on-no-data-accessible
}
disk {
on-io-error detach;
fencing resource-only;
}
net {
cram-hmac-alg "sha1";
shared-secret "FooFunFactory";
}
device /dev/drbd0;
on node1 {
disk /dev/sdb1;
address 192.168.1.50:7788;
meta-disk internal;
}
on node2 {
disk /dev/sdb1;
address 192.168.1.51:7788;
meta-disk internal;
}
}
這裡參數我就不具體說明了。
同理把生成的配置文件scp到node2上。