centos5 5中安裝drbd筆記

2021-05-25 02:14:22 字數 4506 閱讀 8310

drbd(distributed replicated block device),分布式複製塊裝置,是一種通過tcp/ip網路實現塊裝置資料實時映象的方案。利用這種方案,單一主節點模式(single primary mode)雙機系統能夠實時地將業務資料儲存在主備節點的磁碟中,正常情況下兩個節點的資料是一模一樣的。

heartbeat在此是用來做熱備切換的,兩節點間通過心跳線連線,如果主節點宕機的話,可以通過ha將drbd快速切換到另外乙個節點,同時搶占虛擬ip,並啟動mysql,對mysql客戶端來說,只有很短時間的中斷。此模式能有效提高mysql的可用性。

一.環境

--------------------------------

os: centos 5.5 32位

drbd: 8.3.9編譯安裝 (

====node1====

hostname: centos1

ip: 192.168.0.201

====node2====

hostname: centos2

ip: 192.168.0.202

三 配置伺服器的hostname hosts

在兩個伺服器中編輯hosts檔案

#vi /etc/hosts

新增  192.168.0.201  centos1

192.168.0.202  centos2

四.  在兩個伺服器中分出乙個空分割槽或者新增乙個空的硬碟

/dev/sdb1  不要帶有分割槽資訊 如果格式化分割槽的話,則

# mkfs.ext3 /dev/sdb1或者dd if=/dev/zero bs=1m count=1 of=/dev/sdb1; sync 這個命令破壞原有檔案系統,否則底下第一次執行主備同步會感覺到很慢

四. 配置drbd

--------------------------------

注意,新版本的drbd的配置檔案已拆分成多個,全部放在/etc/drbd.d/目錄,具體可參考/etc/drbd.conf中的配置.

如果開了iptables防火牆,需要開啟對應的7789埠。

在主節點配置/etc/drbd.d/dbdata.res:

*****====dbdata.res begin**********=

resource dbdata

on centos2

}*****====dbdata.res end**********=

建立drbd裝置

#drbdadm create-md all

#/etc/init.d/drbd restart

檢視是否有相應的塊裝置:

#ls -l /dev/drbd1

#cat /proc/drbd

現在可以檢視drbd的狀態,然後在centos1主機上執行:

# cat /proc/drbd

version: 8.3.9 (api:88/proto:86-95)

git-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by root@centos1, 2011-04-18 17:28:21

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:4706832

」/proc/drbd」中顯示了drbd當前的狀態.第一行的cs表示兩台主機的狀態,都是」備機」狀態.ds是磁碟狀態,都是」不一致」狀態. 這是由於,drbd無法判斷哪一方為主機,以哪一方的磁碟資料作為標準資料.所以,我們需要初始化 乙個主機.在centos1上執行:

#drbdsetup /dev/drbd1 primary -o 或:/sbin/drbdadm primary dbdata

/sbin/drbdadm secondary r0 (此命令為降級) 

# cat /proc/drbd

version: 8.3.9 (api:88/proto:86-95)

git-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by root@centos1, 2011-04-18 17:28:21

1: cs:syncsource ro:primary/secondary ds:uptodate/inconsistent c r-----

ns:1383040 nr:0 dw:0 dr:1383040 al:0 bm:84 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:3323792

[====>...............] sync'ed: 29.5% (3244/4596)m

finish: 0:43:08 speed: 1,280 (1,268) k/sec

主備機狀態分別是」主/備」,主機磁碟狀態是」實時」,備機狀態是」不一致」. 在第3行,可以看到資料正在同步中,即主機正在將磁碟上的資料,傳遞到備機上.現在的進度是29.5%.

稍等一會,在資料同步完後,再檢視一下centos1的drbd狀態: 在同步完成前,請不要重啟,否則會重新同步。

# cat /proc/drbd

version: 8.3.9 (api:88/proto:86-95)

git-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by root@centos1, 2011-04-18 17:28:21

1: cs:connected st:primary/secondary ds:uptodate/uptodate c r--- ns:497928 nr:0 dw:0 dr:497928 al:0 bm:31 lo:0 pe:0 ua:0 ap:0 resync: used:0/31 hits:31091 misses:31 starving:0 dirty:0 changed:31 act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

磁碟狀態都是」實時」,表示資料同步完成了.

五 使用drbd

你現在可以把主機上的drbd裝置掛載到乙個目錄上進行使用.備機的drbd裝置無法被掛載,因為它是

用來接收主機資料的,由drbd負責操作.

在centos1上執行:

[root@centos1 /]# mount /dev/drbd1 /data1

六. 測試drbd同步

先在primary節點centos1上寫入資料:

# cp mysql-6.0.3.tar.gz /data1/

ls –l /data/

-rw-r--r--  1 root root 56857784 mar 13 16:41 mysql-6.0.3-alpha-linux-x86_64-glibc23.tar.gz

然後,我們把primary降級成secondary,把secondary提公升成primary:

[root@centos1 /]# umount /data1

[root@centos1 /]# drbdadm secondary dbdata

把primary降級前,一定要先umount裝置才行。

然後提公升secondary:

[root@centos2 /]# drbdadm primary dbdata

[root@centos2 /]#  mount /dev/drbd1 /data1

[root@centos2 /]#  ls –l /data

-rw-r--r--  1 root root 56857784 mar 13 16:41 mysql-6.0.3-alpha-linux-x86_64-glibc23.tar.gz

可以看到,資料已經完全同步過去了。

drdb的一些常規操作:

切換主從節點前,要注意umount

主從切換: drbdadm primary all, drbdadm secondary all

節點間連線:drbdadm connect|disconnect all

drbd腦裂後的處理:

腦裂後,兩個節點間資料不同步,主從關係失效,需要按下面的步驟修復:

a.在從節點如下操作:

#drbdadm secondary dbdata

#drbdadm -- --discard-my-data connect dbdata

b.在主節點上,通過cat /proc/drbd檢視狀態,如果不是wfconnection狀態,需要再手動連線:

#drbdadm connect dbdadta

CentOS5 5系統安裝

最近一段時間在折騰linux,今天搞了一天終於搭建成功,其中遇到不少的問題,現在記錄下來方便查詢。先從裝系統開始 0 首先要設定計算機的bios啟動順序為光碟機啟動,儲存設定後將安裝光碟放入光碟機,重新啟動計算機。1 出現centos安裝介面 2 選擇skip跳過不測試光碟 3 選擇next下一步 ...

centos5 5 安裝中文支援

1,安裝中文支援包。yum install fonts chinese yum install fonts iso8859 2 lang zh cn.utf 8 sysfont lat0 sun16 注 若是圖形介面,可直接通過language來設定 3,安裝中文輸入法 yum install sc...

Centos 5 5 編譯安裝Mysql5 5

環境 root linux lsb release a lsb version core 3.1 ia32 core 3.1 noarch graphics 3.1 ia32 graphics 3.1 noarch distributor id centos description centos r...