新建一个空闲分区:/dev/sda5
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改内容为下面几行:DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:77:F8:D2
IPADDR=192.168.0.2
NETMASK=255.255.255.0
ONBOOT=yes
vi /etc/sysconfig/network
修改内容为下面几行
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node1.a.org
hostname node1.a.org
vi /etc/hosts
添加:192.168.0.2 node1.a.org node1
192.168.0.3 node1.a.org node2
scp /etc/hosts 192.168.0.3:/etc
下载源码包:drbd-8.3.10.tar.gz
tar xf drbd-8.3.10.tar.gz
cd drbd-8.3.10
./configure
make rpm
make km-rpm
cd /usr/src/redhat/RPMS/i386/
rpm -ivh drbd*
modprobe drbd//重读模块
lsmod | grep drbd//查看模块是否存在
vi /etc/drbd.d/global_common.conf添加global {
usage-count no;
# minor-count dialog-refresh disable-ip-verification
}
protocol C;
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;
}
wfc-timeout 120;
degr-wfc-timeout 120;
}
on-io-error detach;
fencing resource-only;
}
cram-hmac-alg "sha1";
shared-secret "mydrbdlab";
}
rate 100M;
}
}
3、定义一个资源/etc/drbd.d/web.res,内容如下:
resource web {
on node1.a.org {
device /dev/drbd0;
disk /dev/sda5;
address 192.168.0.2:7789; meta-disk internal;
}
on node2.a.org {
device /dev/drbd0;
disk /dev/sda5;
address 192.168.0.3:7789;
meta-disk internal;
}
}
初始化:
drbdadm create-md web
启动服务:/etc/init.d/drbd start
node2:新建一个空闲分区:/dev/sda5
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改内容为下面几行:DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:77:F8:D2
IPADDR=192.168.0.3
NETMASK=255.255.255.0
ONBOOT=yes
vi /etc/sysconfig/network
修改内容为下面几行
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node2.a.org
hostname node2.a.org
tar xf drbd-8.3.10.tar.gz
cd drbd-8.3.10
./configure
make rpm
make km-rpm
cd /usr/src/redhat/RPMS/i386/
rpm -ivh drbd*
modprobe drbd//重读模块
lsmod | grep drbd//查看模块是否存在
初始化:
drbdadm create-md web
启动服务:/etc/init.d/drbd start
把当前节点设置为主节点:drbdadm -- --overwrite-data-of-peer primary web
查看同步状态:当node2也启动后,
创建文件系统: mke2fs -j /dev/drbd0//这几步只能在主节点上进行
mkdir /mnt/drbd
mount /dev/drbd0 /mnt/drbd
对主Primary/Secondary模型的drbd服务来讲,在某个时刻只能有一个节点为Primary,因此,要切换两个节点的角色,只能在先将原有的Primary节点设置为Secondary后,才能原来的Secondary节点设置为Primary:
Node1:
# cp -r /etc/drbd.* /mnt/drbd
# umount /mnt/drbd
# drbdadm secondary web
cat /proc/drbd//查看状态
# drbdadm primary web
# drbd-overview
0:web Connected Primary/Secondary UpToDate/UpToDate C r----
# mkdir /mnt/drbd
# mount /dev/drbd0 /mnt/drbd
cat /proc/drbd//查看状态