关于DRBD的总结: 完成一个DRBD,需要执行以下步骤: a、安装 b、配置资源文件(定义资料名称,磁盘,节点信息,同步限制等) c、将drbd加入到系统服务chkconfig --add drbd d、初始化资源组drbdadm create-md resource_name e、启动服务 service drbd start f、设置primary主机,并同步数据 #drbdadm adjust resource_name #drbdsetup /dev/drbd1 primary -o 或 drbdadm primary resource_name g、分区、格式化/dev/drbd1 h、一个节点进行挂载。 完成确认: a、cat /proc/drbd b、drbdadm role resource_name 1、安装 ./configure --prefix=/usr/local/drbd --with-km (开启内核模块) 2、配置:直接创建*.res资源文件,默认是在/etc/drbd.d/里。drbd启动时会自动读取*.res文件。 3、*.res的格式:(例子) resource fs { protocol C; startup { degr-wfc-timeout 120; #启动时,连接资源超时的时间。 } disk { on-io-error detach; #磁盘有错误时不连接 } net { } syncer { rate 10M; #同步的速率 al-extents 257; } on drbd1.localdomain{ device /dev/drbd1; #创建的设备名称 disk /dev/sdb1; #使用的磁盘名称 address 192.168.10.209:7788; #连接地址 meta-disk internal; #meta-data和数据存放在同一个底层 } on drbd2.localdomain { device /dev/drbd1; disk /dev/sdb1; address 192.168.10.210:7788; meta-disk internal; } } 4、DRBD服务启动时,要求节点的服务都要起来,因为节点间要同步,否则单节点的服务是起不来的。 默认情况下,各节点启动时,都处于secondary,需要手工将其设置成primary.才能正常被挂载工作! 5、/dev/drbd1只能同时被一个节点挂载,如果同时挂载会报错。 6、相关的命令: drbdadm role resource 查看节点的角色 例: # drbdadm role resource_name Secondary/Primary cat /proc/drbd 查看drbd的相关信息,如同步状态! # cat /proc/drbd version: 8.3.11 (api:88/proto:86-96) GIT-hash: 0de839cee13a4160eed6037c4bddd066645e23c5 build by root@drbd2.localdomain, 2011-07-08 11:10:20 1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----- ns:0 nr:32 dw:32 dr:0 al:0 bm:1 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0 cs:连接状态!可能出现的有Connected,WFC,Stanalone,SyncSource ro:角色! 正常会出现主辅,不正常的会现unkown. ds:同步更新的状态! 正常的话是UpToDate/UpToDate,正在更新UpToDate/Inconsistent ns :network send
nr :network receive dr :disk read pe :pending(waiting forack) ps -auxf | grep drbd 每个drbd设备有三个进程,drbd1_worker 主进程,drbd1_asender是primary上drbd1的数据发送进程。 同理,drbd1_receiver 是secondary是drbd的数据接收进程。 drbd secondary resource_name 降级
drbd primary resource_name 升级
本文出自 “潜入技术的海洋” 博客,请务必保留此出处http://myhat.blog.51cto.com/391263/617595