解决Centos/Mysqld 重启或关机时间慢问题

项目场景:

提示:centos 8测试环境中,将通过二进制安装的服务添加到systemd服务管理中,并对其进行测试,看是否能满足线上需求,即开机自动启动。由于添加到systemd的服务并未达到想象中的开机自启动的效果,因此需要对服务器进行不断的重启。


问题描述

提示:通过使用reboot、shutdown -h now、init 0 等关机重启命令后,系统界面直接黑屏,并没有任何提示信息,但是通过ping 主机的IP地址,一直的是通的,端口是不通的,通过多次重启关机,发现操作系统从执行完关机重启命令后,将近5分钟的时间系统才能正常登录,在此期间ping ip地址一直是通,,直到启动系统时会丢3~4ping包,说明操作系统并未真正的进行关机而是卡在停止某个服务中。


原因分析:

提示:系统启动后,逐一将相关服务通过systemctl stop xx.service,在进行启动,看中间的时间间隔是否过长,同时使用journalctl 命令进行查询上次重启日志信息。

1、配置journalctl,否则将会出现以下报错信息:

2、配置如下:

# 修改配置文件
# sed -i 's/#Storage=auto/Storage=auto/g' /etc/systemd/journald.conf 

# 修改后
# grep 'Storage' /etc/systemd/journald.conf
 Storage=auto

# 创建journal日志目录
# mkdir /var/log/journal  如果已经有了就不用创建

# 重启journald.service
# systemctl restart systemd-journald.service

3、 journal日志设置完毕后,对服务进行重启操作,并使用journal -rb -1 查看日志得出:

4、查询到系统重启或者关闭时,系统卡在停止mariadb服务上,重点对mariadb进行检查,可登录到mysql服务中进行查看;

show variables like '%innodb_buffer_pool%';

 

 其中参数:innodb_buffer_pool_dump_at_shutdown,即当数据库实例或者正常关闭的时候,将缓冲池(buffer_pool)的数据导入保存到磁盘文件(即数据库的数据目录下的ib_buffer_pool文件)数据库启动后会自动加载到将缓冲池(buffer_pool)中

详情可查看官方文档:MySQL :: MySQL 8.0 Reference Manual :: 15.8.3.6 Saving and Restoring the Buffer Pool State


解决方案:

提示:关闭缓冲池开机自动加载,同时开启缓冲池开机手动加载,详情如下:

1、关闭 缓冲池自动加载,innodb_buffer_pool_load_at_startup=0

        修改/etc/my.cnf 添加 innodb_buffer_pool_load_at_startup=0 选项,重启mysqld服务即可。

        为啥不能在数据库直接修改?因为 innodb_buffer_pool_load_at_startup是只读文件,所以只能在配置文件修改:

 2、开启缓冲池手动加载  innodb_buffer_pool_load_now =1

MariaDB [(none)]> SET GLOBAL innodb_buffer_pool_load_now=1;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> SHOW STATUS LIKE 'Innodb_buffer_pool_load_status';
+--------------------------------+--------------------------------------------------+
| Variable_name                  | Value                                            |
+--------------------------------+--------------------------------------------------+
| Innodb_buffer_pool_load_status | Buffer pool(s) load completed at 220721 10:00:09 |
+--------------------------------+--------------------------------------------------+
1 row in set (0.002 sec)

至此,数据库/操作系统服务重启时间长的问题进行解决,同时服务器/数据库重启时间慢,相信以上这并不是唯一的原因,重点的还是要根据日志信息进行分析排查,最终解决故障问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
可采用以下步骤来解决"/dev/mapper/centos-root 100%"的问题: 1. 首先,为了增加根目录的容量,可以使用以下命令来格式化分区和扩展逻辑卷: [1] - 通过mkfs.xfs -f /dev/sdb1命令格式化/dev/sdb1分区。 - 使用pvcreate /dev/sdb1命令创建物理卷。 - 使用vgextend centos /dev/sdb1命令将物理卷添加到centos卷组。 - 使用lvextend -l 100%FREE /dev/mapper/centos-root命令将逻辑卷扩展到占用所有可用空间。 - 最后,使用xfs_growfs /dev/mapper/centos-root命令扩展文件系统容量。 2. 如果问题是由日志占用空间导致的,可以尝试以下思路来排查: - 切换到根目录下,可以使用cd /命令。 - 使用du -h -x --max-depth=1命令来检查各个目录的占用空间,这将显示根目录下每个目录的大小。 - 根据结果找到占用空间较大的目录,并进一步排查该目录中文件的占用情况。 通过以上步骤,您应该能够解决"/dev/mapper/centos-root 100%"的问题,并释放根目录的空间。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [解决:/dev/mapper/centos-root 100%问题](https://blog.csdn.net/CutelittleBo/article/details/128241521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想个响亮的名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值