tiup cluster check --apply 更改持久化需求

需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】

在使用 TiUP 部署 TiDB 集群时,需要使各集群节点满足“系统软需求”(https://docs.pingcap.com/zh/tidb/stable/check-before-deployment) ,我们运维人员通常称之为“初始化操作系统”,只不过这里的初始化是为部署 TiDB 集群准备的。
目前,官方提供了 tiup cluster check <topology.yml | cluster-name> [flags] 命令来帮助我们检测系统是否已满足需求,非常方便;同时,通过 “–apply” flag 可以修复“失败的检测项”。在部署集群的过程中,偶然因为一台主机重启,意外发现“THP”和“irqbalance”的“优化”失效了,也就是主机重启后,这两个配置又还原为系统初始状态了(CentOS 7.6),这至少说明 “–apply” 的更改,在这两个检测项上是没有做持久化的。这在集群节点意外重启后,可能会埋下隐患,具体可能产生的影响,就需要官方评估下了。

【期望的需求行为】

期望官方能将 “–apply” flag 产生的更改都持久化,如果无法做到,请在 apply 后反馈提示信息,同时在官方文档对应出给出“提醒”。

【需求可替代方案】

临时处理方案:

  1. irqbalance 服务
    对于 CentOS 7 系统,irqbalance.service 安装后,默认不会开机自启动,可以通过执行 systemctl enable irqbalance.service 来解决。对于 Ubuntu 1804 系统,默认应该是开机自启动,可以通过 systemctl start irqbalance.service 确认。对于其他版本系统,均可按后面的方法检查下。
  2. THP(透明大页)
    由于水平所限,目前只知道通过修改 /sys/kernel/mm/ 来实现,如有更优方式,请大佬补充。
    # 查看,都为 never 表示透明大页关闭,也是官方目前推荐的
    cat /sys/kernel/mm/transparent_hugepage/defrag
    cat /sys/kernel/mm/transparent_hugepage/enabled
    
    # 关闭(如果没有关闭,执行下面两条命令即可)
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
    
    如果想要实现持久化,可以将后面的两条命令写到“开机启动脚本”中,如 /etc/rc.local

【背景信息】
如哪些用户将从中获益,以及一些使用场景,任何API设计,模型或者图标都会更有帮助。