绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
FAQ-如何解决修改IP过程中Linux系统很慢的问题
2020-01-13 17:10:13

问题

在修改IP时,需要先修改节点Linux系统中的IP。如果因为需要修改LdapServer服务的业务IP而修改Linux系统IP,重启网络服务后可能导致集群所有节点执行操作很慢。

 说明:

登录系统后,执行su - ommntpq -pn或者id admin命令,如果上述命令执行后,超过3s才返回结果,说明系统执行操作很慢。

回答

修改了Linux系统IP后但未修改集群IP配置时,LdapClient中保留了LdapServer服务端旧的业务IP,需要在重启网络服务后修改IP配置文件之前手动修改所有节点的配置。修改后配置文件将自动生效。

操作步骤

  1. 先获取配套的SetupTool工具包,并使用WinScp软件,使用root用户将工具包上传至集群内任意节点(例如上传至“/opt”目录),并执行如下命令解压缩工具包:

    tar -zxvf FusionInsight_SetupTool_6.5.1.tar.gz

  2. 使用PuTTY,以root用户登录该工具包所在节点,切换目录到工具包中的工具路径(例如“/opt/FusionInsight_SetupTool/preinstall/tools/cluster/”)。

    cd /opt/FusionInsight_SetupTool/preinstall/tools/cluster/

  3. 检查集群中节点的OS类型。

    • SUSE系统,执行4
    • RedHat/CentOS/Euler,执行5

  4. 拷贝如下命令:

    main()
    {
    local argv="${1}"
    if [ "${argv}" == "modify" ];then
    cp /etc/nsswitch.conf /etc/nsswitch.conf_bak
    sed -i "s/ldap//g" "/etc/nsswitch.conf"
    elif [ "${argv}" == "restore" ];then
    mv /etc/nsswitch.conf_bak /etc/nsswitch.conf
    fi
    }
    source /home/omm/.profile
    main "$@"

  5. 拷贝如下命令:

    main()
    {
    if [ "${argv}" == "modify" ];then
    cp /etc/nsswitch.conf /etc/nsswitch.conf_bak
    sed -i "s/sss//g" "/etc/nsswitch.conf"
    elif [ "${argv}" == "restore" ];then
    mv /etc/nsswitch.conf_bak /etc/nsswitch.conf
    fi
    }
    source /home/omm/.profile
    main "$@"

  6. 4或者5拷贝的命令保存到以modifynss.sh命名的脚本中,脚本请放置在工具包根目录“preinstall/tools/cluster/”路径中。
  7. 拷贝如下命令:

    main()
    {
    local ip1="${1}"
    local ip2="${2}"
    if [ -z "$ip1" -a -z "${ip2}" ];then
    echo "IP paramters should not be null."
    exit 1
    fi
    local basepath=$(ls "${BIGDATA_HOME}/" | grep "FusionInsight_BASE_")
    local path=$(ls "${BIGDATA_HOME}/${basepath}/" | grep "SlapdClient")
    local file="${BIGDATA_HOME}/${basepath}/"${path}/etc/ENV_VARS
    local server_list_lines=$(grep -w "LDAP_SERVER_LIST" "${file}" | grep -v "#")
    local server_list_lines_replace="LDAP_SERVER_LIST=${ip1},${ip2}"
    local upg_list_lines=$(grep -w "LDAP_SERVER_LIST_UPGRADE" "${file}" | grep -v "#")
    local upg_list_lines_replace="LDAP_SERVER_LIST_UPGRADE=${ip1},${ip2}"
    if [ -n "${server_list_lines}" ];then
    sed -i "s#${server_list_lines}#${server_list_lines_replace}#g" "${file}"
    fi
    if [ -n "${upg_list_lines}" ];then
    sed -i "s#${upg_list_lines}#${upg_list_lines_replace}#g" "${file}"
    fi
    }
    source /home/omm/.profile
    main "$@"

  8. 7拷贝的命令保存到以modify.sh命名的脚本中,脚本请放置在工具包根目录“preinstall/tools/cluster/”路径中。
  9. root用户,在工具包“preinstall/tools/cluster/”路径下面执行命令:

    vi cluster.ini

    修改其中的g_hosts=""参数值,将集群的所有节点IP(节点IP可以通过安装模板获取到)添加到其中,修改后保存退出编辑。

  10. root用户,在工具包“preinstall/tools/cluster/”路径下面执行如下命令分发执行脚本到各节点。

    ./clusterscp.sh put /opt/FusionInsight_SetupTool/preinstall/tools/cluster/modifynss.sh /tmp/

    ./clusterscp.sh put /opt/FusionInsight_SetupTool/preinstall/tools/cluster/modify.sh /tmp/

  11. root用户,在工具包“preinstall/tools/cluster/”路径下面执行如下命令。

    ./clustercmd.sh "sh /tmp/modifynss.sh modify"

    ./clustercmd.sh "sh /tmp/modify.sh LDAPIP1 LDAPIP2"

    其中LDAPIP1和LDAPIP2分别是新的LdapServer服务的业务IP。例如:./clustercmd.sh "sh /tmp/modify.sh 10.0.0.9 10.0.0.12"。

  12. 等待5分钟,以root用户,在工具包“preinstall/tools/cluster/”路径下面执行如下命令,观察查询出来的IP是否为LDAPIP1和LDAPIP2。

    ./clustercmd.sh "cat /etc/ldap.conf | grep URI"(非SUSE系统该命令不需要执行)

    ./clustercmd.sh "cat /etc/openldap/ldap.conf | grep URI"

    • 是,执行13
    • 否,等待5分钟,继续执行12

  13. root用户,在工具包“preinstall/tools/cluster/”路径下面执行如下命令:

    ./clustercmd.sh "sh /tmp/modifynss.sh restore"

分享好友

分享这个小栈给你的朋友们,一起进步吧。

GaussDB_数据库
创建时间:2020-01-06 16:21:44
华为GaussDB数据库小栈
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • GaussDB_数据库
    专家
戳我,来吐槽~