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

环境

在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分布式文件系统安装实践)