DRBD

分布式复制块设备


drbd83.x86_64                              8.3.15-2.el5.centos         extras   

kmod-drbd83.x86_64                         8.3.15-3.el5.centos         extras   


yum -y install drbd83.x86_64 kmod-drbd83.x86_64

1.同步时间

2.主机名

3.ssh互信


yum -y install drbd83.x86_64 kmod-drbd83.x86_64

2台机器新增硬盘分区(重点是都不要格式化)

cp /usr/share/doc/drbd83-8.3.15/drbd.conf /etc/

vim /etc/drbd.conf

vim /etc/drbd.d/global_common.conf

cd /etc/drbd.d/

vim web.res

scp -r /etc/drbd.* node2:/etc/

drbdadm create-md mydrby

/etc/init.d/drbd start

cat /proc/drbd

drbd-overview

mkfs.ext3 /dev/drbd0

mkdir /mydata

mount /dev/drbd0 /mydata

umount /mydata/

drbdadm secondary mydrby


[root@node2 ~]# cat /etc/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";


[root@node2 ~]# cat /etc/drbd.d/global_common.conf 

global {

        usage-count yes;

        # minor-count dialog-refresh disable-ip-verification

}


common {

        protocol C;


        handlers {

                # These are EXAMPLE handlers only.

                # They may have severe implications,

                # like hard resetting the node under certain circumstances.

                # Be careful when chosing your poison.


                 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";

                # split-brain "/usr/lib/drbd/notify-split-brain.sh root";

                # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";

                # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";

                # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;

        }


        startup {

                # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb

        }


        disk {

                 on-io-error detach;

                # no-disk-drain no-md-flushes max-bio-bvecs

        }


        net {

                # sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers

                # max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret

                # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork

                cram-hmac-alg "sha1";

                shared-secret "abcdefg";

        }


        syncer {

                rate 100M;

                # rate after al-extents use-rle cpu-mask verify-alg csums-alg

        }

}

[root@node2 ~]# 


或者

[root@node2 ~]# egrep -v "^$|#" /etc/drbd.d/global_common.conf

global {

        usage-count yes;

}

common {

        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";

        }

        startup {

        }

        disk {

                 on-io-error detach;

        }

        net {

                cram-hmac-alg "sha1";

                shared-secret "abcdefg";

        }

        syncer {

                rate 100M;

        }

}

[root@node2 ~]# 


[root@node2 ~]# egrep -v "^$|#" /etc/drbd.d/web.res 

resource mydrby{

        device /dev/drbd0;

        disk /dev/sdb5;

        meta-disk internal;

        on node1.test.com{

                address 10.10.10.21:7789;

        }

        on node2.test.com{

                address 10.10.10.22:7789;

        }

}