您创建的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
命令查询客户端版本,确认安装成功。
客户端配置
为了获得更好的性能体验,修改 /etc/modprobe.d/lustre.conf 配置文件(如不存在,可新建同名文件),添加以下内容:
options ko2iblnd timeout=2
options libcfs cpu_npartitions=4
options libcfs cpu_pattern=""
详细参数信息请查看最佳实现:性能调优
设置lnet网络配置
网络加载项
使用以下命令,创建网络加载项配置文件lustre.conf,注意参数需要根据实际情况替换:
echo 'options lnet networks=<net_name>(<physical_interface_name>)' > /etc/modprobe.d/lustre.conf
#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
参数<net_name>
替换为挂载地址中的HPFS组网类型,下图红框:
tcp0(业务使用以太网TCP的情况,注意末尾有0)
o2ib0(业务使用IB的情况:包括IB和RoCE两种网络,注意末尾有0)
参数<physical_interface_name>
替换为网卡的名称,通过 ip a | grep 100.97
查询,下图红框:
如下图IB组网中,grep 挂载地址中的 ip 100.97 ,确认对应网卡为 bond2
。
查看并检查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
根据后端挂载命令进行手动挂载:
#挂载命令,如果您在HPFS文件系统中已创建了子目录,可以在 hpfs_share_path 填入要挂载的子目录 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文件系统中已创建了子目录,可以在 hpfs_share_path 填到要挂载的子目录 | 如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
"之前。