新聞中心
實驗環(huán)境:

公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出瀍河免費做網(wǎng)站回饋大家。
(1) 使用centos6.5版本兩臺
(3) 兩臺虛擬機添加相同的虛擬硬盤,我采用的是10G
操作系統(tǒng) 主機名 IP drbd磁盤
CentOS6.5 local.aaa.com 192.168.1.13 /dev/sdb4
CentOS6.5 local2.aaa.com 192.168.1.12 /dev/sdb4
注意事項:
(1) 配置ip地址如果存在DNS請保證虛擬機的主機名符合FQDA,并在DNS上做正常解析,或者寫入hosts文件(/etc/hosts)
(2) 關(guān)閉selinux(setenforce 0)關(guān)閉iptables (service iptables stop)或者寫入規(guī)則
一、 DRBD準備
1、 yum配置
(1) 進入yum源配置目錄cd /etc/yum.repos.d
(2) 備份系統(tǒng)自帶的yum源mv CentOS-Base.repo CentOS-Base.repo.bak
(3) 下載163網(wǎng)易的yum源:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
(4) 更改文件名mv CentOS6-Base-163.repo CentOS-Base.repo
(5) 更新玩yum源后,執(zhí)行下邊命令更新yum配置,使操作立即生效yum clean all yum makecache
2、DRBD安裝
(1) 首先我們要升級內(nèi)核,升級之后我們重啟 yum -y update kernel
yum install kernel-devel 這里請注意要加載新的內(nèi)核
(2) rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
(3) 安裝DRBD yum -y install drbd83-utils kmod-drbd83
(4) 加載DRBD模塊到內(nèi)核 modprobe drbd
(5) 檢測DRBD是否安裝成功 lsmod | grep drbd
顯示信息:drbd 332493 0
(6) modprobe -l | grep -i drbd 可以查看路徑
安裝完成后會在/etc/init.d/drbd生成啟動腳本
3、 初始化磁盤
(1) 首先使用fdisk –l 確定你新加虛擬磁盤的盤號
二、 DRBD配置
(DRBD的配置文件主要分三個比分:global、common和resource。在運行的時候默認讀取配置文件的路徑是/etc/drbd.conf,這個文件描述了DRBD的一些配置參數(shù)以及設(shè)備與硬盤分區(qū)的映射關(guān)系,默認情況下是空的,不過在DRBD的源代碼包中包含了配置文件的樣例)
一般情況下global_common.conf(本次實驗文件所在目錄/etc/drbd.d/)文件僅包含global和common部分配置(理解為全局配置),在/etc/drbd.d/*.res的文件定義于一個資源(理解為主機定義)。
其實可以將DRBD配置整合到drbd.conf文件中,不過這樣做在資源比較多的情況下會變得混亂。
(1) 本次采用分布式配置首先我們來配置/etc/drbd.d/global_common.conf
內(nèi)容如下:
global {
usage-count no; #是否參加DRBD使用者統(tǒng)計,默認是參加
}
common {
syncer {rate 200M;} #主節(jié)點和備用節(jié)點同步時最大的網(wǎng)絡(luò)速率
protocol C; #使用DRBD的第三種同步協(xié)議,表示收到遠程主機的寫入確認后認為寫入完成
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ;halt -f";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ;halt -f";
local-io-error "echo o >/proc/sysrq-trigger ;halt -f";
fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";
pri-lost "echo pri-lost. Have a look at the log files. | mail -s 'DRBD Alert'root";
split-brain "/usr/lib/drbd/notify-splot-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
net { #DRBD同步時使用的驗證方式和密碼
cram-hmac-alg "sha1";
shared-secret "MySQL-HA";
}
disk { #使用dpod功能(drbd outdate-peer daemon)保證數(shù)據(jù)在同步時不能進行切換
on-io-error detach;
fencing resource-only;
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
}
(2) 其次我們在drbd.d目錄下創(chuàng)建以.res為后綴的文件,本次創(chuàng)建的文件是drbd.res目錄是/etc/drbd.d/
內(nèi)容如下:
resource r0 { #定義資源名稱為r0
on local.aaa.com { #每個主機的說明以on開頭 后面是主機名hostname
device /dev/drbd0; #定義DRBD使用磁盤的邏輯路徑
disk /dev/sdb4; #/dev/drbd0 使用的磁盤分區(qū)
address 192.168.1.13:7788; #設(shè)置DRBD的監(jiān)聽端口,與另一臺主機通信
meta-disk internal; #DRBD元數(shù)據(jù)存放方式 internal 內(nèi)部
}
on local2.aaa.com {
device /dev/drbd0;
disk /dev/sdb4;
address 192.168.1.12:7788;
meta-disk internal;
}
}
(3) 創(chuàng)建haclient組并設(shè)置權(quán)限 原因是:我們會使用drbd-peer-outdater fence-peer程序。使用該機制dopd心跳插件程序,就需要能夠調(diào)用drbdsetup和drbdmeta根特權(quán)。
命令如下:
groupadd haclient
chgrp haclient /sbin/drbdsetup
chmod o-x /sbin/drbdsetup
chmod u+s /sbin/drbdsetup
chgrp haclient /sbin/drbdmeta
chmod o-x /sbin/drbdmeta
chmod u+s /sbin/drbdmeta
(4) 使用scp 將配置文件復(fù)制到另一臺計算機上 scp 192.168.1.13:/etc/dbrd.d/* /etc/drbd.d/
并執(zhí)行g(shù)roupadd haclient
chgrp haclient /sbin/drbdsetup
chmod o-x /sbin/drbdsetup
chmod u+s /sbin/drbdsetup
chgrp haclient /sbin/drbdmeta
chmod o-x /sbin/drbdmeta
chmod u+s /sbin/drbdmeta
(5) 在啟動DBRD之前,需要分別在兩臺主機上的指定分區(qū)(這里是sdb4)上創(chuàng)建提供DRBD記錄信息的數(shù)據(jù)塊
drbdadm create-md r0(r0表示之前定義的資源)或者執(zhí)行drbdadm create-md all
正確的提示是:
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
(6) 在兩個節(jié)點上啟動DRBD服務(wù) 服務(wù)腳本位于/etc/init.d/drbd
/etc/init.d/drbd start
(7) 執(zhí)行cat /proc/drbd
輸出內(nèi)容如下
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
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:10482024
輸出解釋:
ro表示角色信息,第一次啟動DRBD時,兩個節(jié)點默認都處于Secondary狀態(tài)
ds表示磁盤狀態(tài)信息,“nconsistent/Inconsistent”即 “不一致/不一致”狀態(tài)表示兩個節(jié)點的磁盤數(shù)據(jù)不一樣
ns表示網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包信息
dw表示磁盤寫信息
dr表示磁盤讀信息
(8) 設(shè)置主用節(jié)點在默認情況下沒有主用節(jié)點和備用節(jié)點之分因此需要設(shè)置兩個主機的主次,選擇需要設(shè)置為主用節(jié)點的主機執(zhí)行以下命令
drbdsetup /dev/drbd0 primary -o 也可以執(zhí)行以下命令 drbdadm -- --overwrite-data-of-peer primary all
執(zhí)行之后需要設(shè)置哪個主用節(jié)點就可以使用另一條命令
/sbin/drbdadm primary r0 或者/sbin/drbdadm primary all
稍等片刻后查看/proc/drbd
輸出如下:
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2014-11-24 14:51:37
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:10482024 nr:0 dw:0 dr:10482696 al:0 bm:640 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
ro的狀態(tài)變成Primary/Secondary
ds狀態(tài)也變成UpToDate/UpToDate 表示實時同步
(9) 掛載DRBD設(shè)備在主節(jié)點上掛載以下操作
mkfs.ext4 /dev/drbd0
mount /dev/drbd0 /mnt (這里是掛載到mnt下根據(jù)需要自行掛載)
(10) 測試DRBD數(shù)據(jù)鏡像
在主節(jié)點的掛載點/mnt下創(chuàng)建一個文件
dd if=/dev/zero of=/mnt/ceshi.tmp bs=10M count=20
完成后接著查看備用主機上的文件是否同步過去了
首先先停止DRBD服務(wù),為了保證數(shù)據(jù)的一致性
/etc/init.d/drbd stop
mount /dev/sdb4 /mnt (這里掛載是/dev/sdb4物理分區(qū),因為DRBD在啟動的時候才會加載DRBD設(shè)備到系統(tǒng)中)
ls /mnt 即可查看到文件
檢查完成后umount卸載掛載點后在開啟服務(wù)
本文標題:CentOS6.5安裝配置DRBD
文章網(wǎng)址:http://www.dlmjj.cn/article/dhosehp.html


咨詢
建站咨詢
