日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS )

發布時間:2023/12/10 windows 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

理論拓撲

環境準備:?

N 臺 Linux 測試服務器?

操作系統版本? CentOS 6.5?32bit?

***系統分區要求:需要為格式化的空分區***?

IP 地址:? mfsmaster:10.3.0.81????心跳 ip??192.168.1.11?

mfsbackup:10.3.0.82????心跳 ip??192.168.1.12?

#######All?machine?do?it?############################?

更改 yum 源 mv /etc/yum.repos.d/CentOS‐Base.repo /etc/yum.repos.d/CentOS‐Base.repo.backup cd /etc/yum.repos.d/ wget http://mirrors.163.com/.help/CentOS5‐Base‐163.repo yum makecache yum install ‐y kernel‐headers kernel‐devel

####################mfmaster?config###################?

vi?/etc/sysconfig/network? hostname=mfsmaster? ? vi?/etc/hosts? ? #add?line10.3.0.81?mfsmaster? 10.3.0.82?mfsbackup?

#########copy?hosts?file?to?10.3.0.82################?

scp?/etc/hosts?root@10.3.0.82:/etc/?

##############mfsbackup?config#####################?

vi?/etc/sysconfig/network? hostname=mfsbackup??

####################download?resource?and?scp?to?mfsbackup#############?

mfsmaster? mkdir?/usr/src/download?

####download?drdb##############

wget?http://oss.linbit.com/drbd/8.4/drbd‐8.4.0.tar.gz?

####download?heartbeat##############?

wget?http://hg.linux‐ha.org/heartbeat‐STABLE_3_0/archive/STABLE‐3.0.4.tar.bz2? scp?‐a?/usr/src/download?root@10.3.0.82?

############install?drbd######################?

tar?zxvf?drbd‐8.4.0.tar.gz? cd?drbd‐8.4.0? ./configure?‐‐prefix=/usr/local/drbd?? make?&&?make?install?

##########yum? 源安裝 drbd?

yum?install?‐y?kmod‐drbd83?drbd83? 檢查 drbd? 模塊? lsmod?|?grep?‐i?drbd?drbd??????????????????228528??0?? 假如為空,需要導入 drbd 模塊? modprobe?drbd? ?? vi?/etc/drbd.conf? ? global?{?usage‐count?yes;?}? common?{?syncer?{?rate?50M;?}?}? resource?r0?{?protocol?C;?? ? net?{? ???????? cram‐hmac‐alg?sha1;? ???????shared‐secret?"secret?string";? ???? }? #?every?machine?must?be?use?the?"on"?beginon?mfsmaster?{? ????#?/dev/drbd1?use?the?"/dev/sda1"? ???????? device????/dev/drbd1;? ???????disk??????/dev/sdb1;? ????????? #?set?DRBD?port,used?connection?to?other?machine? ???????address???10.3.0.81:7898;? ???????? meta‐disk??internal;? ???????}? ??? on?mfsbackup?{? ???????? device????/dev/drbd1;? ???????? disk??????/dev/sdb1;? ???????? address???10.3.0.82:7898;? ???????? meta‐disk??internal;? ???????? }? }? 初始化資源組???? 格式:drbdadm?create‐md?resource_name?? drbdadm?create‐md?r0?

###########初次運行提示信息###############?

‐‐==??Thank?you?for?participating?in?the?global?usage?survey??==‐‐? The?server's?response?is:? you?are?the?12052th?user?to?install?this?version? Writing?meta?data...? initializing?activity?log? NOT?initialized?bitmap? New?drbd?meta?data?block?successfully?created.? success? ? service?drbd?start? ________________________________________________________________________

############提示信息#################?

Starting?DRBD?resources:?[?? r0? Found?valid?meta?data?in?the?expected?location,?1011671040?bytes?into?/dev/sdb1.? d(r0)?s(r0)?n(r0)?]..........? ***************************************************************? ? DRBD's?startup?script?waits?for?the?peer?node(s)?to?appear.? ? ‐?In?case?this?node?was?already?a?degraded?cluster?before?the? ???reboot?the?timeout?is?0?seconds.?[degr‐wfc‐timeout]? ? ‐?If?the?peer?was?available?before?the?reboot?the?timeout?will? ???expire?after?0?seconds.?[wfc‐timeout]? ???(These?values?are?for?resource?'r0';?0?sec?‐>?wait?forever)? ? To?abort?waiting?enter?'yes'?[??20]:? .? ________________________________________________________________________? cat?/proc/drbd? ________________________________________________________________________? version:?8.3.8?(api:88/proto:86‐94)? GIT‐hash:? d78846e52224fd00562f7c225bcc25b2d422321d? build? by? mockbuild@builder10.centos.org,?2010‐06‐04?08:04:16? ? 1:?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:b?oos:987896? 對輸出的含義解釋如下:? ro 表示角色信息,第一次啟動 drbd 時,兩個 drbd 節點默認都處于 Secondary 狀態,? ds 是磁盤狀態信息,“Inconsistent/Inconsisten”,即為“不一致/不一致”狀態,表示兩個節 點的磁盤數據處于不一致狀態。? Ns 表示網絡發送的數據包信息。? Dw 是磁盤寫信息? Dr 是磁盤讀信息? ? 在 MFSMASTER? 設置主節點? ? 初次運行? drbdadm?‐‐?‐‐overwrite‐data‐of‐peer?primary?all? /sbin/drbdadm?primary?r0? ? 主備節點切換? 主備節點切換有兩種方式,分別是停止 drbd 服務切換和正常切換,依次介紹:? 停止 drbd 服務切換? 1.? 關閉主節點服務切換? 此時掛載的 drbd 分區就自動在主節點卸載了,然后在備用節點執行切換命令:? drbdadm?primary?all? 此時會報錯:? State?change?failed:?(‐7)?Refusing?to?be?Primary?while?peer?is?not?outdated? Command?'drbdsetup?2?primary'?terminated?with?exit?code?11? 因此,必須在備用節點執行如下命令:? drbdsetup?/dev/drbd1?primary?–o? 或者? drbdadm?‐‐?‐‐overwrite‐data‐of‐peer?primary?all? 此時就可以正常切換了。? 當在備用節點執行切換到主節點命令后,原來的主用節點自動變為備用節點。無需在主用節 點再次執行切換到備用節點的命令。? 2.? 正常切換? 在主節點卸載磁盤分區,? umount?/mnt/mfs? 然后執行? drbdadm?secondary?all? 如果不執行這個命令,直接在備用節點執行切換到主節點的命令,會報錯:? 2:?State?change?failed:?(‐1)?Multiple?primaries?not?allowed?by?config? Command?'drbdsetup?2?primary'?terminated?with?exit?code?11? 接著,在備用節點執行? drbdadm?primary?all? 最后在備用節點掛載磁盤分區即可:? mount?/dev/drbd1??/mnt/mfs? DRBD 腦裂后的處理:? 腦裂后,兩個節點間數據不同步,主從關系失效,需要按下面的步驟修復:? a.在從節點如下操作:? #drbdadm?secondary?all? #drbdadm?‐‐?‐‐discard‐my‐data?connect?all? b.在主節點上,通過 cat?/proc/drbd 查看狀態,如果不是 WFConnection 狀態,需要再手動連 接:? #drbdadm?connect?all

########################??HA??config###############################

安裝基礎包和 heartbeat 包?yum?install?‐y?libnet?heartbeat‐devel?heartbeat‐ldirectord?heartbeat? 配置 ha 環境? cp?/usr/share/doc/heartbeat‐2.1.3/ha.cf?/etc/ha.d/?? cp?/usr/share/doc/heartbeat‐2.1.3/authkeys?/etc/ha.d/?? cp?/usr/share/doc/heartbeat‐2.1.3/haresources?/etc/ha.d/?? ? 更改配置文件?? /etc/ha.d/ha.cf? logfile?/var/log/ha‐log.log? logfacility?????local0? keepalive?2? deadtime?30? warntime?10? udpport?694? ucast?eth1?192.168.1.12? auto_failback?on? node????mfsmaster? node????mfsbackup?hopfudge?1? ? 更改配置文件?? /etc/ha.d/authkeys? auth?1? 1?crc? 更改 authkeys? 權限為 600? chmod?600?/etc/ha.d/authkeys? ? 更改配置文件?? /etc/ha.d/haresource? mfsmaster??Initdrbd??10.3.0.83?mfsmaster??mfsmaster??10.3.0.83? mfsmaster??10.3.0.83?httpd???? #測試 heartbeat 專用,測試完畢之后可以注釋掉?

#第一個字段是主機名,是 uname?‐a 得到的?

# 第二個字段作用是執行當前的腳本命令此腳本可以定義在

#/etc/init.d/ 或 /etc/ha.d/resource.d,此處我定義了一個名叫 Initdrbd? 的腳本命令,具體的見下面演示。?

#第三個字段作用定義啟動 mfsmaster 進程,必須在/etc/init.d/或/etc/ha.d/resource.d 能找到 的可執行的腳本文件。?

#第四個字段作用是啟動虛擬的 IP?

編輯 Initdrbd?

vi?/etc/ha.d/resource.d/Initdrbd? #!/bin/shunset?LC_ALL;?export?LC_ALL?unset?LANGUAGE;?export?LANGUAGE? prefix=/usr? exec_prefix=/usr? .?/etc/ha.d/shellfuncs? ?? case?"$1"?in? ??? 'start')? ? drbdadm?primary?r0? ? mount?/dev/drbd1?/mnt/mfs? ???????? ;;? ??? 'stop')? ? umount?/mnt/mfs? ? drbdadm??secondary?r0???????? ? ;;? 'restart')? ???????? ;;? *)? ???????? echo?"Usage:?$0?{?start?|??stop?|?restart?}"? ???????? ;;? esac? exit?0?

同步 master 與 backup 之間配置?

scp?/etc/ha.d/ha.cf?root@10.3.0.82:/etc/ha.d/? scp??/etc/ha.d/resource.d/Initdrbd?root@10.3.0.82:/etc/ha.d/resource.d/? scp??/etc/ha.d/haresources?root@10.3.0.82:/etc/ha.d/? scp??/etc/ha.d/authkeys?root@10.3.0.82:/etc/ha.d/?

測試內容?

主機 mfsmaster? vi?/var/www/html? ? <!DOCTYPE?HTML?PUBLIC?"‐//W3C//DTD?HTML?4.0?Transitional//EN">? <HTML>? ? <HEAD>? ?? <TITLE>?New?Document?</TITLE>? ?? <META?NAME="Generator"?CONTENT="EditPlus">? ?? <META?NAME="Author"?CONTENT="">? ?? <META?NAME="Keywords"?CONTENT="">? ?<META?NAME="Description"?CONTENT="">? ? </HEAD>? ? <BODY>? ???mfsmaster?is?running? ? </BODY>? ? 主機 mfsbackup? ? <!DOCTYPE?HTML?PUBLIC?"‐//W3C//DTD?HTML?4.0?Transitional//EN">? <HTML>? ? <HEAD>? ?<TITLE>?New?Document?</TITLE>? ?? <META?NAME="Generator"?CONTENT="EditPlus">? ?<META?NAME="Author"?CONTENT="">? ?? <META?NAME="Keywords"?CONTENT="">? ?? <META?NAME="Description"?CONTENT="">? ? </HEAD>? ? <BODY>? ??? mfsbackup?is?running? ? </BODY> 主機 mfsbackup? ? <!DOCTYPE?HTML?PUBLIC?"‐//W3C//DTD?HTML?4.0?Transitional//EN">? <HTML>? ? <HEAD>? ?? <TITLE>?New?Document?</TITLE>? ?? <META?NAME="Generator"?CONTENT="EditPlus">? ?? <META?NAME="Author"?CONTENT="">? ?? <META?NAME="Keywords"?CONTENT="">? ?? <META?NAME="Description"?CONTENT="">? ? </HEAD>? ? <BODY>? ??? mfsbackup?is?running? ? </BODY>?

測試? ?
a).? 兩臺機器分別啟動,并且啟動 heartbeat?????

? b).? 然后在兩臺機器意外的其他機器上輸入 http://?10.3.0.83?

c).? 正常會顯示 mfsmaster?is?running,?

d).? 把 mfsmaster 宕機或者關閉 heartbeat,? 則會出現 mfsbackup 接管工作的狀態,刷新瀏覽 器出現 mfsbackup?is?running?

e).? 恢復 mfsmaster,過數秒后刷新瀏覽器出現 mfsmaster?is?running,?

f).? 測試成功? Note:如果輸入 http://?10.3.0.83? 出現錯誤,請檢查配置文件里面的服務是否寫對了,查看日 志文件看服務是否起來了,如果確定全部運行正常,還是沒有 WEB 頁面顯示結果,請檢查 防火墻。?

MFS??環境部署?

由于搭建的環境屬于高可用環境,需要兩臺服務器的用戶 ID、組 ID 都要保持一致? 創建組? :? groupadd?‐g?600?mfs? 創建用戶: useradd?mfs?‐u?600?‐g?mfs? ? cd?/usr/src? wget? http://pro.hit.gemius.pl/hitredir/id=0sWa0S8ft4sTAHF1bGAAEZPcP3ziyq7f9SdhoQf7oeT.c7/url=m oosefs.org/tl_files/mfscode/mfs‐1.6.20‐2.tar.gz? tar?zxvf?mfs‐1.6.20‐2.tar.gz? cd?mfs‐1.6.20? ./configure? ‐‐prefix=/mnt/mfs? ‐with‐default‐user=mfs? ‐with‐default‐group=mfs? ‐‐disable‐mfschunkserver?‐‐disable‐mfsmount?make?&&?make?install? 配置 mfs 文件? cd?/mnt/mfs/etc? cp?mfsmaster.cfg.dist?mfsmaster.cfg?cp?mfsmetalogger.cfg.dist?mfsmetalogger.cfg?cp?mfsexports.cfg.dist?mfsexports.cfg? cd?/mnt/mfs/var/mfs/? cp?metadata.mfs.empty?metadata.mfs? ? scp?/etc/init.d/mfsmaster?root@10.3.0.82:/etc/init.d/? ? _______________________________________________________________________________

備份服務器配置 Backup?server?(metalogger)???10.3.0.84?

groupadd?mfs? useradd?‐g?mfs?mfs? tar?zxvf?mfs‐1.6.20‐2.tar.gz?? ./configure? ‐‐prefix=/usr/local/mfs? ‐sysconfdir=/etc? ‐‐localstatedir=/var/lib? ‐‐with‐default‐user=mfs?‐‐with‐default‐group=mfs?‐‐disable‐mfschunkserver?‐‐disable‐mfsmount? ? make?&&?make?install?cp?/etc/mfsmetalogger.cfg.dist?/etc/mfsmetalogger.cfg? 啟動 mfsmetalogger? /usr/local/mfs/sbin/mfsmetalogger?start?vi?/etc/rc.local? #add?this?lie?to?start?mfsmetalogger? /usr/local/mfs/sbin/mfsmetalogger?start?

存儲塊服務器 Chunk?servers? 安裝????10.3.0.85~10.3.0.86?

groupadd?mfs?useradd?‐g?mfs?mfs? tar?zxvf?mfs‐1.6.20‐2.tar.gz? ? ./configure? ‐‐prefix=/usr/local/mfs? ‐sysconfdir=/etc? ‐‐localstatedir=/var/lib? ‐‐with‐default‐user=mfs?‐‐with‐default‐group=mfs?‐‐disable‐mfsmaster? cp?/etc/mfschunkserver.cfg.dist?/etc/mfschunkserver.cfg? cp?/etc/mfshdd.cfg.dist?/etc/mfshdd.cfg? vi?/etc/mfshdd.cfg? #add?this?line?? /opt/mfschunks1? /opt/mfschunks2? ? 建立 mfs 存儲所用到的文件夾? mkdir?/opt/mfschunks1? mkdir?/opt/mfschunks2? 更改文件夾權限? chown?‐R?mfs:mfs?/opt/mfschunks1? chown?‐R?mfs:mfs?/opt/mfschunks2? 更改 host 文件? 10.3.0.83?????mfsmaster? 為了方便程序的自動運行,編輯 rc.local 文件?/usr/local/mfs/sbin/mfschunkserver?start? ? ? _______________________________________________________________________? 掛載客戶端? 相關設置? groupadd?mfs? useradd?‐g?mfs?mfs? ??? 安裝 fuse?wget?http://cdnetworks‐kr‐1.dl.sourceforge.net/project/fuse/fuse‐2.X/2.8.5/fuse‐2.8.5.tar.gz? ?tar?zxvf?fuse‐2.8.5.tar.gz? cd?fuse‐2.8.5? ./configure? ? ‐‐prefix=/usr? make? meke?install? cd?/usr/src? tar?zxvf?mfs‐1.6.20‐2.tar.gz?? cd?mfs‐1.6.20‐2? ./configure? ‐‐prefix=/usr/local/mfs? ‐sysconfdir=/etc? ‐‐localstatedir=/var/lib? ‐‐with‐default‐user=mfs?‐‐with‐default‐group=mfs?‐‐disable‐mfsmaster?‐‐disable‐mfschunkserver? ? 編輯 hosts 文件? 10.3.0.83?mfsmaster? ? mkdir?‐p?/mnt/mfs? ? mfsmount?/mnt/mfs?‐H?mfsmaster? ##################提示內容################? mfsmaster? accepted? connection? with? parameters:? read‐write,restricted_ip? ;? root? mapped? to? root:root?

集成與測試?

? heartbeat 與 drbd 的集成?

DRBD 的主從的切換依賴與 heartbeat 的服務,所以集成的關鍵點在于定義 Initdrbd 的腳本文 件的定義和 heartbeat 的服務定義文件/etc/ha.d/resource.d。如 server1? Initdrbd? 就是集成 DRBD 和 heartbeat。? ?

heartbeat 與 MFS 的集成?

與 DRBD 一樣,mfsmaster 的腳本文件定義與 heartbeat 的服務定義文件/etc/ha.d/resource.d 中即可。? ?

drbd? 與 mfs? 的集成? 在主服務器中,必須把MFS的安裝文件全部安裝到drbd的掛載目錄中去,安裝到塊設備上去, 所以在主從切換的時候,備份機器拿到安裝環境和主的一樣,那么通過同樣的方式來啟動 MFS 進程,達到切換切換啟動 MFS 的目的。? ?

測試? 兩臺 server 上啟動 DRBD,利用 cat?/proc/drbd? 查看啟動情況和網絡狀態?

主機器上顯示 Primary/Secondary? 備份機器上顯示 Secondary/Primary,啟動成功

? 啟動 heartbeat,通過日志查看 heartbeat 包括關聯的服務加載的情況,tail? –f
/var/log/ha_log/xxx.log?

在主機器上 Ps? 的方式查看 heartbeat? 和 MFS 進程,確保服務啟動,如果沒有啟動,可手動 在啟動一次。

此時備份機器的 mfs 沒有啟動。? 停止主服務的 heartbeat,查看主服務的日志,發現所有的關聯服務都會被關閉,包括 drbd,mfs,vip 等。?

查看備份機器的日志,發現已經開始啟動關聯的服務,此時備份機器上 cat?/proc/drbd? 出現 Primary/Secondary? 主機器上顯示 Secondary/Primary,說明 DRBD 切換成功,然后查看 mfs 是否啟動,如果啟動成功,

恭喜您,高可用的 MFS 文件分布式系統已經搭建好了

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的高可用的 MFS 文件分布式系统(Drdb+heartbeat+MFS )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。