• 
    

    
    

      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í)虛擬化模塊
      巴林左旗| 漯河市| 镇江市| 洛南县| 赤城县| 新昌县| 南昌市| 许昌县| 巴东县| 沛县| 康平县| 南宫市| 桂东县| 华亭县| 石柱| 巴中市| 顺义区| 仙居县| 横峰县| 治县。| 福建省| 乌什县| 旌德县| 天镇县| 闽清县| 白银市| 邵阳市| 永修县| 龙山县| 揭东县| 资阳市| 津南区| 南昌市| 黄龙县| 福泉市| 方城县| 南漳县| 韩城市| 香格里拉县| 平顶山市| 获嘉县|