今日天气
  1. 博客/

Centos7 执行 shutdown 无法正常关机的解决

·468 字·1 分钟· ·
linux centos7 shell
Johny
作者
Johny
熟练的 云原生搬砖师
Table of Contents

环境说明
#

因为在公司中,有下班后有需要关闭 服务器 的操作,并且每天还需要去手动打开。有点违背 极客精神,所有自己通过 shell script + cron 的形式进行每天定时的 开关服务器机 操作。但是服务器中不乏有一些比较老的机型,没有提供类似于 ipmi 管理功能,这些服务器自动启动依赖于主板自带的 网络唤醒 功能,如果服务器未正常关机时 (卡在关机界面),第二天早上通过网络唤醒时是无法正常打开服务器的,需要管理人员的介入管理强制关机。这篇文档主要是介绍如何优化服务器的关机时间长,服务器关机卡死问题。

操作环境
#

  • Centos7:7.9.2009

优化
#

关闭图形界面
#

如服务器中,存在图形界面的功能,建议是把他设置成命令行形式的。

systemctl get-default # 查看当前的工作模式

systemctl set-default multi-user.target # 设置为命令行界面

设置 systemctl 的超时时间
#

cp /etc/systemd/system.conf{,.bak}

vi /etc/systemd/system.conf # 编辑此文件
DefaultTimeoutStopSec=90s  # 更改为 适合自己的时间

image-20210414111258932

更新系统
#

这里更新系统的原因是,可能是软件包中存在bug,导致关机时间长。

yum update -y \
&& yum upgrade -y

优化 acpi 管理模块
#

yum -y install acpid
systemctl start acpid
systemctl enable acpid

vim /etc/default/grub
GRUB_CMDLINE_LINUX="... acpi=force reboot=warm"  # 在此行最后添加

image-20210414111742844

grub2-mkconfig -o /boot/grub2/grub.cfg  # 配置后,重新生成 grub 启动加载文件

优化 watchdog 的超时时间
#

cat /etc/systemd/system.conf|grep -i ShutdownWatchdogSec  # 默认此参数为 10min
ShutdownWatchdogSec=30s

参考文档
#

相关文章

Centos7 安装之后必要的初始化操作
·1349 字·3 分钟·
linux centos centos7 docker linux
Gitlab pre-receive WebHook 的添加与使用
·2219 字·5 分钟·
devops gitlab webhook shell
Docker 在 Centos7 中离线安装
·224 字·1 分钟·
docker centos7
使用 Docker 部署 Gitlab,及常用优化项的说明
·1417 字·3 分钟·
docker docker-compose devops gitlab centos7
Raid 阵列卡 Megacli 管理工具的使用记录
·211 字·1 分钟·
linux raid stroage
部署 Devops 必备利器 OpenLdap
·953 字·2 分钟·
devops openldap centos7