4.4、添加域和類
添加
image
域
# mogadm domain add image
在
image
域中添加
upload
類
存儲份數爲
2
# mogadm class add image upload –mindevcount=2
4.5、查看域和tracker節點
# mogadm domain list
domain class mindevcount replpolicy
-------------------- -------------------- ------------- ---------------------------------------------------------
image default 2 MultipleHosts()
image upload 2 MultipleHosts()
# mogadm –trackers=192.168.0.11:7001 check
Checking trackers...
127.0.0.1:7001 ... OK
Checking hosts...
[ 1] mog_store_22 ... OK
[ 2] mog_store_33 ... OK
Checking devices...
host device size(G) used(G) free(G) use% ob state I/O%
---- ------------ ---------- ---------- ---------- ------ ---------- -----
[ 1] dev101 17.354 9.753 7.601 56.20% writeable 0.0
[ 2] dev201 13.456 1.491 11.965 11.08% writeable 0.0
[ 2] dev202 8.973 2.550 6.423 28.42% writeable 0.0
---- ------------ ---------- ---------- ---------- ------
total: 39.782 13.794 25.988 34.67%
4.6、mogadm 詳細參數
# mogadm
Usage: (enter any command prefix, leaving off options, for further help)
mogadm check Check the state of the MogileFS world.
mogadm stats Show MogileFS system statistics. (DEPRECIATED: use mogstats instead)
mogadm host ...
host add ... Add a host to MogileFS.
host delete ... Delete a host.
host list List all hosts.
host mark ... Change the status of a host. (equivalent to 'modify --status')
host modify ... Modify a host's properties.
mogadm device ...
device add ... Add a device to a host.
device list ... List all devices, for each host.
device mark ... Mark a device as {alive,dead,down,drain,readonly}
device modify ... Modify a device's properties.
device summary ... List the summary of devices, for each host.
mogadm domain ...
domain add ... Add a domain (namespace)
domain delete ... Delete a domain.
domain list List all hosts.
mogadm class ...
class add ... Add a file class to a domain.
class delete ... Delete a file class from a domain.
class list List all classes, for each domain.
class modify ... Modify properties of a file class.
mogadm slave ...
slave add ... Add a slave node for store usage
slave delete ... Delete a slave node for store usage
slave list List current store slave nodes.
slave modify ... Modify a slave node for store usage
mogadm fsck ...
fsck clearlog Clear the fsck log
fsck printlog Display the fsck log
fsck reset ... Reset fsck position back to the beginning
fsck start Start (or resume) background fsck
fsck status Show fsck status
fsck stop Stop (pause) background fsck
fsck taillog Tail the fsck log
mogadm settings ...
settings list List all server settings
settings set ... Set server setting 'key' to 'value'
5、MogileFS PHP擴展模塊
5.1、安裝MogileFS PHP擴展
# cd trunk
# phpize
# ../configure --with-php-config=/opt/php/bin/php-config
# make
# make install
5.2、添加MogileFS PHP模塊
修改
/opt/php/etc/php.ini
配置文件,添加如下內容:
extension=mogilefs.so
重啓
web
服務器
,
使用
phpinfo()
函數可看見
mogilefs
已經被加載,以下圖所示:
5.3
、MogileFS
客戶端 API
調用資料
JAVA –http://github.com/eml/java-mogilefs
Ruby – http://seattlerb.rubyforge.org/mogilefs-client/
PHP – http://projects.usrportage.de/index.fcgi/php-mogilefs
Python – http://www.albany.edu/~ja6447/mogilefs.py
6、MogileFS Nginx 模塊安裝
安裝了
Nginx_mogilefs_module
可以使用
Nginx
直接讀取
Mogilefs
文件系統裏的文件。
6.1、下載Nginx_mogilefs_module
6.2、添加Nginx_mogilefs_module模塊
# tar zxvf nginx_mogilefs_module-1.0.4.tar.gz
# ./configure --prefix=/opt/nginx --add-module=/data/mfs/nginx_mogilefs_module-1.0.4
# make
# make install
6.3、配置Nginx_mogilefs_module 模塊
在
nginx
配置文件中加入如下內容
:
server {
listen 80;
server_name img.test.com;
index index.html;
location / {
mogilefs_tracker 192.168.0.11:7001;
mogilefs_domain image;
mogilefs_pass {
proxy_pass $mogilefs_path;
proxy_hide_header Content-Type;
proxy_buffering off;
}
}
注:
mogilefs_domain image
這裏的
image
就是
mogilefs
中建立的域
7、Mogtool 工具建立文件和讀取文件內容
7.1、建立文件
如將
/data/up.txt
文件建立到
image
域中
upload/up.txt
文件。命令以下
:
# mogtool --trackers=192.168.0.11:7001 --domain=image inject /data/up.txt "upload/up.txt"
注
:/data/up.txt
爲本地系統文件
Upload/up.txt
爲
mogilefs
文件內文件
Mogilefs
文件系統中沒有目錄概念,將建立的文件名以
upload/up.txt
來代替。
7.2、讀取文件
# mogtool --trackers=192.168.0.11:7001 --domain=image extract upload/up.txt -
Fetching piece 1...
Trying http://192.168.0.22:7500/dev101/0/000/000/0000000001.fid...
Wide character in print at /usr/bin/mogtool line 1285, <Sock_192.168.0.11:7001> line 1.
up file txt
注
: upload/up.txt -
這裏的
–
號不能卻少,不然會出現語法錯誤
up file txt
爲
upload/up.txt
文件內容
8、FUSE API 掛載 MogileFS文件系統
8.1、安裝操做系統相應fuse支持
yum install fuse fuse-devel fuse-libs
8.2、安裝Perl Fuse支持
cpan -i FUSE::Client
cpan -i FUSE::Server
cpan -i FUSE::Fuse
注
:
如安裝過程當中提示卻少模塊,就安裝相應模塊。
8.3、Mount MogileFS文件系統
將
MogileFS
文件系統掛載到
/mnt
目錄下。命令以下
:
# perl fuse.pl /mnt &
8.4、查看MogileFS系統文件
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 19G 9.8G 7.7G 57% /
/dev/hda1 99M 17M 78M 18% /boot
tmpfs 506M 0 506M 0% /dev/shm
/dev/fuse 2 0 2 0% /mnt
注
:
這裏掛載
MogileFS
文件系統到
/mnt
下,文件大小顯示
2 ,
這裏不是很清楚,但願你們多研究。
# ls /mnt/
1111.jpg 1112.jpg upload/up.txt
這樣使用起來比較直觀,操做文件就與本地文件系統同樣。
9、MogileFS參考資料