主備模式
DRBD1:
eth0:10.0.0.3
eth1:172.16.1.3 ?用于心跳線和數據同步(在工作中,一般把心跳線分開)
DRBD2:
eth0:10.0.0.4
eth1:172.16.1.4 用于心跳線和數據同步(在工作中,一般把心跳線分開)
其中eth1是直接相連的。是heartbeat直接的心跳線
[root@DRBD1 ~]# ifconfig |awk '/inet addr/{print $2}'
addr:10.0.0.3
addr:172.16.1.3 ?(不要配置網關)
addr:127.0.0.1
[root@DRBD1 ~]#?
[root@DRBD2 ~]# ifconfig |awk -F'[ :]+' '/inet addr/{print $4}'
10.0.0.4
172.16.1.4 ? ? (不要配置網關)
127.0.0.1
[root@DRBD2 ~]#?
#要配置主機名和hosts文件.
主機名稱要以uname -n為準
##DRBD1
hostname DRBD1
cp /etc/hosts /etc/hosts.bak
cp /etc/sysconfig/network /etc/sysconfig/network.bak
sed -i '$a 10.0.0.3 DRBD1' /etc/hosts
sed -i '$a 10.0.0.4 DRBD2' /etc/hosts
#sed -i 's#HOSTNAME=HB1#HOSTNAME=DRBD1#g' /etc/sysconfig/network
sed -i '/HOSTNAME=/d' /etc/sysconfig/network?
sed -i '/$/aHOSTNAME=DRBD1' /etc/sysconfig/network
##DRBD2
hostname DRBD2
cp /etc/hosts /etc/hosts.bak1
cp /etc/sysconfig/network /etc/sysconfig/network.bak1
sed -i '$a 172.16.1.3 DRBD1' /etc/hosts ? ? ?
##心跳線的ip和對于的服務器hostname 以uname -n 為準。heartbeat也一樣
sed -i '$a 172.16.1.4 DRBD2' /etc/hosts
#sed -i 's#HOSTNAME=HB2#HOSTNAME=DRBD2#g' /etc/sysconfig/network
sed -i '/HOSTNAME=/d' /etc/sysconfig/network?
sed -i '/$/aHOSTNAME=DRBD2' /etc/sysconfig/network
############################start測試:
[root@DRBD1 ~]# uname -n
DRBD1
[root@DRBD2 ~]# uname -n
DRBD2
[root@DRBD2 ~]#?
[root@DRBD2 ~]# ping DRBD1
PING DRBD1 (10.0.0.3) 56(84) bytes of data.
64 bytes from DRBD1 (10.0.0.3): icmp_seq=1 ttl=64 time=0.347 ms
64 bytes from DRBD1 (10.0.0.3): icmp_seq=2 ttl=64 time=0.297 ms
^C
--- DRBD1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1424ms
rtt min/avg/max/mdev = 0.297/0.322/0.347/0.025 ms
[root@DRBD2 ~]# ping DRBD2
PING DRBD2 (10.0.0.4) 56(84) bytes of data.
64 bytes from DRBD2 (10.0.0.4): icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from DRBD2 (10.0.0.4): icmp_seq=2 ttl=64 time=0.043 ms
^C
--- DRBD2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1226ms
rtt min/avg/max/mdev = 0.027/0.035/0.043/0.008 ms
[root@DRBD2 ~]#
[root@DRBD1 ~]# ping DRBD2
PING DRBD2 (10.0.0.4) 56(84) bytes of data.
64 bytes from DRBD2 (10.0.0.4): icmp_seq=1 ttl=64 time=0.720 ms
64 bytes from DRBD2 (10.0.0.4): icmp_seq=2 ttl=64 time=0.346 ms
64 bytes from DRBD2 (10.0.0.4): icmp_seq=3 ttl=64 time=0.329 ms
^C
--- DRBD2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2150ms
rtt min/avg/max/mdev = 0.329/0.465/0.720/0.180 ms
[root@DRBD1 ~]# ping DRBD1
PING DRBD1 (10.0.0.3) 56(84) bytes of data.
64 bytes from DRBD1 (10.0.0.3): icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from DRBD1 (10.0.0.3): icmp_seq=2 ttl=64 time=0.131 ms
^C
--- DRBD1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1388ms
rtt min/avg/max/mdev = 0.022/0.076/0.131/0.055 ms
[root@DRBD1 ~]#
###########################end
#添加心跳路由 ? 生產環境建議加route。現在不加也不影響搭建
/sbin/route add -host 172.16.1.4 dev eth1
/sbin/route add -host 172.16.1.3 dev eth1
echo '/sbin/route add -host 172.16.1.3 dev eth1' >> /etc/rc.local?
echo '/sbin/route add -host 172.16.1.4 dev eth1' >> /etc/rc.local?
#######################start?
[root@DRBD1 ~]# ping 172.16.1.4
PING 172.16.1.4 (172.16.1.4) 56(84) bytes of data.
64 bytes from 172.16.1.4: icmp_seq=1 ttl=64 time=1.56 ms
64 bytes from 172.16.1.4: icmp_seq=2 ttl=64 time=0.310 ms
^C
--- 172.16.1.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1267ms
rtt min/avg/max/mdev = 0.310/0.935/1.561/0.626 ms
[root@DRBD1 ~]#
[root@DRBD2 ~]# /sbin/route add -host 172.16.1.3 dev eth1
[root@DRBD2 ~]#?
[root@DRBD2 ~]# ping 172.16.1.3
PING 172.16.1.3 (172.16.1.3) 56(84) bytes of data.
64 bytes from 172.16.1.3: icmp_seq=1 ttl=64 time=0.391 ms
^C
--- 172.16.1.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 897ms
rtt min/avg/max/mdev = 0.391/0.391/0.391/0.000 ms
[root@DRBD2 ~]#?
###########################end
#時間同步
/usr/sbin/ntpdate pool.ntp.org
echo '#time sync by gao at 2010-2-1'>>/var/spool/cron/root
echo '*/10 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1'>>/var/spool/cron/root
crontab -l
#關閉防火墻
/etc/init.d/iptables stop
2.更改yum源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum install tree -y
grep keepcache /etc/yum.conf?
sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf?
grep keepcache /etc/yum.conf?
#關閉selinux:
setenforce 0 ? ? ? ? #臨時生效
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config ?#永久生效
setenforce 0 ? ?
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config ?
###################分別給兩臺虛擬機都添加一個磁盤,把這個磁盤分為兩個分區。
兩個磁盤的大小一般是相等的,或者備用比主的略大
兩個分區分別如下:
/dev/sdb1 ? ? ? /data ? ? 800M ? ? 存儲全站圖片數據
/dev/sdb2 ? ? ? meta data ?100M ? ?存儲drbd同步狀態信息,在工作中mete分區,給1-2G就可以了
注意:
1.這里的meta data分區一定不能格式化建立文件系統
2.分好的分區現在不能進行掛載(mount)
3.經驗:生成環境DRBD meta data分區一般可設置為1-2G.這里用虛擬機就給100M
下面使用fdisk進行分區。小于2T可以用fdisk分區,大小根據上面的分。
fdisk /dev/sdb
n
p?
w
分區完成之后使用partprobe生效,不然就要重啟系統才能生效了
分區完成之后格式化。但是meta不能格式化 ?(兩邊都做下面相同的操作)
兩臺服務器都是指向下面操作。
mkfs.ext4 /dev/sdb1?
tune2fs -c -1 /dev/sdb1 ? ? ? ? ? ? ##可用可不用
[root@DRBD1 ~]# mount /dev/sdb2 ?/mnt
mount: you must specify the filesystem type ?(這樣是正確的,/dev/sdb2不能分區)
[root@DRBD1 ~]#?
==================================================
但大于2T的時候,就不能用fdisk進行分區了,而要用parted分區。
命令大概如下:
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 0 1024
parted /dev/sdb p
parted /dev/sdb mkpart primary 1025 2048
parted /dev/sdb p
##########
######################################正式開始部署DRBD
DRBD下載地址:http://oss.linbit.com/drbd/
mkdir -p /home/lvnian/tools/
cd /home/lvnian/tools/
export LC_ALL=C
echo $LC_ALL
cd /home/lvnian/tools/
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.4.tar.gz
ll drbd-8.4.4.tar.gz
tar xf drbd-8.4.4.tar.gz
cd drbd-8.4.4
./configure --prefix=/application/drbd-8.4.4 ?--with-km --with-heartbeat --sysconfdir=/etc/
make KDIR=/usr/src/kernels/$(uname -r)
make install
#--with-km ?啟動內核模塊
#--with-heartbeat ?啟動heartbeat
ls -ld /usr/src/kernels/$(uname -r) ?#如果沒有那就yum install kernel-devel -y
====================
make install成功的顯示內容:
install -d //lib/modules/2.6.32-431.el6.x86_64/updates
install -m 644 drbd.ko //lib/modules/2.6.32-431.el6.x86_64/updates
/sbin/depmod -a || /sbin/depmod -e drbd.ko 2>&1 >/dev/null || true
make[1]: Leaving directory `/home/lvnian/tools/drbd-8.4.4/drbd'
[root@DRBD1 drbd-8.4.4]#
====================
##加載drbd到內核
lsmod |grep drbd
modprobe drbd ? ? ? ? ? ?#這個加載,在重啟之后失效,可以把它放在rc.local中。但也可以用heartbeat掛載
lsmod |grep drbd
##設置開機自啟動掛載drbd
echo 'modprobe drbd' >>/etc/rc.local
###############安裝成功的標準
[root@DRBD1 drbd-8.4.4]# lsmod |grep drbd
[root@DRBD1 drbd-8.4.4]# modprobe drbd
lsmod |grep drbd
[root@DRBD1 drbd-8.4.4]# lsmod |grep drbd
drbd ? ? ? ? ? ? ? ? ?340711 ?0?
libcrc32c ? ? ? ? ? ? ? 1246 ?1 drbd
[root@DRBD1 drbd-8.4.4]#?
========================================================
DRBD資源列表
主機名稱 ? ? ? ? ? ?DRBD1DRBD2
DRBD管理IPeth0:10.0.0.3 eth0:10.0.0.4
DRBD掛載目錄datadata
DRBD邏輯設備/data/data
DRBD對接IP172.16.1.3172.16.1.4
DRBD存儲設備/dev/sdb1/dev/sdb1 ??
DRBDmete設備/dev/sdb2[0]/dev/sdb2[0]
========================================================
############################################3
[root@DRBD1 drbd-8.4.4]# ll /etc/drbd.conf?
-rw-r--r--. 1 root root 133 Jul 21 06:59 /etc/drbd.conf
[root@DRBD1 drbd-8.4.4]# ll /etc/drbd.
drbd.conf ?drbd.d/ ? ?
[root@DRBD1 drbd-8.4.4]# ll /etc/drbd.d/
total 4
-rw-r--r--. 1 root root 1836 Jul 21 06:59 global_common.conf
[root@DRBD1 drbd-8.4.4]# 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@DRBD1 drbd-8.4.4]#
##配置drbd.conf 兩個服務去的配置文件時一樣的
cat>/etc/drbd.conf <<eof
global {
? usage-count no;
}
common {
? syncer {?
rate 10M;
? ? verify-alg crc32c;
? }?
}
resource data {
? protocol C;##實時同步協議C
? disk{
? on-io-error ?detach;##磁盤出現IO錯誤如何處理的
? }
? on DRBD1 {##機器名,hostname
? ? device ? ?/dev/drbd0;
? ? disk ? ? ?/dev/sdb1;##本地數據分區
? ? address ? 10.0.0.3:7788;
? ? meta-disk ?/dev/sdb2[0];##本地meta分區
? }
? on DRBD2 {
? ? device ? ?/dev/drbd0;
? ? disk ? ? ?/dev/sdb1;
? ? address ? 10.0.0.4:7788;
? ? meta-disk ?/dev/sdb2[0];
? }
}
eof
cat /etc/drbd.conf
###上面的resource是一個資源,上面的資源為data。
如果你想在增加一個資源,可以把整個resource復制下來,改為你先要增加的資源,以及資源所在的地方,放在上面的資源下面就可以了
##################################################33
#######初始化話meta data分區。兩個DRBD都要初始化
drbdadm create-md data
上面的data 是指/etc/drbd.conf配置文件中的resource data 中的data資源名稱
#這個data是配置文件中的resource data 中的data
[root@DRBD1 drbd-8.4.4]# drbdadm create-md data
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
[root@DRBD1 drbd-8.4.4]#?
----------------
[root@DRBD2 ~]# drbdadm create-md data
Writing meta data...
initializing activity log
NOT initializing bitmap
New drbd meta data block successfully created.
[root@DRBD2 ~]#?
------------------
##drbd 啟動
drbdadm up -help
drbdadm up data ?或者 ?drbdadm up all
報錯:
[root@DRBD2 ~]# drbdadm up data
/application/drbd-8.4.4/var/run/drbd: No such file or directory
/application/drbd-8.4.4/var/run/drbd: No such file or directory
[root@DRBD2 ~]#?
解決:
mkdir -p /application/drbd-8.4.4/var/run/drbd
drbdadm up data
[root@DRBD1 ~]# drbdadm up data
Device '0' is configured! ? ? ? ?#有這個就是成功的狀態,不用管下面
Command 'drbdmeta 0 v08 /dev/sdb2 0 apply-al' terminated with exit code 20
[root@DRBD1 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:WFConnection ro:Secondary/Unknown ds:Inconsistent/DUnknown C r----s
? ? ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:722896
[root@DRBD1 ~]#?
出現上面Secondary/Unknown,可能是iptables問題,裂腦問題,也可能是另外一個drbd沒有啟動,
==========================================
drbdadm down data ? ? ? ? ? ?
drbdadm up data?
cat /proc/drbd?
drbdadm -- --overwrite-data-of-peer primary data
cat /proc/drbd?
##如果長時間是這個Secondary/Unknown,代表他們沒有連接上,裂腦情況。考慮防火墻問題。
Connected ro:Secondary/Secondary
如果是Secondary/Secondary,代表已經連接好了,成功了,此時是屬于無主的情況,需要指定其中一臺為主drbd
drbdadm -- --overwrite-data-of-peer primary data
################
[root@DRBD1 ~]# drbdadm down data ? ? #關閉drbd ? ? ? ?
[root@DRBD1 ~]# drbdadm up data ? ? ? ?#啟動drbd
cat /proc/drbd?
[root@DRBD1 ~]# cat /proc/drbd ? ? ? #看drbd連接情況
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:Unconnected ro:Secondary/Unknown ds:Inconsistent/Outdated C r----s ? ?##如果長時間是這個Secondary/Unknown,代表他們沒有連接上,裂腦情況。考慮防火墻問題。
? ? ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:722896
[root@DRBD1 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: 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:f oos:722896
[root@DRBD1 ~]#?
#######指定其中一個為drbd的主
[root@DRBD1 ~]# drbdadm -- --overwrite-data-of-peer primary data
cat /proc/drbd?
[root@DRBD1 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----##一主一從
? ? ns:1024 nr:0 dw:0 dr:1683 al:0 bm:0 lo:1 pe:0 ua:0 ap:0 ep:1 wo:f oos:721872
? ? ? ? [>....................] sync'ed: ?0.6% (721872/722896)K ?##這是同步的過程,進度條、百分百
? ? ? ? finish: 0:10:01 speed: 1,024 (1,024) K/sec
[root@DRBD1 ~]#?
[root@DRBD1 ~]#?
##同步數據成功
[root@DRBD1 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ?##一主一從
? ? ns:722893 nr:0 dw:0 dr:723552 al:0 bm:45 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@DRBD1 ~]#?
[root@DRBD1 ~]#?
#################################################
######掛載測試數據同步
在主操作
?mkdir /data
?mount /dev/drbd0 /data
?df
?cd /data/
?touch {1..10}
?ls
?cat /proc/drbd?
?touch `seq 11 22`
?cat /proc/drbd?
?#當主和從drbd連接狀況下,在從那邊是不允許掛載/dev/drbd0或者/dev/sdb1的
[root@DRBD1 ~]# mkdir /data
[root@DRBD1 ~]# mount /dev/drbd0 /data?
[root@DRBD1 ~]# df
Filesystem ? ? 1K-blocks ? ?Used Available Use% Mounted on
/dev/sda3 ? ? ? 11150604 1619468 ? 8964712 ?16% /
tmpfs ? ? ? ? ? ? 247112 ? ? ? 0 ? ?247112 ? 0% /dev/shm
/dev/sda1 ? ? ? ? 198337 ? 29670 ? ?158427 ?16% /boot
/dev/drbd0 ? ? ? ?711508 ? 17112 ? ?658252 ? 3% /data
[root@DRBD1 ~]#?
[root@DRBD1 data]# touch {1..10}
[root@DRBD1 data]# ls
1 ?10 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?lost+found
[root@DRBD1 data]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
? ? ns:722929 nr:0 dw:36 dr:723907 al:2 bm:45 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@DRBD1 data]# touch `11 21`
-bash: 11: command not found
touch: missing file operand
Try `touch --help' for more information.
[root@DRBD1 data]# touch `seq 11 22`
[root@DRBD1 data]# ll
total 16
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 1
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 10
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 11
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 12
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 13
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 14
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 15
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 16
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 17
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 18
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 19
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 2
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 20
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 21
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:37 22
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 3
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 4
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 5
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 6
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 7
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 8
-rw-r--r--. 1 root root ? ? 0 Jul 21 08:36 9
drwx------. 2 root root 16384 Jul 21 06:38 lost+found
[root@DRBD1 data]# cat /proc/drbd ??
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD1, 2015-07-21 06:58:32
?0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
? ? ns:722949 nr:0 dw:56 dr:723907 al:2 bm:45 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@DRBD1 data]#
?#當主和從drbd連接狀況下,在從那邊是不允許掛載/dev/drbd0或者/dev/sdb1的
?[root@DRBD2 ~]# mount /dev/drbd0 /mnt
mount: you must specify the filesystem type
[root@DRBD2 ~]# mount /dev/sdb2 /mnt ? ??
mount: you must specify the filesystem type
[root@DRBD2 ~]# mkdir dd
[root@DRBD2 ~]# mount /dev/sdb2 dd/?
mount: you must specify the filesystem type
[root@DRBD2 ~]# mount /dev/sdb2 dd?
mount: you must specify the filesystem type
[root@DRBD2 ~]# mount /dev/drbd0 dd ? ?
mount: you must specify the filesystem type
[root@DRBD2 ~]#
#所以備節點是不能在和主備連接的情況下掛載的,如果要掛載就要把備用drbd關閉后再掛載
drbdadm down data
cat /proc/drbd?
mount /dev/sdb1 dd
cd dd/
ll
ls
[root@DRBD2 ~]# drbdadm down data
[root@DRBD2 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD2, 2015-07-21 06:57:52
[root@DRBD2 ~]# mount /dev/sdb1 dd?
[root@DRBD2 ~]# cd dd/
[root@DRBD2 dd]# ls
1 ?10 ?11 ?12 ?13 ?14 ?15 ?16 ?17 ?18 ?19 ?2 ?20 ?21 ?22 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?lost+found
[root@DRBD2 dd]#?
###如果要繼續進行主備同步,那就要把drbd中的分區卸載下來,才能進行drbd
[root@DRBD2 dd]# drbdadm up data ? ? ?
0: Failure: (104) Can not open backing device.
Command 'drbdsetup attach 0 /dev/sdb1 /dev/sdb2 0 --on-io-error=detach --resync-rate=10M' terminated with exit code 10
[root@DRBD2 dd]# cd .. ? ?
[root@DRBD2 ~]# ls
anaconda-ks.cfg ?dd ?install.log ?install.log.syslog
[root@DRBD2 ~]# umount dd/
[root@DRBD2 ~]# drbdadm up data
[root@DRBD2 ~]# cat /proc/drbd?
version: 8.4.4 (api:1/proto:86-101)
GIT-hash: 74402fecf24da8e5438171ee8c19e28627e1c98a build by root@DRBD2, 2015-07-21 06:57:52
?0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate 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:f oos:0
[root@DRBD2 ~]#
===============================================
我們可以寫腳本判斷drbd是否同步,可以用下面的內容作為依據
ro:Primary/Secondary ds:UpToDate/UpToDate
===============================================
drbd不同步出現下面故障解決辦法
Secondary/Unknown
a、檢查兩臺drbd服務器之間的物理網絡連接,或者IP及主機路由是否正確
b、停止iptables防火墻,或者放行drbd同步(可使用簡單的IP允許)
c、Secondary/Unknown還可能是裂腦問題導致的結果
轉載于:https://blog.51cto.com/lvnian/1709220