首页
学习
活动
专区
圈层
工具
发布

systemd挂盘超时导致系统进入emergency问题分析

根据控制台提示输入快捷键CTRL+D后系统正常启动 查看systemd服务data.mount状态可以看到服务启动超时: image.png data.mount是由systemd-fstab-generator...查看data.mount的超时时间是1min30s image.png 从message日志中也可以看到从开始执行data.mount到打印超时日志中间经过90s image.png 而实际mount...命令完成recovery结束时间为09:37:08, 距离mount开始时间09:28:01,耗时 9分01秒,所以data.mount服务执行超时失败: image.png 分析清楚系统启动失败的原因后...e trace=execve /usr/lib/systemd/systemd-fsck /dev/vdb可以看到systemd-fsck最终调用的是fsck.xfs man fsck.xfs说明并不会做任何事情...调整多大合适呢, 因为uwork启动时最长会连续ping半小时来判断系统是否启动成功,所以我们就将该值设置为半小时TimeoutSec=1800s: 由于当前使用的systemd版本还不支持配置systemd.mount-timeout

4.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记一次 Kafka 重启失败问题排查

    接下来运维在 kafka-manager 查不到 broker0 节点了处于假死状态,但是进程依然还在,重启了好久没见反应,然后通过 kill -9 命令杀死节点进程后,接着重启失败了,导致了如下问题:...> baseOffset = true // 正常 这个判断逻辑我的理解是: entries 索引块等于零时,意味着索引没有内容,此时可以认为索引文件是没有损坏的;当 entries 索引块不等于 0...解决思路分析 矛盾点都是因为 broker0 重启失败导致的,那么我们要么把 broker0 启动成功,才能恢复 A 主题 34 分区。...后续集群的优化 制定一个升级方案,将集群升级到 2.x 版本; 每个节点的服务器将 systemd 的默认超时值为 600 秒,因为我发现运维在故障当天关闭 33 节点时长时间没反应,才会使用 kill...但据我了解关闭一个 Kafka 服务器时,Kafka 需要做很多相关工作,这个过程可能会存在相当一段时间,而 systemd 的默认超时值为 90 秒即可让进程停止,那相当于非正常退出了; 将 broker

    2.7K20

    一文搞定systemd和service命令的所有坑

    nginx status 在支持systemd的系统上,service命令实际上是一个兼容性包装,它会将命令转换为对应的systemctl调用。...-u nginx --since today 常见故障排查 服务启动失败是最常见的问题。...检查端口占用: netstat -tlnp | grep :80 我遇到过一个奇怪的问题,nginx服务显示启动成功,但是访问不了。后来发现是防火墙的问题,端口被blocked了。...这种情况下systemctl status是看不出问题的,需要结合其他工具排查。 还有一次是因为磁盘空间不足导致服务启动失败,错误信息也不明显,最后通过df -h才发现问题。...,比如PrivateTmp、NoNewPrivileges等 • 定期更新系统和软件包 • 监控异常的服务重启和失败 性能优化方面 • 使用systemd-analyze分析启动性能 • 禁用不必要的服务

    1.1K10

    故障分析 | MySQL clone 自动重启失败的解决方式

    但是在进行 clone 操作的过程中,当拉取数据完成并进行自动重启 server 时,总是会出现重启失败的现象,如: 日志报错提示 RESTART 失败,需要在后面手动重启,错误代码3707,即:ERROR...recipient server 在 clone 数据拉取完成后会进行重启操作,前提是监控进程可用。...而当出现相关报错时也不用担心,并不能说明 clone 失败了,随后只需要手动重启就可以了。 通过上面的日志和官方文档我们得到了出现重启失败的两个线索:RESTART 、监控进程。...RESTART”命令,需要有一个监控进程,所以“RESTART”执行成功与否的关键就在于这个监控进程,而这个监控进程到底是什么文档在后面也进行了说明: 这时候我们就知道在类 Unix 系统中使用 systemd...而官方设置的重启时机是“on-failure” , 即数据库当遇到异常宕机、进程中断信号或监控超时时就会进行重启,但是当数据库异常宕机时,有时我们并不想让数据库立刻自动重启,而是需要在运维和开发人员确认过问题之后进行手动重启

    1.8K20

    MySQL kill -9和kill -15后能否被systemd自动拉起

    原因藏在了MySQL的systemd的配置文件里,如下:注意上图中标红的地方, 在systemd中,Restart 一般有如下几种值:no:默认值,表示服务不会自动重启。...on-success:如果服务以成功状态(即退出码为0)退出,则会重启服务。on-failure:如果服务以失败状态(即非零的退出码)退出,则会重启服务。...on-watchdog:如果 watchdog 超时导致服务被终止,则会重启服务。这通常用于那些配置了 WatchdogSec 的服务。...on-abort:这是一个较旧的术语,现在等同于 on-abnormal。always:无论服务如何退出,都会重启服务。...根据上面的2个实验:因为 kill -15的退出码是0(通常正常的退出码都是0的),因此systemd不会再次尝试拉起MySQLD进程。

    55410

    Linux中将普通脚本注册为系统服务

    什么是系统服务在Linux系统中,系统服务(也称为守护进程)是一种在后台运行的程序,它通常用于执行特定的系统任务,比如管理网络连接、监听端口、处理日志等。...使用systemd管理服务systemd是大多数现代Linux发行版中用于管理系统服务的工具。它提供了systemctl命令来控制服务,以及.service文件来定义服务的行为。...确保将ExecStart中的/path/to/myscript.sh替换为你的脚本实际路径。步骤3:启动服务并设置为开机启动现在,你可以使用systemctl命令来启动服务,并设置为开机启动。...dbus:服务是一个D-Bus服务。notify:服务在启动时发送一个通知。重启策略Restart字段定义了服务失败时的重启策略。可能的值包括:no:不重启服务。...on-success:服务成功退出时重启。on-failure:服务非正常退出时重启。on-abnormal:服务非正常退出或超时时重启。on-watchdog:服务的watchdog超时时重启。

    1.1K00

    Patroni + HAProxy + Keepalived + watchdog + ETCD 各组件原理

    #健康检查间隔fall3#失败阈值(3次失败标记为down)rise2#恢复阈值(2次成功标记为up)optionpgsql-check#PostgreSQL专用健康检查timeoutconnect5s...-代理请求和响应ProcessResponse-处理服务器响应CloseConnection-关闭连接并清理HAProxy负载均衡算法包含以下内容,默认的是RoundRobinRoundRobin-轮询算法...:主节点故障:自动选举新主节点,VIP无缝转移健康检查失败:优先级调整,自动切换状态服务恢复:自动回到正常状态ETCD组件etcd是基于Raft协议的分布式键值存储,为Patroni集群提供强一致性的状态存储与共识服务...Watchdog恢复处理流程如下:故障检测-Watchdog检测到心跳超时告警通知-通知管理员和监控系统服务重启-Systemd重启Patroni服务系统重启-内核Watchdog触发系统重启(最后手段...日志位置Patroni组件Patroni是PostgreSQL高可用架构的核心管家,基于etcd共识机制实现自动化的主备选举、故障检测与故障转移,实时监控数据库状态并维护集群配置一致性,协调主备节点的流复制同步

    20810

    Patroni + HAProxy + Keepalived + watchdog + ETCD 各组件原理

    2 # 恢复阈值(2次成功标记为up) option pgsql-check # PostgreSQL专用健康检查 timeout connect 5s # 连接超时 timeout...Patroni 的定时心跳来监控其运行状态,一旦检测到进程假死、无响应或心跳超时,会立即触发服务甚至服务重启,强制终止异常节点的不确定状态,有效防止脑裂问题,保障数据库集群的一致性和可用性。...- 通知管理员和监控系统 服务重启 - Systemd 重启 Patroni 服务 系统重启 - 内核 Watchdog 触发系统重启(最后手段) 恢复验证 - 检查集群状态和数据一致性 Watchdog...防止脑裂的工作原理如下: 心跳超时检测: 30 秒内未收到心跳 自动重启机制: 防止故障节点继续写入 集群状态验证: 与 etcd 集群状态对比 数据一致性检查: 验证 WAL 日志位置 Patroni...组件 Patroni 是 PostgreSQL 高可用架构的核心管家,基于 etcd 共识机制实现自动化的主备选举、故障检测与故障转移,实时监控数据库状态并维护集群配置一致性,协调主备节点的流复制同步

    23910

    :流年不利啊,才处理了线程死亡案件,这次更猛,连着死了几个进程

    ,就是执行去startup.sh来顺序启动几个服务,startup.sh的逻辑也比较简单,就是根据参数来重启对应的服务,重启的逻辑就是,先停止服务,再启动服务,启动后,我们会调用如下 url 来检测服务是否启动成功...,是16:02:12.517,此时,打印的这行业务日志是代表我们已经成功启动了。...journalctl _SYSTEMD_UNIT=bootstrap.service journalctl 日志分析 由于我们尝试过多次重启,可能上文中的日志时间和下面的不是配套的,但不影响具体问题的分析哈...如果一个后台服务没有在指定时间内通知systemd, 告知我们启动完成的话,service会被认为是失败了,将会被关闭。单位为s,也可以手动指定单位,如"5min 20s"。...查看下 status,test.service 已经失败了,原因是超时: 然后 shell2 中,再去查看 9999 端口的进程是否还在: ok,进程已死。

    61620

    深入解析 systemd 服务启动失败问题:以 Kafka 服务为例

    深入解析 systemd 服务启动失败问题:以 Kafka 服务为例 引言 在 Linux 运维和系统管理中,systemd 是最常用的服务管理工具之一。...然而,在实际使用过程中,我们经常会遇到服务启动失败的情况,而日志信息往往不够直观。...本文将以一个真实的 Kafka 服务启动失败案例为例,详细分析 systemd 服务失败的排查思路、解决方案,并提供优化建议。 1....2.2 systemd 服务配置问题 Type 设置不正确: 如果 deployer.sh 启动的是守护进程(如 Kafka),Type 应该设为 forking,否则 systemd 可能误判主进程状态...总结 通过本案例,我们学习了: 如何分析 systemd 服务失败日志。 排查 Kafka 服务崩溃的常见原因(如配置错误、资源不足)。 优化 systemd 单元文件和启动脚本。

    46310

    systemctl命令

    systemctl命令 Systemd是一个命令组,涉及到系统管理的方方面面,而systemctl是Systemd的主命令,用于管理系统。....]: 重置指定单元的fail状态,或者如果没有传递单元名称,则重置所有单元的状态,当一个单元以某种方式发生故障(即进程带非零错误代码退出、异常终止或超时)时,它将自动进入fail状态,并记录其退出代码和状态供管理员自查...和其他命令,尽管它没有直接安装在单位搜索路径中。...PartOf: 这是一个BindTo作用的子集,仅在列出的任何模块失败或重启时,终止或重启当前服务,而不会随列出模块的启动而启动。...Docker第一次运行时可以能会需要从网络下载服务的镜像文件,因此造成比较严重的延时,容易被systemd误判为启动失败而杀死,通常对于这种服务,需要将TimeoutStartSec的值指定为0,从而关闭超时检测

    2.5K20

    编写一个服务systemd的启动方式

    一种使用场合是为让该服务的输出,不与其他服务的输出相混合重启行为Service区块有一些字段,定义了重启行为。KillMode字段:定义 Systemd 如何停止 sshd 服务。...接下来是Restart字段。Restart字段:定义了 sshd 退出后,Systemd 的重启方式。上面的例子中,Restart设为on-failure,表示任何意外的失败,就将重启sshd。...no(默认值):退出后不会重启on-success:只有正常退出时(退出状态码为0),才会重启on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启on-abnormal:...只有被信号终止和超时,才会重启on-abort:只有在收到没有捕捉到的信号终止时,才会重启on-watchdog:超时退出,才会重启always:不管是什么退出原因,总是重启对于守护进程,推荐设为on-failure...对于那些允许发生错误退出的服务,可以设为on-abnormal。最后是RestartSec字段。RestartSec字段:表示 Systemd 重启服务之前,需要等待的秒数。上面的例子设为等待42秒。

    99720

    linux离线安装docker20.10.7 版本(亲测有效)

    TimeoutStartSec:指定了服务启动的超时时间,这里设置为 0,表示没有超时限制。 Delegate:指定了是否将服务的控制权委托给其他单元,这里设置为 yes,表示委托给其他单元。...KillMode:指定了服务被终止时的行为,这里设置为 process,表示终止主进程。 Restart:指定了服务在失败时是否重启,这里设置为 on-failure,表示只有在失败时才重启。...这样,你就可以使用 systemd 命令来启动、停止、重启和管理 Docker 守护进程。...通过执行这些命令,你设置了 Docker 服务的可执行权限,重新加载了 systemd 的配置,将 Docker 服务设置为开机启动,并启动了 Docker 服务。...最后,通过运行docker-compose --version命令,你可以验证安装是否成功,并查看安装的Docker Compose版本号。

    8.6K10

    systemd调试

    有一种可能是启动困难的服务在这个超时后会被杀死,启动会继续正常进行。另一种可能性是,一个重要的挂载点的设备将无法出现,你将会看到紧急模式。...诊断关机问题 就像开机问题一样,当你在关机过程中遇到挂起时,确保你至少等待5分钟,以区分永久性的挂起和只是超时的坏服务。然后值得测试的是,系统是否对CTRL+ALT+DEL有任何反应。...如果你的系统关机(无论是重启还是断电)被卡住了,首先测试内核本身是否能够使用这些命令来强制重启或断电。 如果这两个命令中的任何一个都不起作用,那就很可能是内核的问题,而不是 systemd 的问题。.../usr/lib/systemd/system-shutdown/debug.sh并使其可执行。...默认情况下,服务的 stdout 和 stderr 都指向 systemd 日志,服务通过 syslog(3) 生成的日志也会进入该日志,systemd 还会保存失败服务的退出代码。我们来看看。

    1.9K20

    使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

    介绍 Rails是一个用Ruby编写的开源Web应用程序框架。Nginx是一种高性能HTTP服务器,反向代理和负载均衡器,以其并发性,稳定性,可伸缩性和低内存消耗而著称。...与Nginx一样,Puma是另一个极其快速且并发的Web服务器,内存占用非常小,但是为Ruby Web应用程序构建。 Capistrano是一个远程服务器自动化工具,主要关注Ruby Web应用程序。...注意:如果第二个命令失败并显示消息“GPG签名验证失败”,则表示GPG密钥已更改,只需从错误输出中复制命令并运行它以下载签名。然后运行用于RVM安装的curl命令。...git遥控器是否是最新的 管理您应用的日志 在管理Puma工作人员时将应用程序预加载到内存中 完成部署后启动(或重新启动)Puma服务器 在发行版中的特定位置打开Puma服务器的套接字 您可以根据需要更改所有选项...,进行首次部署: $ cap production deploy:initial 这会将您的Rails应用程序推送到服务器上,为您的应用程序安装所有必需的gem,并启动Puma Web服务器。

    8.3K40

    Docker in docker的一些故障检查过程

    这个镜像的准备步骤是从docker下载当前1.9.1版安装(并固化到镜像里)CMD是一个脚本,先启动带debug选项的docker daemon 并放后台运行,然后pull并运行centos:7 一次,...我尝试了一下,其它机器也不是全都失败,只是失败概率极高,偶尔还能遇到stack overflow;rz-ep17也不是每次都成功,但成功率极高。...首先双人交叉检查故障机和正常机的软件版本,发现Host内核、Docker外层daemon版本均精确一致、命令行精确一致;内层docker不管什么版本都能重现故障。听起来似乎是灵异现象。...搜源代码也搜不到docker.service 这个字符串,于是只能判定为该路径是从外部获取并拼装起来的。考虑到命令行精确一致,我又去看了看环境变量,也没有发现相关内容。...但这俩服务有强关联:systemctl restart docker重启还是错误内容;systemctl stop再start docker成功,但会导致kubelet服务停止。

    61610

    Systemd 入门教程:实战篇

    接下来是Restart字段。 Restart字段:定义了 sshd 退出后,Systemd 的重启方式。...上面的例子中,Restart设为on-failure,表示任何意外的失败,就将重启sshd。如果 sshd 正常停止(比如执行systemctl stop命令),它就不会重启。...no(默认值):退出后不会重启 on-success:只有正常退出时(退出状态码为0),才会重启 on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启 on-abnormal...:只有被信号终止和超时,才会重启 on-abort:只有在收到没有捕捉到的信号终止时,才会重启 on-watchdog:超时退出,才会重启 always:不管是什么退出原因,总是重启 对于守护进程,推荐设为...对于那些允许发生错误退出的服务,可以设为on-abnormal。 最后是RestartSec字段。 RestartSec字段:表示 Systemd 重启服务之前,需要等待的秒数。

    1.3K70

    【CentOS7操作系统安全加固系列】第(4)篇

    当登录失败次数达到设置的一半时,错误消息将被写入syslog文件详细记录登录失败。...ssh localhost -o NumberOfPasswordPrompts=6 //通过-o NumberOfPasswordPrompts指定1次连接可以尝试的密码,默认是3次 -o NumberOfPasswordPrompts...设置了ssh服务允许客户端在接收到服务端的alive消息未响应的最大超时次数,如果客户端在最大超时次数内均未响应,ssh服务会自动终止与客户端的会话。...审计描述:检查/usr/lib/systemd/system/reboot.target文件,如果该文件不存在、该文件都注释掉、该文件为空则pass,或者如果软链接文件/usr/lib/systemd.../lib/systemd/system/ctrl-alt-del.target 或者systemctl mask ctrl-alt-del.target 虚拟机测试发送Ctrl+Alt+Del不会重启

    4.4K51
    领券