本文大部分來自網絡及該文章:http://www.admindigest.com/4/mogilefs%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/
如果有侵犯作者權益和版權,請通知,我會及時刪除,再此表示歉意。
1,MogileFS 簡介
2,MogileFS 部署
3,MogileFS 測試
4,MogileFS 總結
MogileFS是一種分佈式文件存儲系統。可支持文件自動備份的功能,提供高可用性和高可擴展性。MogileFS是用Perl語言寫的,由於有依賴模塊的問題,安裝過程中需要其他庫和模塊的支持,安裝不算容易。Mogilefs不支持對一個文件內部的隨機或順序讀寫,因此只適合做一部分應用,如圖片服務,靜態HTML服務等,這些應用在文件寫入後基本上不需要對文件進行修改,但是可以生成一個新的文件覆蓋原有文件。
Mogilefs分爲如下幾部分:
1、數據庫部分數據庫保存了Mogilefs的所有元數據,一般使用MySQL,可以單獨拿數據庫服務器來做,也可以跟其他程序跑在一起。可以用mogdbsetup程序來初始化數據庫。數據庫部分非常重要,因爲一個MogileFS系統的所有Tracker都必須指向同一個數據庫,因此如果數據庫出現問題,那麼整個MogileFS系統將處於不可用狀態,因此數據庫最好採用HA結構,如MySQL主從複製架構,這樣可以降低數據庫出現問題對MogileFS系統的影響。
2、跟蹤器(Tracker)mogilefsd即trackers程序,類似mogilefs的wiki上介紹 的,trackers做了很多工作,主要有以下幾個:Replication: 機器間複製文件Deletion:從命名空間刪除是立即的,從文件系統刪除是異步的QueryWorker: 響應客戶端的請求Reaper:在磁盤失敗後將文件複製請求重新放到隊列中Monitor:監測主機和設配的健康度和狀態Tracker是訪問MogileFS的入口,所有系統管理相關的操作都要通過其中的某個trackers完成,應用系統的一些操作也要通過trackers,因此一個高業務量的MogileFS系統最好同時運行多個trackers來做負載均衡。
3、存儲節點(Storage)mogstored程序的啓動將使本機成爲一個存儲節點。mogstored啓動後,便可以通過mogadm增加這臺機器到系統中。一臺機器可以只運行一個 mogstored作爲存儲節點即可,也可以同時運行其他程序。存儲節點下面還需要定義設備(device),每個設備都有一個唯一的ID編號,設備也是用mogadm添加到MogileFS系統中的。
4、工具主要就是mogadm,mogtool這兩個工具了,用來在命令行下控制整個mogilefs系統以及查看狀態等等。5、客戶端(Client)客戶端通過接口訪問mogilefs系統,對整個系統進行文件讀寫操作。這裏的接口是MogileFS提供的接口。6,測試環境Tracker IP:192.168.0.247Storage IP:192.168.0.212,192.168.0.215MySQL IP:192.168.0.245
2 安裝
2.1安裝前準備Linux perl使用CPAN安裝如下必要的Perl庫,安裝命令如下:
cpan -i Danga::Socket cpan -i IO::AIO cpan -i IO::WrapTie
2.2安裝MogileFS
下載相關源碼,地址:https://github.com/mogilefs
2.3 Tracker 安裝
unzip MogileFS-Server-master.zip
cd MogileFS-Server-master
perl Makefile.PL
make
make test
make install
unzip perl-MogileFS-Client-master.zip
perl Makefile.PL
make
make test
make install
unzip MogileFS-Utils-master
cd MogileFS-Utils-master
perl Makefile.PL
make
make test
make install
2.4Storge 安裝
分別在192.168.0.212 192.168.0.215 上面安裝如下的包
unzip MogileFS-Server-master.zip
cd MogileFS-Server-master
perl Makefile.PL
make
make test
make install
unzip perl-MogileFS-Client-master.zip
perl Makefile.PL
make
make test
make install
unzip MogileFS-Utils-master
cd MogileFS-Utils-master
perl Makefile.PL
make
make test
make install
2.5 安裝,設置Mysql
安裝Mysql
設置Mysql
mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database mogilefs;
Query OK, 1 row affected (0.11 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| foreman |
| mogilefs |
| mysql |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> grant all on mogilefs.* to 'mogilefs'@'%';
Query OK, 0 rows affected (0.13 sec)
mysql> set password for 'mogilefs'@'%' = OLD_PASSWORD('mogile_db_password');
Query OK, 0 rows affected (0.04 sec)
mysql> flush pervileges;
然後在Tracker機器上執行數據庫表結構的創建。
/usr/bin/mogdbsetup --dbhost=192.168.0.245 --dbname=mogilefs --dbuser=mogilefs --dbpass=mogile_db_password --dbrootpass=[passwd]
第一次使用mogdbsetup時,需要提供mysql的root密碼這裏 Tracker上需要安裝Mysql客戶端 以及perl相關的Mysql rpm包。
2.6設置Tracker
mkdir -p /etc/mogilefs/
vi /etc/mogilefs/mogilefsd.conf
在配置文件中添加如下內容:
db_dsn = DBI:mysql:mogilefs:host=192.168.0.245;port=3306;mysql_connect_timeout=5
db_user = mogilefs
db_pass = mogile_db_password
conf_port = 7001
listener_jobs = 5
node_timeout = 5
rebalance_ignore_missing = 1
mogilefsd不能以root身份運行,必須用其他用戶運行,爲此需要建立新的用戶:
useradd mogile
啓動
su - mogile
mogilefsd -c /etc/mogilefs/mogilefsd.conf --daemon
2.7創建Storage配置文件並啓動Storgae節點,分別在兩太存儲節點上執行。
mkdir /var/mogile_data/
vi /etc/mogilefs/mogstored.conf
添加如下內容:
httplisten=0.0.0.0:7500
mgmtlisten=0.0.0.0:7501
docroot=/data/mogile_data
啓動Storage節點
mogstored --daemon
2.8 向Tracker 添加Storage節點
mogadm host add mog_storage_212 --ip=192.168.0.212 --port=7500 --status=alive
mogadm host add mog_storage_215 --ip=192.168.0.215 --port=7500 --status=alive
添加完成後,查看存儲節點
mogadm host list
mog_storage_212 [1]: alive
IP: 192.168.0.212:7500
mog_storage_215 [2]: alive
IP: 192.168.0.215:7500
2.9 向Storage節點添加設備
首先要在Storage節點上添加設備,方式是在Storage節點的根存儲目錄下建立設備目錄,設備目錄以“dev”開頭,後面跟一個數字序號,在MogileFS系統中,
要求每個設備的序號是唯一的。根存儲目錄所在磁盤直接建立設備空目錄即可,對其他磁盤則需要掛載到設備目錄上。如果其他硬盤已經掛載其他地方,
可以建立一個軟鏈接來連接到掛載點上。
mkdir -p /data/mogile_data/dev21201
mogadm device add mog_storage_212 21201
mkdir -p /data/mogile_data/dev21501
mogadm device add mog_storage_215 21501
檢查
mogadm check
Checking trackers...
127.0.0.1:7001 ... OK
Checking hosts...
[ 1] mog_storage_212 ... OK
[ 2] mog_storage_215 ... OK
Checking devices...
host device size(G) used(G) free(G) use% ob state I/O%
---- ------------ ---------- ---------- ---------- ------ ---------- -----
[ 1] dev21201 225.225 0.183 225.042 0.08% writeable N/A
[ 2] dev21501 225.225 0.183 225.042 0.08% writeable N/A
---- ------------ ---------- ---------- ---------- ------
total: 450.450 0.366 450.083 0.08%
3.至此MogileFS 安裝完成
暫時沒有沒有其他測試。