LVM下使用DRBD
# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.10.tar.gz
# tar zxvf drbd-8.3.10.tar.gz -C ../software/
# cd ../software/drbd-8.3.10/
# ./configure --prefix=/usr/local/drbd-8.3.10 --with-km
# make
# make install
# cd drbd
# make clean all
# make KDIR=/lib/modules/2.6.18-164.el5/build
# insmod drbd.ko
# modinfo drbd.ko
filename: drbd.ko
alias: block-major-147-*
license: GPL
version: 8.3.10
description: drbd - Distributed Replicated Block Device v8.3.10
author: Philipp Reisner <[email protected]>, Lars Ellenberg <[email protected]>
srcversion: 6F66C71923EBE1126A4B34B
depends:
vermagic: 2.6.18-164.el5 SMP mod_unload gcc-4.1
parm: minor_count:Maximum number of drbd devices (1-256) (uint)
parm: disable_sendpage:bool
parm: allow_oos:DONT USE! (bool)
parm: cn_idx:uint
parm: proc_details:int
parm: enable_faults:int
parm: fault_rate:int
parm: fault_count:int
parm: fault_devs:int
parm: usermode_helper:string
【node1】
# lvcreate –n lv_drbd –size 2G /dev/VolGroup00
# vi /etc/hosts
192.168.27.131 node1.example.com node1
192.168.27.130 node2.example.com node2
# vi global_common.conf
global {
usage-count yes;
}
common {
protocol C;
}
resource r0 {
on node1.example.com {
device /dev/drbd1;
disk /dev/VolGroup00/lv_drbd;
address 192.168.27.131:7789;
meta-disk internal;
}
on node2.example.com {
device /dev/drbd1;
disk /dev/VolGroup00/lv_drbd;
address 192.168.27.130:7789;
meta-disk internal;
}
}
# drbdadm create-md r0
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
success
# drbdadm attach r0
# drbdadm syncer r0
# drbdadm connect r0
# cat /proc/drbd
version: 8.3.10 (api:88/proto:86-96)
GIT-hash: 5c0b0469666682443d4785d90a2c603378f9017b build by [email protected], 2011-06-10 14:23:11
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:2097052
# drbdsetup /dev/drbd1 primary --overwrite-data-of-peer
# cat /proc/drbd
version: 8.3.10 (api:88/proto:86-96)
GIT-hash: 5c0b0469666682443d4785d90a2c603378f9017b build by [email protected], 2011-06-10 14:23:11
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
ns:25984 nr:0 dw:0 dr:25984 al:0 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:2071068
[>....................] sync'ed: 1.4% (2071068/2097052)K
finish: 0:27:52 speed: 1,236 (1,236) K/sec
cs(connection state)連接狀態syncsource ro(roles)主備機狀態分別是主/備,ds(disk states)主機磁盤狀態是在更新,備機狀態是不一致
ns(network send)網絡信息 dw(disk write) dr(disk read) al(activity log) bm(bit map) lo(local count) pe(pending) ua(unacknowledged) ap(application pending) ep(epochs) wo(write order) oos(out of sync)
# mkfs.ext3 /dev/drbd1
# mkdir /www/r0
# mount /dev/drbd1 /www/r0
【node2】
# pvcreate /dev/hdb1
# vgcreate VolGroup00 /dev/hdb1
# lvcreate -n lv_drbd --size 2G /dev/VolGroup00
# vi /etc/hosts
192.168.27.131 node1.example.com node1
192.168.27.130 node2.example.com node2
# vi global_common.conf
global {
usage-count yes;
}
common {
protocol C;
}
resource r0 {
on node1.example.com {
device /dev/drbd1;
disk /dev/VolGroup00/lv_drbd;
address 192.168.27.131:7789;
meta-disk internal;
}
on node2.example.com {
device /dev/drbd1;
disk /dev/VolGroup00/lv_drbd;
address 192.168.27.130:7789;
meta-disk internal;
}
}
# drbdadm create-md r0
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
Success
# drbdadm attach r0
# drbdadm syncer r0
# drbdadm connect r0
# cat /proc/drbd
version: 8.3.10 (api:88/proto:86-96)
GIT-hash: 5c0b0469666682443d4785d90a2c603378f9017b build by [email protected], 2011-06-10 14:29:01
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:2097052
documentation:http://www.drbd.org/docs/about/