三、MFS的安裝、部署、配置
測試環境:
IP | 作用 |
192.168.0.1 | master server |
192.168.0.2 | metalogger server |
192.168.0.3 | chunk server |
192.168.0.4 | chunk server |
192.168.0.5 | chunk server |
192.168.0.6 | mfs client |
3.1 Master Server
在192.168.0.1進行如下操作:
3.1.1 安裝:
$useradd mfs -s /sbin/nologin
$wget http://www.moosefs.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-2/
$./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
$make
$make install
$cd /usr/local/mfs/etc
$cp mfsmaster.cfg.dist mfsmaster.cfg#主配置文件
$cp mfsexports.cfg.dist mfsexports.cfg #被掛接目錄及權限配置
3.1.2 配置:
$vi /usr/local/mfs/etc/mfsmaster.cfg
# WORKING_ USER = mfs#運行master server 的用戶
# WORKING_ GROUP = mfs#運行master server 的組
# SYSLOG_IDENT = mfsmaster #master server 在syslog 中的標識,說明是由master serve 產生的
# LOCK_MEMORY = 0#是否執行mlockall()以避免mfsmaster 進程溢出(默認爲0)
# NICE_LEVEL = -19#運行的優先級(如果可以默認是-19; 注意: 進程必須是用root 啓動)
# EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg #被掛接目錄及其權限控制文件的存放位置
# DATA_PATH = /usr/local/mfs/var/mfs#數據存放路徑,此目錄下大致有三類文件,changelog,sessions 和stats;
# BACK_LOGS = 50#metadata 的改變log 文件數目(默認是50);
# REPLICATIONS_ DELAY_INIT = 300#延遲複製的時間(默認是300s);
# REPLICATIONS_ DELAY_DISCONNECT = 3600 #chunkserver 斷開的複製延遲(默認是3600);
# MATOML_LISTEN_HOST = *#metalogger 監聽的IP 地址(默認是*,代表任何IP);
# MATOML_LISTEN_PORT = 9419 #metalogger 監聽的端口地址(默認是9419);
# MATOCS_LISTEN_ HOST = *#用於chunkserver 連接的IP 地址(默認是*,代表任何IP);
# MATOCS_LISTEN_PORT = 9420 #用於chunkserver 連接的端口地址(默認是9420);
# MATOCU_LISTEN_HOST = *#用於客戶端掛接連接的IP 地址(默認是*,代表任何IP);
# MATOCU_LISTEN_PORT = 9421 #用於客戶端掛接連接的端口地址(默認是9421);
# CHUNKS_LOOP_TIME = 300#chunks 的迴環頻率(默認是:300 秒);# CHUNKS_DEL_LIMIT = 100
# CHUNKS_WRITE_REP_LIMIT = 1 #在一個循環裏複製到一個chunkserver 的最大chunk 數目(默認是1)
# CHUNKS_READ_REP_LIMIT = 5#在一個循環裏從一個chunkserver 複製的最大chunk 數目(默認是5)
# REJECT_OLD_ CLIENTS = 0#彈出低於1.6.0 的客戶端掛接(0 或1,默認是0)
注意:
·凡是用#註釋掉的變量均使用其默認值
·修改DATA_PATH指定的目錄要權限爲mfs,chown -R mfs:mfs /usr/local/mfs/var/mfs
·mfsexports 訪問控制對於那些老客戶是沒用的
·注意開通監聽的端口
$vi /usr/local/mfs/etc/mfsexports.cfg
#客戶端IP允許掛載的目錄客戶端擁有的權限
192.168.0.0/24/rw,alldirs,maproot=0# /標識MFS的根
192.168.0.0/24.rw# .標識MFSMETA 文件系統
地址可以指定的格式:
IP格式 | 說明 |
* | 所有的ip 地址 |
n.n.n.n | 單個ip 地址 |
n.n.n.n/b | IP 網絡地址/位數掩碼 |
n.n.n.n/m.m.m.m | IP 網絡地址/子網掩碼 |
f.f.f.f-t.t.t.t | IP 段 |
權限說明:
權限 | 說明 |
ro | 只讀模式 |
rw | 讀寫模式 |
alldirs | 許掛載任何指定的子目錄 |
maproot | 映射爲root,還是指定的用戶 |
password | 指定客戶端密碼 |
3.1.3 操作:
$/usr/local/mfs/sbin/mfsmaster [-vdu] [-t locktimeout] [-c cfgfile] [start|stop|restart|reload] #master服務操作
$/usr/local/mfs/sbin/mfscgiserv#啓動WEBUI 監控服務,訪問http://192.168.0.1:9425/
注意:
最好不要kill master,安全停止執行mfsmaster stop,否則下次啓動因metadata.mfs.back而出現問題,還需要使用備份來恢復。
文件說明:
$ls -l /usr/local/mfs/var/mfs#此目錄見mfsmaster.cfg中DATA_PATH配置
metadata.mfs.back#MFS元數據信息,延遲將內存數據寫入文件,默認頻率1h,默認1d同步一次此文件到metalogger server
changelog.*.mfs#文件操作日誌記錄,實時記錄、同步到metalogger server
sessions.mfs#客戶操作狀態記錄
stats.mfs#?
3.1.4 備註:
·用戶操作日誌見:changelog.*.mfs
·進程產生的日誌放到系統日誌中:/var/log/messages
·Master可以單獨啓動,注意開通監聽的端口
3.2 Chunk Server
在192.168.0.3-在192.168.0.5 進行如下操作
3.2.1 安裝:
$useradd mfs -s /sbin/nologin
$wget http://www.moosefs.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-2/
$./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
$make
$make install
$cd /usr/local/mfs/etc
$cp mfschunkserver.cfg.dist mfschunkserver.cfg #chunk配置文件
$cp mfshdd.cfg.dist mfshdd.cfg#MFS使用空間配置
3.2.2 配置:
$vi /usr/local/mfs/etc/mfschunkserver.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# DATA_PATH = /usr/local/mfs/var/mfs
# LOCK_FILE = /var/run/mfs/mfschunkserver.pid
# SYSLOG_IDENT = mfschunkserver
# BACK_LOGS = 50
# MASTER_RECONNECTION_DELAY = 30
MASTER_HOST = 192.168.0.1 #元數據服務器的名稱或地址,可以是主機名,也可以是ip 地址
# MASTER_PORT = 9420 #爲Matser中 MATOCS_LISTEN_PORT指定的端口
# MASTER_TIMEOUT = 60
# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422 這個監聽端口用於與其它數據存儲服務器間的連接,通常是數據複製
# CSSERV_TIMEOUT = 60
# CSTOCS_TIMEOUT = 60
# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg 分配給MFS 使用的磁盤空間配置文件的位置
注意:
·MASTER_HOST 不能爲localhost或127.0.0.1,做單機測試的童鞋們注意了,要使用對外IP。
·MASTER_PORT必須爲元數據服務器配置中MATOCS_LISTEN_PORT指定的端口,且IP必須被master允許。
·注意開通監控的端口(這裏是9422)
$chown -R mfs:mfs /data#沒有這一操作,會出現寫權限問題,因進程是用mfs運行的。
$vi /usr/local/mfs/etc/mfshdd.cfg
/data
注意:
·在這裏/data 是一個給mfs 的分區,但在本機上是一個獨立的目錄,最好是一個單獨的硬盤或者一個raid 卷,最低要求是一個分區。
·不要忘了更改目錄的權限,因爲mfschunkserver進程是用mfs運行的。
3.2.3 操作
/usr/local/mfs/sbin/mfschunkserver [-vdu] [-t locktimeout] [-c cfgfile] [start|stop|restart|reload]#chunkserver操作命令
3.3 MetaLogger Server
在192.168.0.2上執行如下操作:
3.3.1 安裝:
同Master的安裝步驟。