Beegfs分布式文件系統(tǒng)安裝實踐

環(huán)境

在HPC高性能計算中,存儲需要增加容量,嘗試基于beegfs搭建一套分布式存儲。
以下節(jié)點都是CentOS 7 系統(tǒng)
A節(jié)點 作為beegfs客戶端
B節(jié)點 ALL-In-One服務(wù)節(jié)點
由于部署環(huán)境中沒有外網(wǎng),因而采用rpm包的形式進行安裝,到此站點https://www.beegfs.io/release/beegfs_7_1/dists/rhel7/x86_64/ 下載相關(guān)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是依賴的共通包,各節(jié)點都需要

安裝

  1. 關(guān)閉SeLinux
sed -i 's/enforcing/disabled/g' /etc/selinux/config

重啟系統(tǒng)

  1. 管理,元數(shù)據(jù),存儲都放A節(jié)點,因此在節(jié)點A用rpm安裝相應的包
rpm -ivh beegfs-mgmtd  beegfs-meta beegfs-storage beegfs-common
  1. 配置管理服務(wù)
mkdir /beegfs/beegfs_mgmtd
/opt/beegfs/sbin/beegfs-setup-mgmtd -p /beegfs/beegfs_mgmtd
  1. 配置元數(shù)據(jù)服務(wù)
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. 配置存儲服務(wù)
    像元數(shù)據(jù)服務(wù)進程一樣,BeeGFS的數(shù)據(jù)存儲服務(wù)進程除了需要知道在哪個路徑下存儲數(shù)據(jù)外,還需要知道管理服務(wù)進程的運行IP。通常,你可以把多個存儲服務(wù)進程分布在不同的節(jié)點以及/或者分配到一個存儲服務(wù)進程下的不同的設(shè)備目標(比如多個邏輯卷)中。
    另外,你也可以給每個存儲服務(wù)進程設(shè)置一個唯一標識ID。如果該進程內(nèi)有多個設(shè)備目標,我們還可以為每個設(shè)備目標設(shè)置唯一標識ID。設(shè)置的原則是:進程標識ID+設(shè)備目標標識ID,例如某一個Storage Service 的 ID是3,而它配置了兩個Target,此時就可以給第一個Target 的ID設(shè)置為“301”,第二個 Target 的標識ID設(shè)置為“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節(jié)點安裝配置Client端
    rpm 安裝 beegfs-client beegfs-helperd beegfs-common
    注意,因為client端在第一次啟動服務(wù)時會有編譯動作(編譯Client Kernel model模塊),所以需要先安裝必要的編譯工具和內(nèi)核開發(fā)包
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

如果版本不一致,到網(wǎng)上下載安裝

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

客戶端的掛載點默認設(shè)置為 /mnt/beegfs,可以在配置文件中修改

  1. 所有服務(wù),在 /etc/beegfs/目錄下有對應配置文件

啟動

啟動服務(wù)

$ 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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容