赞
踩
DRBD(Distributed Replicated Block Device)是一种分布式存储系统,它允许在网络中的两个或多个节点之间复制数据。在本例中,我们为两个节点(node1和node2)设置DRBD,使其运行在双主模式下。
注意:
以下是为DRBD设置的两个脚本,一个用于主节点,另一个用于备用节点。
主节点脚本(node1_setup_drbd.sh):
保存为 node1_setup_drbd.sh
并在node1(192.168.41.101)上运行此脚本。
bash
- #!/bin/bash
-
- # 设置环境变量
- NODE1_IP=192.168.41.101
- NODE2_IP=192.168.41.102
- DRBD_RESOURCE_NAME=mydrbd
- DRIVE=/dev/sdb
-
- # 安装必要的软件包
- apt-get update
- apt-get install -y drbd-utils
-
- # 创建DRBD资源配置文件
- cat <<EOF > /etc/drbd.d/${DRBD_RESOURCE_NAME}.res
- resource ${DRBD_RESOURCE_NAME} {
- protocol C;
- startup {
- wfc-timeout 0; # 设为'0'以进行无限期的等待连接。
- degr-wfc-timeout 120; # 如果AllPrimary,等待120秒。
- }
- net {
- allow-two-primaries yes; # 允许双主模式
- after-sb-0pri discard-zero-changes;
- after-sb-1pri discard-secondary;
- after-sb-2pri call-pri-lost-after-sb;
- }
- on node1 {
- device /dev/drbd0;
- disk ${DRIVE};
- address ${NODE1_IP}:7788;
- meta-disk internal;
- }
- on node2 {
- device /dev/drbd0;
- disk ${DRIVE};
- address ${NODE2_IP}:7788;
- meta-disk internal;
- }
- }
- EOF
-
- # 创建元数据
- drbdadm create-md ${DRBD_RESOURCE_NAME}
-
- # 启动DRBD资源
- drbdadm up ${DRBD_RESOURCE_NAME}
-
- # 等待节点同步完成
- echo '请在备用节点上运行对应脚本,然后在主节点上运行drbdadm -- --overwrite-data-of-peer primary mydrbd启动主模式'
备用节点脚本(node2_setup_drbd.sh):
保存为 node2_setup_drbd.sh
并在node2(192.168.41.102)上运行此脚本。
bash
- #!/bin/bash
-
- # 设置环境变量
- NODE1_IP=192.168.41.101
- NODE2_IP=192.168.41.102
- DRBD_RESOURCE_NAME=mydrbd
- DRIVE=/dev/sdb
-
- # 安装必要的软件包
- apt-get update
- apt-get install -y drbd-utils
-
- # 创建DRBD资源配置文件
- cat <<EOF > /etc/drbd.d/${DRBD_RESOURCE_NAME}.res
- resource ${DRBD_RESOURCE_NAME} {
- protocol C;
- startup {
- wfc-timeout 0; # 设为'0'以进行无限期的等待连接。
- degr-wfc-timeout 120; # 如果AllPrimary,等待120秒。
- }
- net {
- allow-two-primaries yes;
- after-sb-0pri discard-zero-changes;
- after-sb-1pri discard-secondary;
- after-sb-2pri call-pri-lost-after-sb;
- }
- on node1 {
- device /dev/drbd0;
- disk ${DRIVE};
- address ${NODE1_IP}:7788;
- meta-disk internal;
- }
- on node2 {
- device /dev/drbd0;
- disk ${DRIVE};
- address ${NODE2_IP}:7788;
- meta-disk internal;
- }
- }
- EOF
-
- # 创建元数据
- drbdadm create-md ${DRBD_RESOURCE_NAME}
-
- # 启动DRBD资源
- drbdadm up ${DRBD_RESOURCE_NAME}
保存脚本之后,请将它们分别标记为可执行文件:
bash
- chmod +x node1_setup_drbd.sh
- chmod +x node2_setup_drbd.sh
然后,在Node1先执行第一个脚本(node1_setup_drbd.sh),在Node2执行第二个脚本(node2_setup_drbd.sh)。
在两个节点上创建配置文件和元数据后,您需要在两个节点上分别设置DRBD资源为主模式,可以通过以下命令进行:
bash
drbdadm -- --overwrite-data-of-peer primary mydrbd
请确保在执行以上操作前,您精确理解每一步骤的作用,尤其是在生产环境下使用时。还需要调整防火墙设置,以允许两个节点上的7788端口进行通讯。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。