ITPub博客

首页 > 数据库 > > FAQ-如何解决修改IP过程中Linux系统很慢的问题

FAQ-如何解决修改IP过程中Linux系统很慢的问题

作者:GaussDB_数据库 时间:2020-01-13 17:10:13 0 删除 编辑

问题

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

 说明:

登录系统后,执行su - omm、ntpq -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"

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3147082/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19245