首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数据库管理-第355期 Linux4DB,配置检查与操作一览(20250808)

数据库管理-第355期 Linux4DB,配置检查与操作一览(20250808)

作者头像
胖头鱼的鱼缸
发布2026-07-02 14:23:23
发布2026-07-02 14:23:23
70
举报

数据库管理-第355期 Linux4DB,配置检查与操作一览(20250808)

30efd366624530ae0b59caeac2b6a15a.jpg
30efd366624530ae0b59caeac2b6a15a.jpg

因为世运会在成都举办,昨天在客户现场值守到了快大半夜,一天除了工作以外,就是画了一张图。

数据库安装Linux操作系统配置检查操作示意图水印版.png
数据库安装Linux操作系统配置检查操作示意图水印版.png

画这张图的主要原因其实是最近和一些小伙伴聊到在国产化硬件或者使用国产基于Linux发展的OS上运行各种数据库时候遇到了一些问题,因此想着总结一下。本期内容不一定包含所有检查、操作项的所有解释及操作流程,如有缺失请自行查阅相关信息;如有遗漏或不合理之处可留言反馈。

防火墙&SELinux

关于防火墙,无论是firewalld还是念旧使用iptables,我们一般都会选择将其关闭以避免出现主机无法访问的情况;在一些特定场合需要限制网络访问时,需要通过防火墙对IP和端口进行限制。 SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制。SELinux的机制就不做过多深入介绍了,在大多数情况下开启SELinux会导致各种软件无法运行,一般需要关闭,当然也有像Oracle这类的可以在SELinux开启的情况下正常运行;当然在一些特定场合下还是得配置SELinux。

主机名

感觉在很多地方都没有配置主机名和/etc/hosts,这个确实是一个按需的操作,但其实这是个很好用的配置内容,类似于DNS可以让你输入网址而不是IP。在一些集群配置中使用主机名管理也更加方便,稍微麻烦一点的是当全局主机出现增减时需要同步更新hosts文件。

sysctl.conf&HugePage

这里就不多讲了,不同的数据库需要不同的系统参数,一般通过/etc/sysctl.conf进行配置,其中也包含大页配置。

用户

这里包含创建用户,设置密码,有时候还需要配置一下用户组。然后就是对安全进行配置,比如通过配置PAM限制su、指定密码强度等;和SSH的配置,比如加密算法、root禁登等。

limlts.conf

在用户配置完成后一般会根据需求配置其相关的一些限制,比如打开文件数、信号量、进程、内存等限制。主要在以下文件/目录进行配置:

代码语言:javascript
复制
/etc/security/limits.conf
/etc/security/limits.d/xxx.conf

THP

一般来说大多数数据库运行要求需要关闭透明大页(Transparent HugePages),以避免出现性能或者运行问题。可以通过以下命令检查,输出为[never]即为关闭。

代码语言:javascript
复制
[oracle@svXXX ~]$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

#如果上面返回结果不是never则需要进行以下配置
cat >>/etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF

chmod +x /etc/rc.d/rc.local
reboot

内核

在运行某些特定程序的时候可能需要对内核进行升级或增加额外编译内容。

NUMA

在多核心CPU环境下有时候是需要配置NUMA的,主要涉及关闭或开启以及策略配置。可以在GRUB中配置NUMA是否开启、使用numactl配置策略。

SWAP

一些数据库为了避免性能出现抖动要求关闭SWAP,或者直接不配置SWAP分区。在开启SWAP的情况下对其大小也会有一定要求。

IO调度器

大多数情况下会自动选择,

代码语言:javascript
复制
# cat /sys/block/<设备名>/queue/scheduler
[oracle@ ~]$ cat /sys/block/sda/queue/scheduler 
[mq-deadline] kyber bfq none
[oracle@svXXX ~]$ cat /sys/block/nvme0n1/queue/scheduler 
[none] mq-deadline kyber

软件包

按需安装软件包,有些数据库软件会自带并自动安装(当然有些数据库安装也会自动完成对操作系统的部分配置)。

目录

创建数据库安装、数据或日志目录,并配置对应的权限。

时间同步

选择chronyd或ntpd完成时间同步,这是必须的!不止是数据库,不止集群,而是所有主机。

时钟源

其实这个才是本篇文章比较重要的部分,在部分国产CPU上操作系统选择了错误的时钟源导致性能十分低下的线下,可以通过下面两个文件查看可用时钟源和当前时钟源:

代码语言:javascript
复制
[oracle@svXXX ~]$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm 
[oracle@svXXX ~]$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
tsc

关于时钟源相关的解释和相关配置需要注意的内容,OceanBase有一篇比较详尽的介绍,这里直接贴出来供大家查阅:

https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002356016

总结

本期通过一张图,简单介绍了安装数据库的Linux操作系统需要检查、操作的配置内容。 老规矩,知道写了些啥。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 胖头鱼的鱼缸 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库管理-第355期 Linux4DB,配置检查与操作一览(20250808)
    • 防火墙&SELinux
    • 主机名
    • sysctl.conf&HugePage
    • 用户
    • limlts.conf
    • THP
    • 内核
    • NUMA
    • SWAP
    • IO调度器
    • 软件包
    • 目录
    • 时间同步
    • 时钟源
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档