分散式檔案系統MFS的基本用法以及高可用實現
實驗主機環境(redhat 6.5 x86_64bit)
ip | hostname | softwares to install |
---|---|---|
192.168.1.8 | cobbler1 | mfs-master cgi-server keepalived |
192.168.1.9 | cobbler2 | mfs-master cgi-server keepalived |
192.168.1.10 | cobbler3 | chunkserver |
192.168.1.11 | cobbler4 | chunkserver |
192.168.1.12 | cobbler5 | mfs-client |
實驗步驟
1.cobbler1,cobbler2安裝測試mfs-master 和 cgi-server
2.cobbler3,cobbler4安裝測試chunkserver
3.cobbler5安裝測試mfs-client
4.1.cobbler1,cobbler2安裝測試keepalived
5.cobbler1,cobbler2配置mfs高可用
1.cobbler1,cobbler2安裝測試mfs-master 和 cgi-server(兩臺主機操作相同)
安裝包本人已經上傳到百度雲盤,用到的rpm包如下:
yum install moosefs-cgi-3.0.80-1.x86_64.rpm moosefs-cgiserv-3.0.80-1.x86_64.rpm moosefs-master-3.0.80-1.x86_64.rpm -y
啟動服務:
mfsmaster start
mfscgiserv start
做好本地解析
/etc/hosts#cobbler1
192.168.1.8 mfsmaster
/etc/hosts#cobbler2
192.168.1.9 mfsmaster
此時進入/var/lib/mfs 可以看到 moosefs 所產生的資料: .mfsmaster.lock 檔案記錄正在執行的 mfsmaster 的主程序 metadata.mfs, metadata.mfs.back MooseFS 檔案系統的元資料 metadata 的映象 changelog.*.mfs 是 MooseFS 檔案系統元資料的改變日誌(每一個小時合併到 metadata.mfs中一次) Metadata 檔案的大小是取決於檔案數的多少(而不是他們的大小)。changelog 日誌的大小是取決於每小時操作的數目,但是這個時間長度(預設是按小時)是可配置的
2.cobbler3,cobbler4安裝測試chunkserver(兩臺主機同步)
yum install moosefs-chunkserver-3.0.80-1.x86_64.rpm -y#軟體安裝
mkdir /mnt/chunk123#建立儲存目錄,兩臺主機目錄要區分開
chown mfs.mfs /mnt/chunk123/ -R#修改目錄所有者
編輯配置檔案
[[email protected] ~]# sed -n '/#/!p' /etc/mfs/mfshdd.cfg
/mnt/chunk123
mfschunkserver start#啟動服務
做好解析之後訪問測試:
/etc/hosts#兩臺都做,可以指定mfsmaster為192.168.1.8或者192.168.1.9都可以,我這裡都指向了192.168.1.8
192.168.1.8 mfsmaster cobbler1
頁面訪問測試是否加入
3.cobbler5安裝測試mfs-client
yum install moosefs-client-3.0.80-1.x86_64.rpm -y
vim /etc/mfs/mfsmount.cfg#定義客戶端預設掛載
/mnt/mfs
vim /etc/hosts#做解析
192.168.1.8 mfsmaster cobbler1
mfsmount
cd /mnt/mfs/
[[email protected] mfs]# ls#以下列出的為手動建立的目錄,用來做資料測試的
test1 test2
[[email protected] mfs]# pwd
/mnt/mfs
mfssetgoal -r 1 test1#設定此目錄下資料的備份數為1
mfssetgoal -r 2 test2#設定此目錄下資料的備份數為2
cp /etc/passwd test1
cp /etc/passwd test2
根據上圖的結果可知cobbler4上存了兩份資料,分別來自test1和test2,我們去看一下:
4.1.cobbler1,cobbler2安裝測試keepalived
[[email protected] ~]# wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
[[email protected] ~]# tar -zxf keepalived-1.3.5.tar.gz
[[email protected] ~]# cd keepalived-1.3.5
[[email protected] ~]# ./configure --prefix=/usr/local/keepalived --with-init=SYSV
[[email protected] ~]# make && make install
[[email protected] ~]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[[email protected] ~]# chmod +x /etc/init.d/keepalived
[[email protected] ~]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[[email protected] ~]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[[email protected] ~]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
[[email protected] ~]# scp -r /usr/local/keepalived/ cobbler2:/usr/local/
因為安裝目錄都scp到cobbler2上了,所以cobbler2上只需要執行以下操作即可:
[[email protected] ~]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[[email protected] ~]# chmod +x /etc/init.d/keepalived
[[email protected] ~]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[[email protected] ~]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[[email protected] ~]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
啟動服務看是否正常:#最好1和2都測試一下
[[email protected] ~]# /etc/init.d/keepalived start
Starting keepalived:
[[email protected] ~]# ps -aux | grep keep
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 15261 0.0 0.0 37344 988 ? Ss 23:19 0:00 keepalived -D
root 15263 0.0 0.1 37344 1952 ? S 23:19 0:00 keepalived -D
root 15264 0.0 0.1 37344 1388 ? S 23:19 0:01 keepalived -D
root 20677 0.0 0.0 103272 880 pts/0 S+ 23:55 0:00 grep keep
5.cobbler1,cobbler2配置mfs高可用
cobbler1上
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id MFS_HA_MASTER#作為mfs高可用的MASTER
}
vrrp_script chk_mfs {
script "/etc/keepalived/ifalived_mfsmaster.sh"#不斷執行的服務檢測指令碼
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER#MASTER身份
interface eth1
virtual_router_id 51
priority 100#優先順序,初始一定要比BACKUP高
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_mfs#上面定義的指令碼呼叫
}
virtual_ipaddress {
192.168.1.99/24
}
notify_master "/etc/keepalived/mfs-data-sync.sh "#當它成為master之後要執行的指令碼,自己可以定義
}
cobbler2和cobbler1的大體配置一致,需要修改三處
服務監控指令碼(cobbler1和cobbler2一樣,要有執行許可權):
[[email protected] ~]# cat /etc/keepalived/ifalived_mfsmaster.sh
#!/bin/bash
STATUS=`ps -C mfsmaster --no-header | wc -l`
if [ $STATUS -eq 0 ]
then
mfsmaster start
sleep 3
if [ `ps -C mfsmaster --no-header | wc -l ` -eq 0 ]
then
killall -9 mfscgiserv
killall -9 keepalived
fi
fi
配置結束,因為到這裡高可用算是搭建起來了,後面將通過VIP來進行master切換,所以修改以下解析(五臺主機都做)
/etc/hosts
192.168.1.99 mfsmater
啟動所有服務之後會看到VIP在keepalived 的 master主機上
訪問頁面測試一下:
因為在mfsmaster切換的時候可能會出現資料不同步的問題,所以我們需要寫個資料同步的指令碼來做這件事情:
[[email protected] ~]# cat /etc/keepalived/mfs-data-sync.sh
#!/bin/bash
STATUS=`ip addr|grep 192.168.1.99|awk -F" " '{print $2}'|cut -d"/" -f1`
if [ $STATUS == 192.168.1.99 ];then
mfsmaster stop
/bin/rm -f /var/lib/mfs/*
/usr/bin/rsync -e "ssh -p22" -avpgolr 192.168.1.8:/var/lib/mfs/* /var/lib/mfs/
/usr/sbin/mfsmetarestore -m
mfsmaster -ai
sleep 3
echo "this server has become the master of MFS"
if [ $STATUS != 192.168.1.99 ];then
echo "this server is still MFS's slave"
fi
fi
然後將這個指令碼路徑加到剛才keepalived配置的notify_master引數後面,這樣每次進行master切換之後都會執行資料同步,如:
notify_master "/etc/keepalived/mfs-data-sync.sh "#當它成為master之後要執行的資料同步指令碼
後面就可以通過在一邊終止掉keepalived程序來進行故障模擬然後觀察vip的漂移以及這個過程的檔案系統可訪問性測試高可用。
相關推薦
分散式檔案系統MFS的基本用法以及高可用實現
實驗主機環境(redhat 6.5 x86_64bit) ip hostname softwares to install 192.168.1.8 cobbler1 mfs-master cgi-server keepali
linux學習之搭建高可用分散式檔案系統MFS
停止mfs [[email protected] ~]# umount /mnt/mfs/ [[email protected] chunk1]# mfschunkserver stop [[email protected] chunk1]# mfschunkserver sto
hadoop[4]-hdfs分散式檔案系統的基本工作機制
一、Namenode 和 Datanode HDFS採用master/slave架構。一個HDFS叢集是由一個Namenode和一定數目的Datanodes組成。Namenode是一箇中心伺服器,負責管理檔案系統的名字空間(namespace)以及客戶端對檔案的訪問。叢集中的Datanode一般是一個節點一
分散式檔案系統MFS、Ceph、GlusterFS、Lustre的比較
原文:http://blog.csdn.net/metaxen/article/details/7108958 MooseFS(MFS) Ceph GlusterFS Lustre Metadata
分散式檔案系統MFS部署
MFS 簡介 MFS 即Moosefs ,是一款網路分散式檔案系統,是一個將資料分散在多臺伺服器上,然後通過網路掛載在客戶端,使客戶端能像使用本地硬碟一樣儲存資料。MFS也像其他類Unix檔案系統一樣,包含了層級結構(目錄樹),儲存檔案屬性(許可權,最後訪問,最後修改等),
【GlusterFS學習之一】:GlusterFS分散式檔案系統的基本概念及搭建
最近因為工作的需要在接觸GlusterFS,在未來的一段時間之內應該都要與之打交道,剛剛接觸分散式檔案系統,對很多概念和機制都不是很清楚,通過一段時間的學習有一點淺顯的認識,那麼就把這段時間的瞭解到的
Notification的基本用法以及使用RemoteView實現自定義布局
解決 edi ngs 取消 ets lsp 過程 net tde Notification的作用 Notification是一種全局效果的通知,在系統的通知欄中顯示。既然作為通知,其基本作用有: 顯示接收到短消息、即時信息等 顯示客戶端的推送(廣告、優惠、新聞等)
Hadoop分散式檔案系統搭建以及基本操作
1. 環境搭建 jdk-1.8 jdk下載地址 export JAVA_HOME = /usr/lib/java/jdk1.7.0_21 export PATH =$JAVA_HOME/bin:$PATH hadoop-2.7.3 hadoop各個版本
如何搭建MFS分散式檔案系統(二)
chunkServer資料儲存節點上的操作記錄 1)關閉防火牆(selinux也要關閉,執行setenforce 0) [[email protected] ~]# /etc/init.d/iptables stop 2)建立mfs使用者和組 [[email protec
如何搭建MFS分散式檔案系統
1什麼是分散式檔案系統? 是一個具有容錯性的網路分散式檔案系統,它將資料分散存放在多個物理伺服器或單獨磁碟或分割槽上,確保一份資料 有多個備份副本,對於訪問MFS的客戶端或者使用者來說,整個分散式網路檔案系統叢集看起來就像一個資源一樣,也就是說呈現給使用者的是一個統一的資源。
Ubifs檔案系統和mkfs.ubifs以及ubinize工具的用法
轉載地址:https://blog.csdn.net/wjjontheway/article/details/8977871 Ubifs產生背景: 無排序區塊影象檔案系統(Unsorted Block&nbs
【Fastdfs】Fastdfs分散式檔案系統的安裝部署使用,以及fastdfs連線池connectionpool編寫使用
環境:centos 7.X 預編譯安裝元件 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libevent-dev git -y 以上安裝完,後續的各
ceph儲存分散式系統設計系列 -- 基本原理及高可用策略
“分散式系統設計”系列第一篇文章,這篇文章主要介紹一些入門的概念和原理,後面帶來一些高可用、資料分佈的實踐方法!! ==> 分散式系統中的概念 ==> 分散式系統與單節點的不同 ==> 分散式系統特性 ==> 分散式系統設計策略 ==>
BigData_A_A_01-hdfs分散式檔案系統(2)高可用
楔子 Hadoop 3 高可用搭建記錄 1 zookeeper叢集 zoo.cfg 檔案配置資料檔案位置等資訊 #其他使用預設 dataDir=/opt/data/zk server.1=had2:2888:3888 server.2=had3:2888:3
SeaweedFS 1.15 釋出,高可擴分散式檔案系統
SeaweedFS 1.15 已釋出,這是一個簡單且高度可擴充套件的分散式檔案系統,主要有兩個目標:儲存數十億的檔案和快速響應! 更新內容: weed filer, volume, HCFS 報告原始檔案大小 Hadoop client (HCFS)
Hadoop分散式檔案系統(HDFS)的基本命令
轉載於:https://blog.csdn.net/zhaojw_420/article/details/531616241、-help[cmd] 顯示命令的幫助資訊./hdfs dfs -help ls12、-ls(r) 顯示當前目錄下的所有檔案 -R層層循出文件夾./hd
Nginx服務搭建負載均衡,反向代理,快取加速,訪問分散式檔案系統高可用
主配置檔案如下:[[email protected]~]#vim /usr/local/nginx/conf/nginx.conf server{ listen 8099 //埠號 location / { autoindex on; autoinde
mfs分散式檔案系統配置
MFS是什麼 MFS全稱MooseFS,是檔案管理系統的抽象層,將使用者的資料通過master之後,儲存在多個網路儲存節點上面,這個過程對於使用者來說時透明的,並且MFS具有很強大的網路容錯能力;MFS的特性 1.是一個通用的檔案系統,不需要商城應用軟體提供介面,直接可以進
centos7下MFS分散式檔案系統-實測沒問題!!!
實驗原理:MFS是一個具有容錯性的網路分散式檔案系統,它把資料分散在多個物理伺服器上,而呈現給使用者的則是一個統一的資源。實驗拓撲:192.168.80.181 Master server(主機名:www.aa.com)(元資料伺服器,在整個體系中負責管理檔案系統,維護元資料
Hadoop分散式檔案系統——HDFS概念以及hdfs讀寫資料
HDFS一流式資料訪問模式來儲存超大檔案,運行於商用硬體叢集上。 一、HDFS 的概念 1、資料塊: (1) 每個磁碟都有預設的資料塊大小,這是磁碟進行資料讀/寫的最小單位 (2) HDFS有資料塊的概念,預設是64M,hadoop2中是