国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DRBD實(shí)現(xiàn)虛擬化系統(tǒng)的雙機(jī)熱備

2016-02-13 06:33浩,要
關(guān)鍵詞:熱備磁盤虛擬化

鄭 浩,要 鹍

(吉林師范大學(xué) 信息網(wǎng)絡(luò)中心,吉林 四平 136000)

?

基于DRBD實(shí)現(xiàn)虛擬化系統(tǒng)的雙機(jī)熱備

鄭 浩,要 鹍

(吉林師范大學(xué) 信息網(wǎng)絡(luò)中心,吉林 四平 136000)

DRBD的全稱Distributed Replicated Block Device是由內(nèi)核模塊、相關(guān)腳本組成,主要用以構(gòu)建高可用性的集群.其實(shí)現(xiàn)方式是通過(guò)網(wǎng)絡(luò)來(lái)鏡像整個(gè)設(shè)備.筆者通過(guò)對(duì)DRBD在虛擬化應(yīng)用系統(tǒng)中的實(shí)際部署總結(jié)了一些經(jīng)驗(yàn)和優(yōu)化方案,DRBD對(duì)集群的數(shù)據(jù)安全有至關(guān)重要的作用,也可以實(shí)現(xiàn)系統(tǒng)的容災(zāi)和備份.該文主要描述了DRBD的配置與實(shí)現(xiàn).

集群;DRBD;虛擬化;熱備

1 系統(tǒng)調(diào)試平臺(tái)、運(yùn)行環(huán)境

系統(tǒng)調(diào)試平臺(tái):vCenter,centos6.5(Server),centos6.5(Client).

系統(tǒng)支持庫(kù):gcc,gcc-c++ ,glibc,flex,kernel-devel,kernel-headers.

系統(tǒng)調(diào)試軟件:Drbd8.4.3,headbate.

2 系統(tǒng)部署、調(diào)試、實(shí)現(xiàn)

2.1 DRBD的主要功能

DRBD系統(tǒng)由主節(jié)點(diǎn)和備節(jié)點(diǎn)兩部分構(gòu)成.主節(jié)點(diǎn)和備節(jié)點(diǎn)分別存儲(chǔ)著相同的鏡像數(shù)據(jù)并保持著實(shí)時(shí)同步.其存儲(chǔ)方式類似于服務(wù)器中RAID1存儲(chǔ)( RAID1的存儲(chǔ)是把相同的數(shù)據(jù)鏡像到兩塊容量相同的磁盤中,通過(guò)磁盤的鏡像實(shí)現(xiàn)數(shù)據(jù)冗余).

DRBD的備份方式與其不同的是當(dāng)數(shù)據(jù)寫入本地磁盤的同時(shí)還會(huì)發(fā)送給網(wǎng)絡(luò)中另外一臺(tái)服務(wù)器(備機(jī))一份相同的數(shù)據(jù),數(shù)據(jù)會(huì)以完全相同的形式儲(chǔ)存在主機(jī)與備機(jī)中,并保證IO的一致性.這種存儲(chǔ)方式最大的優(yōu)點(diǎn)就是當(dāng)主機(jī)出現(xiàn)宕機(jī)時(shí)備機(jī)中會(huì)有與主機(jī)完全相同的數(shù)據(jù)作為備用,將數(shù)據(jù)損壞、丟失風(fēng)險(xiǎn)降到最低.

2.2 DRBD的主要應(yīng)用

DRBD主要應(yīng)用于對(duì)服務(wù)器的數(shù)據(jù)熱備實(shí)現(xiàn)數(shù)據(jù)冗余,在眾多的高可用集群解決方案中DRBD+HeartdBeat[1]是一個(gè)比較成熟和廉價(jià)的方案,DRBD可以實(shí)現(xiàn)數(shù)據(jù)熱備,但無(wú)法判定主機(jī)與備機(jī)的工作狀態(tài),當(dāng)主機(jī)宕機(jī)后只能保證數(shù)據(jù)不丟失,但無(wú)法自動(dòng)地切換服務(wù)讓備機(jī)代替主機(jī)繼續(xù)進(jìn)行服務(wù)[2].而HeartdBeat通過(guò)心跳IP可以實(shí)時(shí)監(jiān)控主、備機(jī)工作狀態(tài).當(dāng)主機(jī)宕機(jī)后通過(guò)事先編寫好的腳本文件,備機(jī)將自動(dòng)升級(jí)為主機(jī)接管資源和服務(wù),當(dāng)主機(jī)可用后,備機(jī)交還服務(wù)和資源并進(jìn)行同步數(shù)據(jù),最大程度地保障了服務(wù)的連續(xù)性和數(shù)據(jù)的安全性.

2.3 熱備解決方案

在進(jìn)行安裝配置之前要對(duì)操作系統(tǒng)可能對(duì)安裝造成影響的因素進(jìn)行排除.

(1)關(guān)閉iptables和SELINUX,避免安裝過(guò)程中報(bào)錯(cuò).

# serviceiptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

SELINUX=disabled

(2)設(shè)置hosts文件drbd1.example.com為主節(jié)點(diǎn)、drbd2.example.com為備節(jié)點(diǎn).

# vi /etc/hosts

192.168.5.72 drbd1.example.com drbd1

192.168.5.73 drbd2.example.com drbd2

(3)在兩臺(tái)虛擬機(jī)分別添加一塊40G硬盤sdb作為DRBD,分別分區(qū)為sdb1,大小1G,并在本地系統(tǒng)創(chuàng)建/hao目錄,不做掛載操作.

# fdisk /dev/sdb

# mkdir /hao

(4)時(shí)間同步:DRBD對(duì)主機(jī)與備機(jī)對(duì)時(shí)間差要求相對(duì)嚴(yán)格,要保證主機(jī)與備機(jī)時(shí)間的一致性[3].

# ntpdate -u asia.pool.ntp.org

(5)更改主機(jī)名:修改network配置文件主機(jī)名改為Server,備機(jī)名改為Client.

(Server)

# vi /etc/sysconfig/network

HOSTNAME=Server.example.com

(Client)

# vi /etc/sysconfig/network

HOSTNAME=Client.example.com

(6)DRBD的安裝配置:

安裝依賴包:(Server,Client)

# yum install gccgcc-c++ make glibc flex kernel-devel kernel-headers

(7)安裝DRBD:(Server,Client).

# wget http://oss.linbit.com/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/

# make install

# mkdir -p /usr/local/drbd/var/run/drbd

# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d

# chkconfig --add drbd

# chkconfigdrbd on

加載DRBD模塊:

# modprobedrbd

(8)參數(shù)配置:修改主機(jī)和備機(jī)主配置文集drbd.conf.

# vi /usr/local/drbd/etc/drbd.conf

清空配置文件內(nèi)容,添加如下配置:

resourceNEWR0{

net{

timeout30;

connect-int5;

ping-int5;

max-buffers1024;

max-epoch-size1024;

}

syncer { rate 30M;}

onServer.example.com{

device/dev/drbd0;

disk /dev/sdb1;

address 192.168.5.72:7788;#主機(jī)ip地址、端口號(hào)配置

meta-disk internal;

}

onClient.example.com{

device/dev/drbd0;

disk/dev/sdb1;

address 192.168.5.73:7788;#備機(jī)ip地址、端口號(hào)配置

meta-disk internal;

}

}

(9)創(chuàng)建DRBD設(shè)備并激活NEWR0資源:(Server,Client).

# mknod /dev/drbd0 b 147 0

# drbdadm create-md NEWR0

等待片刻,顯示success表示DRBD塊創(chuàng)建成功

Writing meta data...

New drbdmeta data block successfully created.

--== Creating metadata ==--

As with nodes, we count the total number of devices mirrored by DRBDat The counter works anonymously. It creates a random number to identifythe device and sends that random number, along with the kernel and

DRBD version, to usage.drbd.org.

nu=716310175600466686&ru=15741444353112217792&rs=1085704704

* If you wish to opt out entirely, simply enter 'no'.

* To continue, just press [RETURN]

success

再次輸入該命令:

# drbdadm create-md NEWR0

成功激活NEWR0

[need to type 'yes' to confirm] yes

New drbdmeta data block successfully created.

(10)啟動(dòng)DRBD服務(wù)需要主從共同啟動(dòng)才能生效.

# servicedrbd start

(11)查看狀態(tài):(Server,Client).

# cat /proc/drbd

# cat /proc/drbd

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by

2013-05-27 20:45:19

0: cs:Connectedro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----

ns:135 nr:0 dw:135dr:113 al:3 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

這里ro:Secondary/Secondary表示兩臺(tái)主機(jī)的狀態(tài)都是備機(jī)狀態(tài),ds是磁盤狀態(tài)Inconsistent顯示的狀態(tài)內(nèi)容為“不一致”,這是因?yàn)镈RBD無(wú)法判斷哪一方為主機(jī),應(yīng)以哪一方的磁盤數(shù)據(jù)作為標(biāo)準(zhǔn).

(12)將Server.example.com主機(jī)配置為主節(jié)點(diǎn):(Server).

# drbdsetup /dev/drbd0 primary

再次使用at /proc/drbd0進(jìn)行查看得到如下結(jié)果.

ro在主從服務(wù)器上分別顯示 Primary/Secondary和Secondary/Primary

ds顯示UpToDate/UpToDate表示主從配置成功.

(13)掛載DRBD:(Server).

從剛才的狀態(tài)上看到mounted和fstype參數(shù)為空,所以我們這步開始掛載DRBD到系統(tǒng)目錄

# mkfs.ext4 /dev/drbd0

# mount /dev/drbd0 /hao

Secondary節(jié)點(diǎn)上不允許對(duì)DRBD設(shè)備進(jìn)行任何操作,包括只讀,所有的讀寫操作只能在Primary節(jié)點(diǎn)上進(jìn)行,只有當(dāng)Primary節(jié)點(diǎn)掛掉時(shí),Secondary節(jié)點(diǎn)才能提升為Primary節(jié)點(diǎn)繼續(xù)工作.

(14)模擬DRBD1故障,DRBD2接管并提升為Primary.

在Server服務(wù)器進(jìn)行操作.

# cd /hao

# touch 1 2 3 4 5

# cd ..

# umount /hao

# drbdsetup /dev/drbd0 secondary

在Client服務(wù)器進(jìn)行操作

# drbdsetup /dev/drbd0 primary

# mount /dev/drbd0 /hao

# cd /hao

# touch 6 7 8 9 10

# ls

1 10 2 3 4 5 6 7 8 9 lost+found

# servicedrbdstatus

drbd driver loaded OK; device status:

version: 8.4.3 (api:1/proto:86-101)

GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build

Connected Primary/Secondary UpToDate/UpToDate C /hao ext4

通過(guò)service drbd status命令查看運(yùn)行狀態(tài)可以看到/hao資源掛載成功,本機(jī)為Primary主節(jié)點(diǎn)、備機(jī)Secondary節(jié)點(diǎn)運(yùn)行正常如備節(jié)點(diǎn)故障Secondary位置顯示Unknown.至此整個(gè)配置過(guò)程結(jié)束.

3 總結(jié)

該方案實(shí)現(xiàn)了虛擬化系統(tǒng)的數(shù)據(jù)熱備,解決了由于服務(wù)器單點(diǎn)故障對(duì)數(shù)據(jù)造成的威脅,而熱備技術(shù)和心跳技術(shù)的結(jié)合可以實(shí)現(xiàn)自動(dòng)判斷主宕機(jī)并實(shí)現(xiàn)主、備機(jī)的切換,故障發(fā)生時(shí)都能在極短時(shí)間恢復(fù)服務(wù)(小于60秒),如再加入云端監(jiān)控系統(tǒng)自動(dòng)識(shí)別故障點(diǎn)短信報(bào)警,就可以做到7*24小時(shí)無(wú)人值守服務(wù).

[1]Florian Haas,PhilippReisner,LarsEllenberg The DRBD User's Guide[M].2011,08,02.

[2] Zoratti I.MYSQL sectity best practices[C]//Crime and Security,2006,The Institution of Engineering and Technology Conferenc on,2006:183-198.

[3] Suzumura T,Trent S,TatsuboriM,et al.Performance comparison of Web service engines in PHP,java and C[C]//IEEE International Conference on Web Services,2008:385-392.

(責(zé)任編輯:王前)

10.13877/j.cnki.cn22-1284.2016.08.023

2016-03-20

吉林省教育廳“十二五”項(xiàng)目“基于 B/S與P2P模式的高校網(wǎng)絡(luò)教學(xué)平臺(tái)建設(shè)”(20150410)

鄭浩,男,現(xiàn)為吉林師范大學(xué)信息網(wǎng)絡(luò)中心實(shí)驗(yàn)師.

TP29

A

1008-7974(2016)04-0069-03

猜你喜歡
熱備磁盤虛擬化
葉臘石聚合成型及其旋轉(zhuǎn)磁盤的制作方法
它的好 它的壞 詳解動(dòng)態(tài)磁盤
熱備動(dòng)車組配置方案優(yōu)化模型
東海區(qū)實(shí)時(shí)海洋觀測(cè)數(shù)據(jù)庫(kù)雙機(jī)熱備系統(tǒng)解決方案
解決Windows磁盤簽名沖突
一種應(yīng)用于分布式網(wǎng)絡(luò)的地址分配及熱備技術(shù)
基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
對(duì)基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
PostgreSQL熱備原理研究及流復(fù)制運(yùn)用
Windows系統(tǒng)下動(dòng)態(tài)磁盤卷的分析與研究
漳平市| 光泽县| 怀宁县| 民权县| 库车县| 大渡口区| 阿鲁科尔沁旗| 伊宁市| 富裕县| 彩票| 梁平县| 长治市| 吉林市| 奉节县| 西宁市| 延寿县| 京山县| 翁源县| 清原| 密云县| 行唐县| 阳原县| 油尖旺区| 临夏县| 尚义县| 黔西县| 巩义市| 梅河口市| 嵊泗县| 调兵山市| 建水县| 东辽县| 隆昌县| 三都| 漳平市| 佛山市| 芦山县| 吴堡县| 廊坊市| 精河县| 青海省|