文档中心MogDBMogDB StackUqbar
v2.0

文档:v2.0

支持的版本:

其他版本:

系统检查

在安装数据库之前,您需要先对要安装数据库的服务器进行一下系统参数以及软件依赖等检查,确保安装过程可以顺利进行。

PTK 在检查过程中给出的系统参数值为数据库在生产环境中的建议值,不同系统版本或硬件配置存在参数差异,用户可根据自己的环境进行调优。

检查项列表

PTK 提供了 checkos 的指令来辅助您进行操作系统检查操作,在检查过程中,PTK 会对服务器上的这些模块进行检查:

类别编号 类别 检查项 说明
A1 系统版本 Check_OS_Version 检查系统版本
A2 内核版本 Check_Kernel_Version 检查内核版本
A3 字符集 Check_Unicode 检查字符集
A4 时区 Check_TimeZone 检查时区
A5 内存交换区 Check_Swap_Memory_Configure 检查 swap 内存配置
A6 sysctl参数 Check_SysCtl_Parameter 检查 sysctl 参数
A7 文件系统 Check_FileSystem_Configure 检查文件系统配置
A8 磁盘配置 Check_Disk_Configure 检查磁盘配置
A9 预读块设置 Check_BlockDev_Configure 检查块设备配置
Check_Logical_Block 检查逻辑块
A10 IO调度 Check_IO_Request 检查 IO 请求参数
Check_Asynchronous_IO_Request 检查异步 IO 请求参数
Check_IO_Configure 检查 IO 配置
A11 网络配置 Check_Network_Configure 检查网络配置
A12 时钟一致性 Check_Time_Consistency 检查时钟一致性
A13 防火墙配置 Check_Firewall_Service 检查防火墙配置
A14 透明大页配置 Check_THP_Service 检查透明大页配置
A15 依赖包 Check_Dependent_Package 检查数据库系统安装依赖
A16 CPU指令集 Check_CPU_Instruction_Set 检查CPU指令集
A17 端口状态 Check_Port 检查数据库端口是否被占用
A18 Selinux状态 Check_Selinux 检查系统Selinux是否关闭
A19 用户Ulimit状态 Check_User_Ulimit 检查数据库用户的 Ulimit 值是否满足数据库要求(系统用户存在时)
A20 数据目录检查 Check_Directory 如果数据库的数据目录已经存在时,检查其是否为空

在使用 PTK 进行系统检查时,需通过 -f 参数指定集群配置文件 来告诉 PTK 要检查的服务器,默认 PTK 会检查上述表格中所有的检查项。如果希望针对特定的检查项进行检查,可以在命令行通过 -i 参数进行指定对应的检查类别编号,多个编号时通过英文逗号进行分隔即可。

示例

# 检查全部检查项
ptk checkos

# 加上--detail 会显示详细错误信息
ptk checkos --detail

# 显式的知道要检查的多个检查类别
ptk checkos -i A1,A2,A3

检查结果分类

PTK 的检查结果分为四个等级:

  • OK:符合预期值,满足安装需求
  • Warning: 不符合预期值,但不影响安装(预期值主要针对生产环境进行的建议)
  • Abnormal: 不满足安装要求,可能会导致安装过程失败,需根据 PTK 给出的修改建议脚本,人工执行修改
  • ExecuteError: 执行错误,该等级表示 PTK 在检查时执行命令失败,可能为用户环境工具缺失或内部BUG,需根据实际错误提示进行修正

在安装数据库之前,需确保所有的检查项都在 OKWarning 级别,如果存在 Abnormal 的检查结果,在安装时会中断退出。

修复系统

PTK 在执行了 checkos 的命令后,如果存在 Abnormal 项目,会在当前目录下生成一个以 root_fix_os 为前缀的 shell 脚本文件。

您可以打开该文件进行查看里面的内容,文件包含了 PTK 针对 Abnormal 项目给出的修复建议。

在脚本中默认不生成 Warning 级别的修复建议,如果需要,需在 checkos 执行时,增加 --gen-warning-fix 参数

您可以手动执行脚本中的修复指令,也可以通过 PTK 自动在集群内所有机器上执行该脚本来进行系统修复:

因为修复的指令一般都需要超级用户权限,所以在通过 exec 指令修复时,提供的 config.yaml 中的SSH 用户需为 root 或具有 sudo 免密执行的权限

ptk exec -f config.yaml -s <root_fix_os.xxx.sh>
Copyright © 2011-2024 www.enmotech.com All rights reserved.