暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

主备共享存储的OCK RDMA使用示例

MTL 2023-01-28
1147

# openGauss

共享存储特性提供备机实时一致性读功能,主备之间页面交换可选择通过RDMA加速。此章节简要描述如何在共享存储中开启RDMA通信功能。

  • 前置条件

    开启RDMA功能依赖CX5网卡,并且依赖OCK RPC动态库。

  • 操作步骤

    1. 获取OCK RPC包。

      从指定openGauss接口人处获取。

    2. 部署OCK RPC包。

      1. 解压OCK RPC包。

        tar -zxf OCK_platform_rpc_22.0.0_EulerOS-aarch64.tar.gz
        cd OCK_platform_rpc_22.0.0_EulerOS-aarch64_release
        tar -zxf OCK_platform_rpc_EulerOS_aarch64.tar.gz
        tar -zxf OCK_platform_rpc_sbin.tar.gz
        cp rpc_sbin/ock_rpc_opengauss.sh ./
        
      2. 修改部署脚本ock_rpc_opengauss.sh参数。

        # Deployment user, which is the same as the opengauss user. 
        # It is a non-root user. Ensure that this user exists on all servers.
        USER_NAME="${USER}"
        
        # Deployment server, which can contain native
        HOST_IP=(30.30.xx.7 30.30.xx.8)
        
        # Deployment package. The package name starts with OCK_platform_rpc.
        PACKAGES="OCK_platform_rpc_aarch64_EulerOS.tar.gz"
        
        # Specifies the path from the SCP package to the server. 
        # If the path does not exist, the path is automatically created.
        PATH_TO_SCP="/home/ock/test"
        
        # Opengauss environment variable
        GAUSSHOME="/home/ock/mppdb_temp_install"
        
        # OCK_RPC environment variable. Do not change
        OCK_RPC_LIB_PATH="${GAUSSHOME}/lib"
        

        脚本中涉及参数如下:

        1. USER_NAME:DN所在机器用户名。
        2. HOST_IP :集群机器ip,包括本机机器。
        3. PACKAGES: 获取到的ock rpc二进制包名(与机器操作系统架构匹配)。
        4. PATH_TO_SCP: 拷贝路径。
        5. GAUSSHOME: 同openGauss配置的环境变量GAUSSHOME一致。
        6. OCK_RPC_LIB_PATH:ock rpc二进制所在路径,共享存储会通过动态加载方式使用,请务必配置正确。
      3. 执行部署脚本ock_rpc_opengauss.sh。

        sh ock_rpc_opengauss.sh
        

         说明: 实现功能:

        • 完成集群中OCK RPC二进制包的部署,解压和拷贝。
        • 配置好相关的环境变量$OCK_RPC_LIB_PATH。
        • 配置集群节点UCX环境变量。(UCX为基于RDMA开发的通信组件,OCK RPC是在UCX基础上开发的适配共享存储的通信组件。)
      4. 配置其他参数环境变量。

        export UCX_ZCOPY_THRESH="32768"
        export UCX_USE_MT_MUTEX=n
        export UCX_NET_DEVICES=mlx5_1:1
        

        参数说明:

        1. UCX_ZCOPY_THRESH优化参数,RDMA传输过程中减少内存申请。单位:byte。默认值:32768。(可选参数,建议默认值)。

        2. UCX_USE_MT_MUTEX优化参数,RDMA发送过程中保证数据一致性锁的类型,n:原子锁;y:互斥锁。(可选参数,建议使用原子锁,性能较好)。

        3. UCX_NET_DEVICES,UCX配置参数,用于指定网卡端口,可安装mlnx_ofed驱动,使用ibdev2netdev命令查看当前RDMA活动端口。(建议指定活动端口)。

           说明: 环境变量配置完之后,执行 source ~/.bashrc

    3. 执行1~5完成gs_initdb建库。

    4. 修改postgresql.conf配置文件。

      配置ss_interconnect_type=RDMA,添加配置项ss_rdma_work_config与ss_ock_log_path。

      示例:

      ss_interconnect_type=RDMA
      ss_rdma_work_config ='6 10'     (OCK RDMA使用用户态poll方式,并绑定cpu [6 10],空格分开)
      ss_ock_log_path=“/home/ock_test/log”(OCK RDMA 消息通信过程日志记录)
      
    5. 执行gs_ctl start命令拉取数据库进程。

      gs_ctl start -D /data/ss_test/dn_primary



来源: openGauss社区文档资料

最后修改时间:2023-03-30 18:21:27
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论