5.1 向Tracker添加Storage节点
在10.0.0.122和10.0.0.130服务器上都可以执行添加Storage的命令。使用mogadm来添加Storage节点。
view sourceprint?
1mogadm add mog_storage_122 --ip=10.0.0.122 --port=7500 --status=alive
2mogadm host add mog_storage_130 --ip=10.0.0.130 --port=7500 --status=alive
3mogadm host list
如果mogadm报模块未找到的错误,需要加“–lib”参数告诉mogadm命令MogileFS相关模块的位置,如“–lib=/usr/lib/perl5/site_perl/5.8.8”,这些模块在安装MogileFS-Client的时候安装。可以使用下列命令查询MogileFS相关模块的位置:
view sourceprint?
1find `perl -e 'print "@INC"'` -name 'MogileFS' -print
2/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
3/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
4/usr/lib/perl5/site_perl/5.8.8/MogileFS
5/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS
6/usr/lib/perl5/site_perl/5.8.8/MogileFS
其中/usr/lib/perl5/site_perl/5.8.8就是MogileFS相关模块的安装位置。
5.2 向Storage节点添加设备
假设10.0.0.122上有两块硬盘,它们各自的挂载点如下:
/dev/sda1 -> /
/dev/sdb1 -> /disk2
假设10.0.0.130上有两块硬盘,它们各自的挂载点如下:
/dev/sda1 -> /
/dev/sdb1 -> /disk4
首先要在Storage节点上添加设备,方式是在Storage节点的根存储目录下建立设备目录,设备目录以“dev”开头,后面跟一个数字序号,在MogileFS系统中,要求每个设备的序号是唯一的。根存储目录所在磁盘直接建立设备空目录即可,对其他磁盘则需要挂载到设备目录上。如果其他硬盘已经挂载其他地方,可以建立一个软链接来连接到挂载点上。
在10.0.0.122上执行如下操作:
view sourceprint?
1mkdir -p /var/mogile_data/dev12201
2mogadm device add mog_storage_122 12201
3ln -s /disk2 dev12202
4mogadm device add mog_storage_122 12202
在10.0.0.130上执行如下操作:
view sourceprint?
1mkdir -p /var/mogile_data/dev13001
2mogadm device add mog_storage_130 13001
3ln -s /disk2 dev13002
4mogadm device add mog_storage_130 13002
最后可以check一下MogileFS系统的状态:
view sourceprint?
1mogadm check
如果一切顺利,打印出来的信息应该类似于下面的结果:
view sourceprint?
01Checking trackers...
02127.0.0.1:7001 ... OK
03Checking hosts...
04[ 1] mog_storage_122 ... OK
05[ 2] mog_storage_130 ... OK
06Checking devices...
07host device size(G) used(G) free(G) use% ob state I/O%
08---- ------------ ---------- ---------- ---------- ------ ---------- -----
09[ 1] dev12201 850.378 649.364 201.013 76.36% writeable 0.0
10[ 1] dev12202 855.761 315.925 539.836 36.92% writeable 0.0
11[ 2] dev13001 850.378 647.460 202.918 76.14% writeable 0.0
12[ 2] dev13002 855.761 402.538 453.223 47.04% writeable 0.0
13---- ------------ ---------- ---------- ---------- ------
14total: 3412.277 2015.287 1396.990 59.06%
5.3 设备失效时的处理
如果发现某个设备失效了,可以使用mogadm device mark命令标记设备失效。设备不能直接删除,而只能标记失效。设备标记失效后,该设备上的所有文件将重新在其他设备上备份一份。设备被标记失效之后,就不能重新使用了。如果要重新启用设备,MogileFS不会再用设备上原有的文件数据,而必须重新给设备分配一个新的设备序号,MogileFS也会认为该设备是一个全新的设备。
应注意的几点:
标记失效后的设备不能直接使用原来的设备序号重新用alive激活;
要保证在同一时间内只有一个设备标记失效,否则会产生数据丢失。
例如,一般的场景如下:
1. 如果发现10.0.0.122机器上的/dev/hdb1损坏,这时候需要用mogadm标记设备失效:
view sourceprint?
1
2mogadm device mark mog_storage_122 12202 dead
从现在开始,MogileFS将会吧12202设备上的文件再次在其他设备上多备份一份,以填补12202失效产生的备份缺失。
2. 卸载/dev/hdb1,检查磁盘,并修复。
3. 将磁盘上的文件全部删除,重新挂载到10.0.0.122机器上。
4. 为磁盘分配一个新的设备序号12203,并添加设备。
view sourceprint?
1
2mount /dev/hdb1 /disk2
3ln -s /disk2 dev12203
4mogadm device add 12203 mog_storage_122
5. 现在新设备12203将开始接收文件存储。
5.4 添加域(Domain)和类(Class)
在MogileFS分布式文件存储系统中,文件通过 KEY 来引用,KEY 在某个存储域下是唯一的。类包含在domain中,可以针对不同的存储类别设置存储不同份数的文件副本。我们添加一个image 域,并为image域添加两个类,一个是large_image,存储分数是2;另一个是thumbnail,存储分数也是2:
view sourceprint?
1mogadm domain add image
2mogadm class add image large_image --mindevcount=2
3mogadm class add image thumbnail --mindevcount=2
From -
阅读(2155) | 评论(0) | 转发(0) |