对于严肃的生产环境,在正式上线之前需要进行一系列检查,来确保集群拥有最好的表现。为了简化人工检查的步骤,TiUP Cluster 提供了 check
子命令,用于检查指定集群的机器硬件和软件环境是否满足正常运行条件。
检查部署机操作系统发行版和版本:目前仅支持部署在 CentOS 7 的操作系统上,之后随兼容性改进可能支持更多系统版本。
检查部署机 CPU 是否支持 EPOLLEXCLUSIVE。
检查部署机是否安装 numactl,若用户配置绑核,则必须安装 numactl。
检查部署机系统时间是否同步:将部署机系统时间与中控机对比,偏差超出某一阈值(500ms)后报错。
检查部署机系统时区是否同步:将部署机系统的时区配置进行对比,如果时区不一致则报错。
检查部署机是否配置了时间同步服务:即 ntpd 是否在运行
检查部署机是否启用 Swap 分区:建议禁用 Swap 分区
检查各项内核参数的值:
检查部署机是否启用透明大页:建议禁用透明大页。
检查 /etc/security/limits.conf 中各项 limit 值:
其中
为部署、运行 TiDB 集群的用户,最后一列的数值为要求达到的最小值。
检查 SELinux 是否启用:建议用户禁用 SELinux。
检查 FirewallD 服务是否启用:建议用户禁用 FirewallD 或为 TiDB 集群各服务添加允许规则。
检查 irqbalance 服务是否启用:建议用户启用 irqbalance 服务。
检查 ext4 分区的挂载参数:确保挂载参数包含 nodelalloc,noatime 选项。
检查部署机上是否已有进程占用了端口:检查拓扑中定义的端口(包括自动补全的默认端口)在部署机上是否已被占用。
注意
端口占用检查假设集群尚未启动,如果检查的是已经部署并启动的集群,那么端口占用检查一定会失败,因为端口确实被占用了。
检查部署机 CPU 信息:建议生产集群 CPU 逻辑核心数 >= 16
注意
默认不检查 CPU 核心数,需要通过选项 --enable-cpu
启用。
检查部署机的内存大小:建议生产集群总内存容量 >= 32Gb。
注意
默认不检查内存大小,需要通过选项 --enable-mem
启用。
使用 fio 测试 data_dir 所在磁盘的性能,包括三个测试项目:
注意
默认不进行 fio 磁盘性能测试,需要通过选项 --enable-disk
启用。
tiup cluster check
若集群尚未部署,需要传递将用于部署集群的 topology.yml 文件,tiup-cluster 会根据该文件的内容连接到对应机器去检查。若集群已经部署,则可以使用集群的名字
作为检查对象。
注意
若传递的是集群名字,则需要配合 --cluster
选项使用。
尝试自动修复失败的检查项,目前仅会尝试修复以下项目:
数据类型:BOOLEAN
该选项默认关闭,默认值为 false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。
tiup-cluster 支持对未部署的集群进行检查,也支持对已部署的集群进行检查,命令格式:
tiup cluster check
若选择的格式为 tiup cluster check
则必须加上该选项:tiup cluster check
。
该选项的数据类型为 BOOLEAN
。该选项默认关闭,默认值为 false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。
STRINGS
[]
。注意
若同时指定了 -R, --role
,那么将检查它们的交集中的服务。
STRINGS
注意
若同时指定了 -N, --node
,那么将检查它们的交集中的服务。
BOOLEAN
false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。BOOLEAN
false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。默认情况下 tiup-cluster 不检查内存大小,该选项用于启用内存大小检查。
指定连接目标机器的用户名,该用户在目标机器上需要有免密 sudo root 的权限。
注意
仅当 --cluster
选项为 false 时该选项有效,否则该值固定为部署集群时拓扑文件中指定的用户名。
指定连接目标机器的密钥文件。
注意
仅当 --cluster
选项为 false 时该选项有效,否则该值固定为 ${TIUP_HOME}/storage/cluster/clusters/
在连接目标机器时使用密码登录:
--cluster
的集群,密码为部署集群时拓扑文件中指定的用户的密码--cluster
的集群,密码为 -u/--user
参数指定的用户的密码数据类型:BOOLEAN
该选项默认关闭,默认值为 false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。
BOOLEAN
false
。在命令中添加该选项,并传入 true
值或不传值,均可开启此功能。输出含有以下字段的表格: