• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2016-02-13 06:33:59浩,要
    關(guān)鍵詞:備機(jī)宕機(jī)熱備

    鄭 浩,要 鹍

    (吉林師范大學(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)方式是通過網(wǎng)絡(luò)來鏡像整個(gè)設(shè)備.筆者通過對(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)支持庫: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ù)鏡像到兩塊容量相同的磁盤中,通過磁盤的鏡像實(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ù)熱備,但無法判定主機(jī)與備機(jī)的工作狀態(tài),當(dāng)主機(jī)宕機(jī)后只能保證數(shù)據(jù)不丟失,但無法自動(dòng)地切換服務(wù)讓備機(jī)代替主機(jī)繼續(xù)進(jìn)行服務(wù)[2].而HeartdBeat通過心跳IP可以實(shí)時(shí)監(jiān)控主、備機(jī)工作狀態(tài).當(dāng)主機(jī)宕機(jī)后通過事先編寫好的腳本文件,備機(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,避免安裝過程中報(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無法判斷哪一方為主機(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

    通過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è)配置過程結(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ù).

    [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

    猜你喜歡
    備機(jī)宕機(jī)熱備
    島內(nèi)人口普查剛啟動(dòng)就遇“宕機(jī)”
    熱備動(dòng)車組配置方案優(yōu)化模型
    東海區(qū)實(shí)時(shí)海洋觀測(cè)數(shù)據(jù)庫雙機(jī)熱備系統(tǒng)解決方案
    基于集中采購(gòu)的分布式系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    一起民航氣象數(shù)據(jù)庫系統(tǒng)進(jìn)程頻繁宕機(jī)故障分析及處理方法
    科技視界(2017年2期)2017-04-18 18:19:54
    艾默生網(wǎng)絡(luò)能源發(fā)布《2016年數(shù)據(jù)中心宕機(jī)成本》
    青海廣播電視大學(xué)校園網(wǎng)升級(jí)改造探討
    儀表著陸系統(tǒng)下滑臺(tái)備機(jī)故障的分析與解決
    紫光云計(jì)算機(jī)升級(jí) 支持信息化建設(shè)
    紫光云計(jì)算機(jī)升級(jí)虛擬化模塊
    剑川县| 辽中县| 青浦区| 和政县| 宜良县| 元氏县| 海林市| 赞皇县| 海安县| 同心县| 鱼台县| 股票| 瑞丽市| 福清市| 湖南省| 山西省| 阿拉善盟| 丹阳市| 门源| 钟山县| 长沙市| 荥经县| 巴马| 从化市| 昌江| 文昌市| 泽州县| 施秉县| 深泽县| 海兴县| 封开县| 乳山市| 苍山县| 文水县| 赣州市| 郓城县| 常德市| 红河县| 彭阳县| 鄂温| 梅河口市|