美文网首页
Beegfs分布式文件系统安装实践

Beegfs分布式文件系统安装实践

作者: wolfwolfgod | 来源:发表于2020-10-18 21:52 被阅读0次

    环境

    在HPC高性能计算中,存储需要增加容量,尝试基于beegfs搭建一套分布式存储。
    以下节点都是CentOS 7 系统
    A节点 作为beegfs客户端
    B节点 ALL-In-One服务节点
    由于部署环境中没有外网,因而采用rpm包的形式进行安装,到此站点https://www.beegfs.io/release/beegfs_7_1/dists/rhel7/x86_64/ 下载相关rpm包
    各包定义如下:

    • Management Server
      包:beegfs-mgmtd
      作用:Manages configuration and group membership
      Hostname or IP address must be known by other nodes at service start time

    • Metadata Server
      包:beegfs-meta
      作用:Stores directory information and allocates file space on storage servers

    • Storage Server
      包:beegfs-storage
      作用:Stores raw file contents

    • Client
      包:beegfs-client beegfs-helperd
      作用:Kernel module to mount the file system
      Requires userspace helper daemon for logging and hostname resolution

    • BeeGFS Common
      包:beegfs-common
      作用:Common files for all packages

    • BeeGFS utilities for administrators
      包:beegfs-utils
      作用:beegfs-ctl tool for command-line administration
      beegfs-fsck tool for file system checking
      Several small helper scripts

    beegfs-common是依赖的共通包,各节点都需要

    安装

    1. 关闭SeLinux
    sed -i 's/enforcing/disabled/g' /etc/selinux/config
    

    重启系统

    1. 管理,元数据,存储都放A节点,因此在节点A用rpm安装相应的包
    rpm -ivh beegfs-mgmtd  beegfs-meta beegfs-storage beegfs-common
    
    1. 配置管理服务
    mkdir /beegfs/beegfs_mgmtd
    /opt/beegfs/sbin/beegfs-setup-mgmtd -p /beegfs/beegfs_mgmtd
    
    1. 配置元数据服务
    mkdir /beegfs/beegfs_meta
    /opt/beegfs/sbin/beegfs-setup-meta -p { management service path } -s 2 -m { mgmtd_node_ip }
    例如:/opt/beegfs/sbin/beegfs-setup-meta -p /beegfs/beegfs_meta -s 2 -m 10.52.255.62
    
    1. 配置存储服务
      像元数据服务进程一样,BeeGFS的数据存储服务进程除了需要知道在哪个路径下存储数据外,还需要知道管理服务进程的运行IP。通常,你可以把多个存储服务进程分布在不同的节点以及/或者分配到一个存储服务进程下的不同的设备目标(比如多个逻辑卷)中。
      另外,你也可以给每个存储服务进程设置一个唯一标识ID。如果该进程内有多个设备目标,我们还可以为每个设备目标设置唯一标识ID。设置的原则是:进程标识ID+设备目标标识ID,例如某一个Storage Service 的 ID是3,而它配置了两个Target,此时就可以给第一个Target 的ID设置为“301”,第二个 Target 的标识ID设置为“302”
    mkdir /beegfs/beegfs_storage1
    /opt/beegfs/sbin/beegfs-setup-storage -p /beegfs/beegfs_storage1 -s 3 -i 301 -m { mgmtd_node_ip }
     
    # To add a first storage target on this machine:
    e.g./opt/beegfs/sbin/beegfs-setup-storage -p /beegfs/beegfs_storage1 -s 3 -i 301 -m 10.52.255.62
    
    1. 在B节点安装配置Client端
      rpm 安装 beegfs-client beegfs-helperd beegfs-common
      注意,因为client端在第一次启动服务时会有编译动作(编译Client Kernel model模块),所以需要先安装必要的编译工具和内核开发包
    yum install gcc gcc-c++ gcc-g77 libxml2-devel boost-devel openssl* openssl openssl-devel
    

    查看当前kernel版本:

    uname -r
    

    查看已安装kernel-devel

    uname -a ; rpm -qa kernel\* | sort
    

    如果版本不一致,到网上下载安装

    yum install "kernel-devel-uname-r == $(uname -r)"
    

    安装好后,运行以下命令可以手动编译

    /etc/init.d/beegfs-client rebuild
    

    然后配置客户端

    /opt/beegfs/sbin/beegfs-setup-client -m { mgmtd_node_ip }
    e.g./opt/beegfs/sbin/beegfs-setup-client -m 10.52.255.62
    

    客户端的挂载点默认设置为 /mnt/beegfs,可以在配置文件中修改

    1. 所有服务,在 /etc/beegfs/目录下有对应配置文件

    启动

    启动服务

    $ systemctl start beegfs-mgmtd
    $ systemctl start beegfs-meta
    $ systemctl start beegfs-storage
    

    启动客户端

    $ systemctl start beegfs-helperd
    $ systemctl start beegfs-client
    

    如果安装了管理界面,可以启动管理端

    systemctl start beegfs-admon
    #Java GUI
    java -jar /opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar
    

    测试

    客户端测试

    $ beegfs-ctl --listnodes --nodetype=meta --details
    $ beegfs-ctl --listnodes --nodetype=storage --details
    $ beegfs-ctl --listnodes --nodetype=client --details
    $ beegfs-net
    

    性能测试

    参考:
    https://blog.csdn.net/i_chips/article/details/73469690?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242

    相关文章

      网友评论

          本文标题:Beegfs分布式文件系统安装实践

          本文链接:https://www.haomeiwen.com/subject/xdxqnhtx.html