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

华为GaussDB T 配置操作系统参数

墨天轮 2019-09-28
805

配置操作系统参数

执行前置脚本gs_preinstall,GaussDB 100将自动设置集群中各主机的操作系统参数,以满足系统运行的性能要求。在特殊情况下需要手工调整操作系统参数时,请参考本章内容。

修改操作系统参数将直接影响集群的运行状态,请谨慎执行手工配置操作系统参数的操作。

  • 以root用户身份登录GaussDB 100的任意一个服务器。
  • 执行如下命令,修改操作系统参数。

    ./gs_checkos -i B -h hostname1,hostname2……,hostnameN -X /opt/software/gaussdb/clusterconfig.xml

    操作系统参数说明,请参见操作系统参数,文件系统参数说明,请参见文件系统参数。

操作系统参数

  • net.ipv4.tcp_max_tw_buckets

    说明:表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。

    推荐取值:10000

  • net.ipv4.tcp_tw_reuse

    说明:允许将TIME-WAIT状态的sockets重新用于新的TCP连接。

    • 0表示关闭。
    • 1表示开启。

    推荐取值:1

  • net.ipv4.tcp_tw_recycle

    说明:表示开启TCP连接中TIME-WAIT状态sockets的快速回收。

    • 0表示关闭。
    • 1表示开启。

    推荐取值:1

  • net.ipv4.tcp_keepalive_time

    说明:表示当keepalive启用的时候,TCP发送keepalive消息的频度。

    推荐取值:30

  • net.ipv4.tcp_keepalive_probes

    说明:在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。

    推荐取值:9

  • net.ipv4.tcp_keepalive_intvl

    说明:当探测没有确认时,重新发送探测的频度。

    推荐取值:30

  • net.ipv4.tcp_retries2

    说明:控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。

    发生“conection reset by peer”时可以尝试调大该值规避问题。

    推荐取值:80

  • vm.overcommit_memory

    说明:控制在做内存分配的时候,内核的检查方式。

    • 0:表示系统会尽量精确计算当前可用的内存。
    • 1:表示不作检查直接返回成功。
    • 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。

    内核默认是2过于保守,推荐设置为0,如果系统压力大可以设置为1。

    推荐取值:0

  • net.ipv4.tcp_rmem

    说明:TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

    推荐取值:8192 250000 16777216

  • net.ipv4.tcp_wmem

    说明:TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

    推荐取值:8192 250000 16777216

  • net.core.wmem_max

    说明:socket发送端缓冲区大小的最大值。

    推荐取值:21299200

  • net.core.rmem_max

    说明:socket接收端缓冲区大小的最大值。

    推荐取值:21299200

  • net.core.wmem_default

    说明:socket发送端缓冲区大小的默认值。

    推荐取值:21299200

  • net.core.rmem_default

    说明:socket接收端缓冲区大小的默认值。

    推荐取值:21299200

  • kernel.sem

    说明:内核信号量参数设置大小。

    推荐取值:250 6400000 1000 25600

  • vm.min_free_kbytes

    说明:保证物理内存有足够空闲空间,防止突发性换页。

    推荐取值:系统总内存的5%

  • net.core.somaxconn

    说明:定义了系统中每一个端口最大的侦听队列的长度,这是个全局的参数。

    推荐取值:65535

  • net.ipv4.tcp_syncookies

    说明:当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。

    • 0表示关闭SYN Cookies。
    • 1表示开启SYN Cookies。

    推荐取值:1

  • net.core.netdev_max_backlog

    说明:在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

    推荐取值:65535

  • net.ipv4.tcp_max_syn_backlog

    说明:记录的那些尚未收到客户端确认信息的连接请求的最大值。

    推荐取值:65535

文件系统参数

  • soft nofile

    说明:soft nofile表示软限制,用户使用的文件句柄数量可以超过该限制,但是如果超过会有告警信息。

    推荐取值:1000000

  • hard nofile

    说明:hard nofile表示硬限制,是一个严格的限制,用户使用的文件句柄数量一定不能超过该设置。

    推荐取值:1000000

网卡参数配置

手动配置时,使用如下命令配置网卡参数

./gs_checkos -i B5 -h hostname1,hostname2……,hostnameN -X /opt/software/gaussdb/clusterconfig.xml
表1 网卡参数配置

参数名

说明

预安装时是否由脚本自动设置

推荐取值

rx

网卡接收队列长度设置

4096

tx

网卡传送队列长度设置

4096

mtu

网卡最大传输单元设置

1500

  • 网卡参数配置功能只针对万兆及万兆以上级别的业务网卡。即backIp1所绑定的网卡。
  • 设置网卡参数的命令只有在设置成功后,才会被写入系统启动文件。执行失败的信息会被记入后台日志中。

其他参数设置

  • transparent_hugepage设置

    GaussDB 100默认关闭使用transparent_hugepage服务,并将关闭命令写入操作系统启动文件。

    手动配置时,使用如下命令关闭transparent_hugepage服务。如未关闭,可能造成系统性能下降,甚至系统重启。

    ./gs_checkos -i B6 -h hostname1,hostname2……,hostnameN -X /opt/software/gaussdb/clusterconfig.xml
  • 文件句柄设置

    需要对文件句柄数进行手动设置时,使用root用户执行如下命令进行参数修改,完成修改后,需重启操作系统使得设置的参数生效。

    echo "* soft nofile 1000000" >>/etc/security/limits.conf echo "* hard nofile 1000000" >>/etc/security/limits.conf

    也可使用如下命令修改文件句柄数,完成修改后,需重启操作系统使得设置的参数生效。

    ./gs_checkos -i B2 -h hostname1,hostname2……,hostnameN -X /opt/software/gaussdb/clusterconfig.xml

    使用gs_checkos修改文件句柄数后,可使用如下命令检查修改之后的结果。

    ./gs_checkos -i A7 -h hostname1,hostname2……,hostnameN -X /opt/software/gaussdb/clusterconfig.xml --detail-all
    表2 文件句柄数设置

    参数名

    说明

    预安装时是否由脚本自动设置

    推荐取值

    * soft nofile

    soft nofile表示软限制,即表示任何用户能打开的最大文件数量为1000000,不管它开启多少个shell。

    1000000

    * hard nofile

    hard nofile表示硬限制,软限制要小于等于硬限制。

    1000000

  • 系统支持的最大进程数设置

    需要对系统支持的最大进程数进行手动设置时,执行如下命令打开conf文件。

    vim /etc/security/limits.d/20-nproc.conf

    修改* soft nproc参数。

    完成修改后,需重启操作系统使得设置的参数生效。

    表3 系统支持的最大进程数设置

    参数名

    说明

    预安装时是否由脚本自动设置

    推荐取值

    * soft nproc

    soft nproc参数用来限制每个用户的最大processes数量。

    60000

  • 时间同步设置

    需要对集群节点的时间同步时,执行如下命令:

    ./gs_checkos -i C2 -h plat1,plat2......,platN -X opt/software/gaussdb/clusterconfig.xml

    检查是否与NTP服务器成功握手同步:

    ntpq -p

    检查集群节点的时间是不是同步完成:

    ./gs_checkos -i A12 -h plat1,plat2......,platN -X opt/software/gaussdb/clusterconfig.xml --detail-all
    说明:

    命令执行完成后需要等一段时间使NTP服务生效(该过程耗时约10分钟,具体同步时间受网络、操作系统影响)。

    过程中禁止修改NTP时钟源时间,否则可能导致时间同步失败。

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

评论