你好,游客 登录 注册 搜索
背景:
阅读新闻

Web集群实现共享存储的架构演变及MogileFS

[日期:2014-06-13] 来源:Linux社区  作者:xxrenzhe [字体: ]

3.4 服务安装及启动

基本架构(在LNMT架构的基础上改进)

Web集群实现共享存储的架构演变及MogileFS

服务器规划

Web集群实现共享存储的架构演变及MogileFS

服务安装及启动

数据库授权

MariaDB [(none)]> grant all on *.* to 'root'@'192.168.%.%' identified by 'magedu';

Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> grant all on mogdb.* to 'moguser'@'192.168.%.%' identified by 'mogpass';

Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

grant all on *.* to 'root'@'192.168.%.%' identified by 'magedu';

grant all on mogdb.* to 'moguser'@'192.168.%.%' identified by 'mogpass';

flush privileges;


主机192.168.0.45(mogilefs+mogilestored)

# 所需程序包

[root@mysql mogilefs]# ls

MogileFS-Server-2.46-2.el6.noarch.rpm            perl-MogileFS-Client-1.14-1.el6.noarch.rpm

MogileFS-Server-mogilefsd-2.46-2.el6.noarch.rpm  perl-Net-Netmask-1.9015-8.el6.noarch.rpm

MogileFS-Server-mogstored-2.46-2.el6.noarch.rpm  perl-Perlbal-1.78-1.el6.noarch.rpm

MogileFS-Utils-2.19-1.el6.noarch.rpm

[root@mysql mogilefs]# yum install -y *.rpm perl-IO-AIO

# 修改配置文件

[root@mysql mogdata]# vi /etc/mogilefs/mogilefsd.conf # 调度器tracker的配置文件

    # Enable daemon mode to work in background and use syslog 

    daemonize = 1

    # Where to store the pid of the daemon (must be the same in the init script)

    pidfile = /var/run/mogilefsd/mogilefsd.pid

    # Database connection information

    db_dsn = DBI:mysql:mogdb:host=192.168.0.45:3406    # 存储元数据的数据库信息,包括数据库mogdb及连接地址192.168.0.45:3406

    db_user = moguser    # 数据库用户名

    db_pass = mogpass    # 数据库登录密码

    # IP:PORT to listen on for mogilefs client requests

    listen = 192.168.0.45:7001

[root@mysql mogdata]# vi /etc/mogilefs/mogstored.conf # 存储节点mogstored的配置文件

    maxconns = 10000    # 最大连接数

    httplisten = 0.0.0.0:7500 # http请求监听的地址和端口

    mgmtlisten = 0.0.0.0:7501

    docroot = /var/mogdata # 存储设备挂载目录,可修改

# 准备存储设备

[root@mysql mogdata]# fdisk /dev/sda # 新建分区sda4,大小10G(实际生产环境中,此为整块磁盘,而非分区)

[root@mysql mogdata]# kpartx -af /dev/sda

[root@mysql mogdata]# partx -a /dev/sda

[root@mysql mogdata]# cat /proc/partitions # 验证分区已创建成功

[root@mysql mogdata]# mke2fs -t ext4 /dev/sda4 # 初始化分区

[root@mysql mogdata]# mkdir /var/mogdata

[root@mysql mogdata]# mount -t ext4 /dev/sda4 /var/mogdata/ # 挂载分区

[root@mysql mogdata]# mkdir /var/mogdata/dev1 # 创建存储设备dev1(注:在192.168.0.46上,此为dev2)

[root@mysql mogdata]# chown -R mogilefs.mogilefs /var/mogdata/

# 初始化数据库

[root@mysql mogdata]# mogdbsetup --dbhost=192.168.0.45 --dbport=3406 --dbrootuser=root --dbrootpass=magedu --dbuser=moguser --dbpass=mogpass --dbname=mogdb --yes

# 初始化数据库执行一次即可,故在主机192.168.0.46上无需执行此步骤

# 启动服务

[root@mysql mogilefs]# service mogilefsd start

Starting mogilefsd                                        [  OK  ]

[root@mysql mogilefs]# service mogstored start

Starting mogstored                                        [  OK  ]


主机192.168.0.46(mogilefs+mogilestored)


同上,直至mogilefsd和mogstored服务都正常启动

3.5 配置部署(任意一个tracker节点上配置即可,如192.168.0.45)

添加节点

[root@mysql mogdata]# echo "trackers = 192.168.0.45:7001" > /etc/mogilefs/mogilefs.conf # 管理程序mogadm的配置文件

[root@mysql mogdata]# mogadm host add 192.168.0.45 --ip=192.168.0.45 --status=alive # 添加节点1

[root@mysql mogdata]# mogadm host add 192.168.0.46 --ip=192.168.0.46 --status=alive # 添加节点2

[root@mysql mogilefs]# mogadm host list # 查看已添加节点

192.168.0.45 [1]: alive

  IP:      192.168.0.45:7500

192.168.0.46 [2]: alive

  IP:      192.168.0.46:7500

添加设备

[root@mysql mogdata]# mogadm device add 192.168.0.45 1 # 添加存储设备1,设备编号需与/var/mogdata目录下的dev1目录保持一致

[root@mysql mogdata]# mogadm device add 192.168.0.46 2 # 添加存储设备2,设备编号需与/var/mogdata目录下的dev2目录保持一致

[root@mysql mogdata]# mogadm device list # 查看已添加设备

192.168.0.45 [1]: alive

                    used(G)    free(G)  total(G)  weight(%)

  dev1:  alive      0.146      9.200      9.347        100

192.168.0.46 [2]: alive

                    used(G)    free(G)  total(G)  weight(%)

  dev2:  alive      0.146      9.199      9.346        100


添加domain(域)

[root@mysql mogdata]# mogadm domain add images

[root@mysql mogdata]# mogadm domain add text

[root@mysql mogdata]# mogadm domain list

 domain              class                mindevcount  replpolicy  hashtype

-------------------- -------------------- ------------- ------------ -------

 images              default                  2        MultipleHosts() NONE

 text                default                  2        MultipleHosts() NONE


添加class(文件类别)

[root@mysql mogdata]# mogadm class add images class1 --mindevcount=2 # 在域images中添加类别class1和class2,最小文件复制份数为2

[root@mysql mogdata]# mogadm class add images class2 --mindevcount=2

[root@mysql mogdata]# mogadm class add text class1 --mindevcount=2 # 在域text中添加类别class1和class2,最小文件复制份数为2

[root@mysql mogdata]# mogadm class add text class2 --mindevcount=2

[root@mysql mogdata]# mogadm class list

 domain              class                mindevcount  replpolicy  hashtype

-------------------- -------------------- ------------- ------------ -------

 images              class1                    2        MultipleHosts() NONE

 images              class2                    2        MultipleHosts() NONE

 images              default                  2        MultipleHosts() NONE

 text                class1                    2        MultipleHosts() NONE

 text                class2                    2        MultipleHosts() NONE

 text                default                  2        MultipleHosts() NONE

linux
相关资讯       MogileFS 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款