http://www./docs/about/ http://oss./drbd/ 一般我們會在生產(chǎn)環(huán)境的MYSQL中用drbd +ha做master 備份,當然這是應(yīng)對中小訪問量,大的訪問量就上LVS了。 DRBD已經(jīng)是很多年的事,以前DRBD只是有一個LINUX的外部內(nèi)核模塊, 然而在高版本的LINUX內(nèi)核中,已經(jīng)集成了其中的這個模塊,在老的系統(tǒng)中我們常把這個包叫做KMOD-DRBD,其實就是內(nèi)核模塊安裝包,這是最重要的一個部分,通過調(diào)用內(nèi)核模塊達到網(wǎng)絡(luò)RAID1的功能。DRBD consists of two main components. The driver code in the kernel, and the user space tools to control, configure the driver, as well as integration programs and scripts that glues the DRBD system to cluster management software and other system components.由于這個內(nèi)核模塊已經(jīng)被集成到相對高版本的LINUX內(nèi)核中,因此可以這么看,低于Linux-2.6.33 kernel 內(nèi)核,必須安裝KMOD-DRBD模塊,高于這個版本的內(nèi)核則不用。有意思的是,在CENTOS5.X的時代,YUM INSTALLyum install -y drbd83 kmod-drbd83 既可以達到同時安裝DRBD內(nèi)核模塊和管理工具包的目的,但是到了CENTOS6就不行了。直接YUM INSTALL是行不通的。在這種情況下,如果要安裝二進制包文件,必須去找Binary packages provided by LINBIT,這是收費的。要么就是你升級內(nèi)核,KMOD這個模塊就不必安裝了,直接安裝管理包。CENTOS 6.3的內(nèi)核很不幸的是2.6.32,尚未達到2.6.33之上,所以必須升級內(nèi)核??碙INUX內(nèi)核與DRBD的對應(yīng)關(guān)系,相當明顯: 為了drbd,更新了內(nèi)核還是不支持,從2.6.32-431到2.6.32-642還是沒有用 在linux 2.6.33以后的版本中,drbd已經(jīng)集成到內(nèi)核中,但在cs7.2中好像沒有drbd.ko,但是在ubuntu14.04中有,所以只需要安裝用戶空間工具就行了 root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# cat /etc/issue Ubuntu 14.04.4 LTS \n \l root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# modprobe -r drbd root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# lsmod |grep drbd root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# modprobe drbd root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# lsmod |grep drbd drbd 339968 0 lru_cache 16384 1 drbd libcrc32c 16384 1 drbd root@wo-KVM:/lib/modules/4.2.0-27-generic/kernel/drivers/block# apt search drbd Sorting... Done Full Text Search... Done drbd8-utils/trusty 2:8.4.4-1ubuntu1 amd64 RAID 1 over TCP/IP for Linux (user utilities) 安裝drbd # wget http://oss./drbd/8.4/drbd-8.4.3.tar.gz # tar zxvf drbd-8.4.3.tar.gz # cd drbd-8.4.3 # ./configure --prefix=/usr/local/drbd --with-km # make KDIR=/usr/src/kernels/2.6.32-279.el6.x86_64/
yum -y install kernel-devel kernel-headers flex 注意:安裝kernel-devel一定要和你uname -r 看到的內(nèi)核版本一致,建議kernel-devel用本地源安裝,不要用網(wǎng)絡(luò)源安裝 [root@node1 soft]# tar zxf drbd-8.4.3.tar.gz [root@node1 soft]# cd drbd-8.4.3 [root@node1 drbd-8.4.3]# ./configure --prefix=/usr/local/drbd --with-km 注意:--with-km是啟用內(nèi)核模塊 [root@node1 ~]# make KDIR=/usr/src/kernels/2.6.32-358.el6.i686 注意KDIR的路徑 (這個內(nèi)核源碼路徑需要根據(jù)自己的系統(tǒng)修改) [root@node1 drbd-8.4.3]# make install [root@node1 ~]# mkdir -p /usr/local/drbd/var/run/drbd [root@node1 ~]# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/ [root@node1 ~]# chkconfig --add drbd [root@node1 ~]# chkconfig drbd on 安裝drbd模塊 回到剛剛解壓drbd的目錄,然后 [root@node1 drbd-8.4.3]# cd drbd [root@node1 drbd]# make clean [root@node1drbd]# make KDIR=/usr/src/kernels/2.6.32-358.el6.i686 [root@node1 drbd]# cp drbd.ko /lib/modules/`uname -r`/kernel/lib/ [root@node1 drbd]# modprobe drbd 查看模塊是否加載成功 [root@node1 drbd]# lsmod | grep drbd drbd 292307 0 先看看系統(tǒng)的內(nèi)核版本 # uname -r (目前的版本) 2.6.32-279.el6.x86_64 下面以安裝drbd模塊為例進行說明 正確安裝drbd模塊后,使用modprobe進行加載 # modprobe drbd FATAL: Module drbd not found. 出現(xiàn)如上錯誤 原因:這是因為系統(tǒng)默認的內(nèi)核并不支持此模塊,所以需要更新內(nèi)核 更新內(nèi)核的方法: 可以用 yum install kernel* 方式來更新。 如果你要節(jié)約點時間的話可以只更新一下的幾個包: kernel-devel kernel kernel-headers 更新后,記得要重新啟動操作系統(tǒng)?。?! # depmod 說明:在編譯并準備好一個Linux內(nèi)核加載模塊后,modprobe前必須先執(zhí)行命令depmod,此命令會生成新的modules.dep。 [root@bd2 ~]# depmod [root@bd2 ~]# modprobe drbd [root@bd2 ~]# lsmod|grep drbd drbd 325786 0 libcrc32c 1246 1 drbd 編輯配文 [root@bd2 ~]# vi /etc/drbd.conf resource r0{ protocol C; startup { wfc-timeout 0; degr-wfc-timeout 120;} disk { on-io-error detach;} net{ timeout 60; connect-int 10; ping-int 10; max-buffers 2048; max-epoch-size 2048; } syncer { rate 30M;} on bd1{ device /dev/drbd0; disk /dev/sdb1; address 172.16.2.1:7788; meta-disk internal; } on bd2{ device /dev/drbd0; disk /dev/sdb1; address 172.16.2.2:7788; meta-disk internal; } } 創(chuàng)建分區(qū) # fdisk /dev/sdb ---------------- n-p-1-1-'+1G'-w ---------------- # mkdir /data
創(chuàng)建DRBD設(shè)備并激活ro資源:(Primary,Secondary) # mknod /dev/drbd0 b 147 0 # drbdadm create-md r0 等待片刻,顯示success表示drbd塊創(chuàng)建成功 --== Thank you for participating in the global usage survey ==-- The server's response is:
you are the 19411th user to install this version no resources defined! 因為配文錯誤應(yīng)該是下面的位置,而不是/etc/drbd.conf [root@bd2 ~]# vi /usr/local/drbd/etc/drbd.conf [root@bd2 ~]# drbdadm create-md r0 Writing meta data... initializing activity log NOT initializing bitmap New drbd meta data block successfully created. success 命令匯總 [root@bd2 ~]# fdisk /dev/sdb [root@bd2 ~]# mkdir /data [root@bd2 ~]# depmod [root@bd2 ~]# modprobe drbd [root@bd2 ~]# lsmod |grep drbd [root@bd2 ~]# mknod /dev/drbd0 b 147 0 [root@bd2 ~]# drbdadm create-md r0 [root@bd1 ~]# service drbd start [root@bd2 ~]# drbdadm -- --overwrite-data-of-peer primary r0 [root@bd2 ~]# ps -ef|grep drbd root 1405 2 0 Aug11 ? 00:00:00 [drbd-reissue] root 1410 2 0 Aug11 ? 00:00:00 [drbd_submit] root 1417 2 0 Aug11 ? 00:00:52 [drbd_w_r0] root 1421 2 0 Aug11 ? 00:00:52 [drbd_r_r0] root 1426 2 0 Aug11 ? 00:00:01 [drbd_a_r0] root 1753 1692 0 12:02 pts/0 00:00:00 grep drbd [root@bd1 ~]# netstat -anput |grep 7788 tcp 0 40 172.16.2.1:7788 172.16.2.2:48538 ESTABLISHED - tcp 0 80 172.16.2.1:7788 172.16.2.2:53019 ESTABLISHED - [root@bd1 ~]# drbdadm cstate r0 Connected [root@bd1 ~]# drbdadm dstate r0 UpToDate/UpToDate [root@bd1 ~]# drbdadm role r0 Secondary/Primary [root@bd1 ~]# drbd-overview 0:r0 cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----- [root@bd2 ~]# service drbd status drbd driver loaded OK; device status: version: 8.4.3 (api:1/proto:86-101) GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@bd2, 2014-08-11 14:53:29 m:res cs ro ds p mounted fstype 0:r0 SyncSource Primary/Secondary UpToDate/Inconsistent C ... sync'ed: 90.0% (1648/16376)M [root@bd1 ~]# cat /proc/drbd version: 8.4.3 (api:1/proto:86-101) GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@bd2, 2014-08-11 14:53:29 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---n- ns:15643840 nr:0 dw:0 dr:15645336 al:0 bm:954 lo:0 pe:3 ua:1 ap:0 ep:1 wo:f oos:1129680 [=================>..] sync'ed: 93.3% (1100/16376)M finish: 0:01:35 speed: 11,824 (11,492) K/sec 第一次數(shù)據(jù)同步完成之后,就可以創(chuàng)建文件系統(tǒng)并掛載使用了,只能掛primary,備機只能接收主機數(shù)據(jù) [root@bd2 ~]# mkfs.ext3 /dev/drbd0 [root@bd2 /]# mount /dev/drbd0 /data/
|