容器升级内核及重启后遇到的问题

简介: 容器升级内核及重启后遇到的问题

前景描述


公司10台物理服务器,系统为Redhat7.9,因安装K8S,需将内核升级至3.10.0-1060以上,并修改相关参数,否则会造成内存泄露问题。


操作步骤


需要用到的升级包及顺序如下


linux-firmware-20190429-72.gitddde598.el7.noarch.rpm
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64.rpm
kernel-tools-3.10.0-1062.4.1.el7.x86_64.rpm
kernel-headers-3.10.0-1062.4.1.el7.x86_64.rpm
kernel-devel-3.10.0-1062.4.1.el7.x86_64.rpm
kernel-3.10.0-1062.4.1.el7.x86_64.rpm



问题汇总


  • 重启后服务器长时间无法SSH链接且无法PING通,登陆BMC控制台查看,发现已进入系统引导界面并卡在“start crash recovery kernel arming.ails.nt. certficates”
  • 通过卡主此行描述得知“Crash Recovery与kdump服务有关”,进行查阅资料得知需在/etc/default/grub中加入“crashkernel”参数
  • 我的服务器grub文件中未发现自动配置的“crashkernel=auto”参数,所以缺少此参数,故重启后停留在“start crash recovery kernel arming.ails.nt. certficates”界面。


Kdump服务及CrashKernel参数


kdump
  • 什么是kdump
    kdump是一种先进的基于 kexec 的内核崩溃转储机制。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。
  • 什么是Kexec?
    kexec 是一个快速启动kernel的机制,它运行在某一正在运行的kernel中,启动一个新的kernel(这里是crash kernel),而且不用重新经过BIOS 就可以完成启动。因为一般BIOS都会花费很长的时间,尤其是在大型并且同时连接许多外部设备的Server上的环境下,BIOS会花费更多的时间。
CrashKernel
  • 如果系统的内存 <= 8 GB 对kdump kernel不会保留任何内容;也就是说,crashkernel=auto 等于关掉了机器上的kdump功能。
  • 如果系统的内存 > 8 GB 但是 <= 16 GB,crashkernel=auto会保留256M,等同于crashkernel=256M;
  • 如果系统内存> 16GB, crashkernel=auto会保留512M, 等同于crashkernel=512M


解决方法


1.开机进入系统引导菜单界面,并进入单用户模式

2.进入单用户后进行如下操作:

mount -o remount,rw /sysroot
chroot /sysroot
vim /etc/default/grub

3.在lv或硬盘分区quiet前加入“crashkernel=512M”即可。



目录
相关文章
|
4月前
|
缓存 监控 网络性能优化
从内核的视角观测容器——SysOM 容器监控
从内核的视角观测容器——SysOM 容器监控
|
1月前
|
Kubernetes 开发者 容器
"Kubernetes的生死抉择:揭秘Pod容器重启策略如何决定应用命运的惊天大戏"
【8月更文挑战第20天】Kubernetes (k8s) 是一个强大的容器编排平台,其中Pod是最小的运行单元。Pod的重启策略确保服务连续性,主要有Always(总是重启)、OnFailure(失败时重启)和Never(从不重启)。默认策略为Always。根据不同场景,如Web服务、批处理作业或一次性任务,可以选择合适的策略。K8s还支持健康检查等高级机制来控制容器重启。合理配置这些策略对维护应用稳定性至关重要。
72 4
|
30天前
|
Docker 容器
Docker启动的容器如何做到自动重启?
【8月更文挑战第19天】Docker启动的容器如何做到自动重启?
34 1
|
1月前
|
Kubernetes 算法 容器
在k8S中,Pod的容器重启策略有哪些?
在k8S中,Pod的容器重启策略有哪些?
|
3月前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
|
4月前
|
数据可视化 测试技术 Anolis
|
4月前
|
存储 Kubernetes Linux
pod介绍之 容器分类与重启策略
pod介绍之 容器分类与重启策略
|
4月前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
116 0
|
4月前
|
监控 Java Serverless
Serverless 应用引擎操作报错问题之有个容器一直重启如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
Kubernetes Docker 容器
Kubernetes容器的重启策略
Kubernetes容器的重启策略
51 0
Kubernetes容器的重启策略