您创建的HPFS-POSIX协议的文件系统可以挂载到对应物理机上,支持挂载的物理机规格可查看产品能力地图,当您登录到物理机上后,请按照顺序进行以下操作:
前置客户端网络环境检查
在客户端使用 ping
测试到存储服务器端是否连通。如若不通,请检查网络环境,存储网口是否up,ip是否配置正确。服务端存储地址,可以在文件系统的挂载地址中获取:
其中挂载地址为 ip1@type:ip2@type:xxx
格式。type 当前有两种取值:tcp0 表示业务通信使用Tcp驱动, o2ib0 表示业务通信使用IB驱动,后续步骤客户端配置项需要区分两种类型,与待连接的服务端保持一致。
确认已安装客户端
使用 rpm -qa|grep lustre
或 dpkg -l|grep lustre
命令查询客户端及版本,如果已安装可继续设置lnet网络配置步骤。但需确认客户端版本为最新版本,客户端版本信息查询示例如下:
注意强烈建议您使用最新版本的客户端,新版本会修复一些已知问题,保障软件稳定。使用旧版本客户端,在HPFS服务发生切换时,小概率会造成文件系统阻塞,若发生则可能需要几分钟时间才会自动恢复,极端情况下需要人工介入恢复业务使用。
安装客户端
您需要下载对应版本安装包,并上传到客户端服务器,客户端安装包下载链接,安装包命名格式为<软件版本><系统内核版本><IB驱动版本>.zip,比如:
2.15.1-2_4.19.90-2102.2.0.0066.ctl2.aarch64_mlnx5.8.zip 为适用于内核版本4.19.90-2102.2.0.0066.ctl2.aarch64,IB驱动为mlnx5.8的客户端包,软件版本为2.15.1-2。。
其中内核版本在客户端服务器上执行 uname -r
查询,IB驱动的版本在红帽系统上执行 rpm -qa|grep mlnx
,如是Ubuntu系统执行 dpkg -l|grep mlnx
查询。
红帽系统查询示例:
Ubuntu系统查询示例:
说明
当业务使用以太网TCP时,只需要选择和内核版本一致的客户端安装包就可以使用
当业务使用IB通信时,需要选择和内核版本及IB驱动版本都匹配的客户端安装包
如果没有对应版本的客户端安装包,请联系技术支撑。
将安装包上传到客户端服务器,在任意目录解压后,执行安装命令。
红帽系统安装命令 rpm -i --nodeps *
Ubuntu系统安装命令 dpkg -i --force-depends,overwrite *
安装后再执行 rpm -qa|grep lustre
或 dpkg -l|grep lustre
命令查询客户端版本,确认安装成功。
设置lnet网络配置
网络加载项
使用以下命令,创建网络加载项配置文件lustre.conf,注意参数需要根据实际情况替换:
echo "options lnet networks=<net_name>(<physical_interface_name>)" > /etc/modprobe.d/lustre.conf
<net_name>
替换为挂载地址中的HPFS组网类型:
- tcp0(业务使用以太网TCP的情况,注意末尾有0)
- o2ib0(业务使用IB的情况:包括IB和RoCE两种网络,注意末尾有0)
<physical_interface_name>
参数通过 ip a | grep 100.97
查询存储服务器对应IP使用的网卡名称。
如下图IB组网中,服务端存储地址100.97 对应网卡为 bond2
。
- TCP举例:
echo "options lnet networks=tcp0(bond3)" > /etc/modprobe.d/lustre.conf
- IB、RoCE(昇腾服务器环境)举例:
echo "options lnet networks=o2ib0(bond2)" > /etc/modprobe.d/lustre.conf
查看并检查lnet id信息
-
执行下列命令重载lustre驱动。
# 卸载lustre驱动 lustre_rmmod # 加载lustre驱动 modprobe lustre
-
查看lnet id信息,判断lnet是否绑定了正确的网卡和地址。
# 查看本机lnet id信息 lnetctl net show
-
检查客户端lnet是否与存储端lnet连通。
# lnet ping 存储端lnet id测试lnet连通,server_lnid是hpfs存储端使用的lnet id信息,下例返回结果没有error信息则代表连通。
lnetctl ping <server_lnid>
操作方法一:手动挂载
- 创建文件挂载目录 local_mountpoint ,举例:
mkdir /mnt/hpfs
- 根据后端挂载命令进行手动挂载:
mount -t lustre -o seckey=<secret_key> <hpfs_share_path> <local_mountpoint> #查看挂载的文件系统 df -h
举例:
mount -t lustre -o seckey=3cRTcaAczXXXXXXXXXXXXXCfHUEyPhm3nE 192.XXXXX@tcp0:192.XXXXX@tcp0:/hp0001/user_id-testXXXXX_pbbXXXXXXXXcb1b2m /mnt/hpfs
操作方法二:自动挂载
- 设置
rclocal
启动顺序,增加rc.local
文件的可执行属性:
sed -i '/After=network.target/c\Wants=network-online.target\nAfter=network.target network-online.target' /lib/systemd/system/rc-local.service
chmod +x /etc/rc.d/rc.local
- 打开
/etc/rc.local
文件,在文件末尾根据需求增加挂载命令,保存并退出:
mount -t lustre -o seckey=secret_key hpfs_share_path /local_mountpoint
参数说明:
字段 | 描述 | 举例 |
---|---|---|
secret_key | 挂载秘钥 | 3cRTcaAczvKtC2fbnFtDXXXXXX3nE |
hpfs_share_path | hpfs文件系统共享路径 | 如192.XXXXX@tcp0:192.XXXXX@tcp0:/hp0001/user_id-testXXXXX_pbbXXXXXXXXcb1b2m |
local_mountpoint | 客户端上的挂载点 | 如/mnt/hpfs |
举例:
mount -t lustre -o seckey=3cRTcaAczvXXXXXXXXXXXXXfHUEyPhm3nE 192.XXXXX@tcp0:192.XXXXX@tcp0:/hp0001/user_id-testXXXXX_pbbXXXXXXXXcb1b2m /mnt/hpfs
常见问题
ubuntu 系统按前述centos系统配置开机自动挂载的操作方式,如遇到不存在 /etc/rc.local
文件的问题:
先执行 add_rclocal.sh
脚本,再将挂载命令添加到 /etc/rc.local
文件即可,注意将挂载命令添加到" exit 0
"之前。