![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
故障处理
文章平均质量分 78
力哥讲技术
空杯心态!
行动是绝望的解药!
展开
-
Java诊断利器 Arthas-- 一款释放潜力的神器
阿里巴巴 Arthas 是一个诊断工具,可以用于监视、分析和解决 Java 应用程序的问题。使用 Arthas 的一个主要优点是,我们不需要修改代码,甚至不需要重新启动我们想要监视的 Java 服务。在本教程中,我们将首先安装 Arthas,在此之后,通过一个简单的案例来演示 Arthas 的一些关键特性。最后,由于 Arthas 是用 Java 编写的,因此它是跨平台的,可以在 Linux、macOS 和 Windows 上运行。在本教程中,我们探索了Arthas的一些最强大和有用的功能。原创 2023-07-25 09:52:46 · 186 阅读 · 0 评论 -
拨云见日:Redis和数据库之间的一致性如何保证?
就算你的电商业务规模不大,缓存中的价格或库存信息和数据库不一致也会给公司带来巨大的损失。如果缓存不存在,直接读取数据库数据,然后更新到缓存中。先给出结论:其实从技术上来说,我们几乎无法保证Redis 和数据库的严格一致,所有的方案都是尽可能降低不一致的可能性和不一致时间。无论是第二种还是第三种方案,都有可能出现缓存删除失败的情况,可以在最后删除缓存的时候利用消息队列增加重试机制,保证最终一致。但是在事务最终提交和删除缓存这个间隙中,发生了线程二读取缓存发现不存在,并且设置数据库旧值这个过程。原创 2023-06-15 10:20:29 · 957 阅读 · 0 评论 -
性能优化之高Log file sync等待实战案例分享
log file sync等待事件首先判断当前系统IO是否存在问题,看操作系统日志没有相关的报错,执行IO测试,也显示IO处于正常状态,详细查看AWR报告,AWR显示数据库写IO及读IO都还比较正常。对比昨天跟今天的AWR报告,也可以看出IO读写性能跟昨天相比差别不大,今天采集的这个时间段由于停了大部分业务,IO相比昨天反而更优,但是日志切换的等待时间反而要增加8秒。根据文单的描述,检查系统的负载情况,发现今天业务系统在14点时负载很高,日志切换达136次,之后业务恢复正常。检查当前的系统,发现当前系统。原创 2023-06-02 00:07:10 · 542 阅读 · 0 评论 -
记一次Redis版本新特性导致的主从切换故障
总的来看这次故障的根本原因还是个人对于redis的配置、操作经验不足,如果在调整运行时maxmemory时能做到以下二者之一,这次故障就不会出现了:调整运行时maxmemory时同时调整配置文件maxmemory保持一致。将配置文件maxmemory设置为0--表示不限制内存使用。正是因为对redis的认识和经验不足,没有想过到运行时配置与静态配置不一致可能导致的问题,这次不可避免的踩坑了。原创 2023-06-01 23:50:32 · 610 阅读 · 1 评论 -
浅析Redis集群数据倾斜问题及解决方法
在redis集群模式下,数据会按照一定的分布规则分散到不同的实例上。如果由于业务数据特殊性,按照指定的分布规则,可能导致不同的实例上数据分布不均匀,如以下场景:有些切片实例上数据分布量较大,有些实例上数据分布量较少;有些实例上保存了热点数据,数据访问量较大,有些实例上保存数据相对较"冷",几乎没有访问量。那么存储数据量大的实例,或者保存热点数据的实例,资源利用率会比较高,负载压力较大,导致其对数据请求响应变慢。此时就产生了数据倾斜。原创 2023-05-31 22:25:48 · 1127 阅读 · 0 评论 -
接口测试遇到500报错?莫慌,你的header可能有点问题!
Cookie是远程服务端返回的识别用户身份信息,该信息存储在客户端,客户端每次进行操作时,会通过HTTP协议和服务器端进行Cookie的交互,验证身份信息正确才可交互成功(大多数需要登录后操作的接口上面会比较常见)。在日常进行接口测试过程中,我们都知道一个完整的接口HTTP请求一般包括四大部分:请求信息头、请求体、响应信息头、响应体、请求方式(post/get等)。设置前一个页面的地址,并且前一个页面中的连接指向当前请求,意思就是如果当前请求是在A页面中发送的,那么referer就是A页面的url地址。原创 2023-05-16 18:41:22 · 5638 阅读 · 0 评论 -
Kubernetes 自动化诊断利器:k8sgpt-operator
简单来说 k8sgpt-operator 可以在集群中开启自动化的 k8sgpt。它提供了两个 CRD:K8sGPT和Result。前者可以用来设置 k8sgpt 及其行为;而后者则是用来展示问题资源的诊断结果。原创 2023-05-05 09:26:39 · 803 阅读 · 0 评论 -
一文理清 K8S OOM 和 CPU 节流机制
使用 Kubernetes 时,内存不足 (OOM) 错误和 CPU 节流是云应用程序中资源处理的主要难题。这是为什么?云应用程序中的 CPU 和内存要求变得越来越重要,因为它们与您的云成本直接相关。通过 limits 和 requests ,您可以配置 pod 应如何分配内存和 CPU 资源,以防止资源匮乏并调整云成本。如果节点没有足够的资源, Pod 可能会通过抢占或节点压力被驱逐。当一个进程运行内存不足 (OOM) 时,它会被终止,因为它没有所需的资源。原创 2023-05-04 10:27:50 · 985 阅读 · 0 评论 -
谁动了我的Redis?频繁AOF重写问题解析
1、服务器层面先统筹观察一下,这里站的角度可能会比较高。主要观察服务器的常用指标:CPU、负载、内存、磁盘、网络带宽、TCP连接数等2、Redis实例层面确认服务器无误之后,查看Redis实例本身的运行状态读写QPS、内存使用、Maxmemory、aof重写策略等3、Redis日志分析通过Redis日志,查看当前Redis在故障时间点的一些日志信息4、系统日志、监控辅助排查到这里,大概会有一个简单的结论,然后根据这个结论去猜测,找其他的元素来佐证结论。5、源码分析。原创 2023-03-29 18:41:18 · 717 阅读 · 0 评论 -
常见java OOM异常分析(原因+排查解决思路+demo代码)
本文介绍了以下几种常见OOM异常。原创 2023-03-29 18:12:42 · 4348 阅读 · 0 评论 -
阿里二面:CPU飙升900%,怎么应对这一情况?
一位小伙伴面试了阿里,遇到了一个性能类的面试题:CPU飙升900%,该怎么处理?可惜的是,以上的问题,这个小伙没有回答好。最终,导致他阿里之路,终止在二面,非常可惜。原创 2023-03-23 22:19:05 · 106 阅读 · 0 评论 -
linux操作系统优化之ulimit 疑难杂症详解
多年来,我们陆续有业务遇到 ulimit 的各类衍生问题,无论是在 SysVinit 时代,还是 Systemd 时代,甚至在容器环境中,虽然表现不同,但根本原因还是 ulimit 问题。本文会讲下我们因 ulimit 设置遇到的各种问题,并给大家深入浅出的点透 ulimit 这一知识点,愿大家新年不踩旧坑,线上无病无灾。原创 2023-03-21 08:41:40 · 1481 阅读 · 0 评论 -
oracle不同OS版本下hang故障处理方法总结
oracle死锁或者系统负载非常高比如cpu使用或其他一些锁等待很高都可能导致系统hang住,比如大量的DX锁。通常来说,我们所指的系统hang住,是指应用无响应,普通的sqlplus几乎无法操作等等。那么不同的操作系统遇到这中棘手情况应该如何处理呢?原创 2023-03-15 08:27:17 · 173 阅读 · 0 评论 -
升级至oracle19C定时任务通过toad图形化实现方法
问题描述:oracle数据库升级到19C之后,堡垒机上的plsqldev工具无法实现对job定时的修改,现象是dbms_jobs中的jobs项目打开会报错,采用toad工具可以很好的解决这个问题原创 2023-03-12 09:51:53 · 544 阅读 · 0 评论 -
K8S是否存在因DiskPressure驱逐pod,cks老鸟来剖析!
在生产中这些情况是不能忍受的,我们探究一下是什么原因导致的这些,以及如何提前预防并解决相关问题。只有了解这些问题如何产生,才能找到具体解决办法。上面三个默认配置,一个是 kubelet,一个是 docker 的,还有就是相关日志配置的,并且发现。组件完成的,该组件专用于监控容器运行环境,当监控到上面列出的文件系统达到一定量后将会发出。目录下,日志相关文件占用空间非常大,导致 /var 目录挂载的磁盘非常容易被占满。目录下,这个目录占用空间比较大,导致 /var 目录挂载的磁盘非常容易被占满。原创 2023-03-09 08:42:52 · 1656 阅读 · 0 评论 -
HACMP 7.1无法定义cluster问题
CAA依赖的clcomd后台进程会要求对主机名反向解析,而这个解析借助的是host -n 命令。只是说新版本,不知道有什么高级功能,用truss跟踪了一下,调用了/usr/bin/hostnew,而这个hostnew必须访问/etc/resolv.conf,原来就是新版本的nslookup。创建空的/etc/resolv.conf,host -n会等待直到超时报错,修改/etc/netsvc.conf指定解析顺序,也没有用(但是这个对原始的host命令有效)。HA版本:7.1.2.0。原创 2023-03-06 18:44:36 · 198 阅读 · 0 评论 -
solaris平台11gR2 RAC节点异常重启案例分享
故障时间点,在/var/adm/messages中有panic, crash dump的相关信息,检查/var/crash目录下有生成dump,序号已经到了38(说明这是个老问题)。如果真的是网络方面的原因,节点2上应该也有告警,而节点1上也应该有渐进的心跳丢失提示,所以比较合理的解释是,节点1当时出现性能过载,或者个别高优先级的异常进程占据了CPU不释放,导致cluster心跳侦测线程无法获得调度执行,引发超时,包括其他写入日志文件的线程也均受到干扰无法完成执行。(MC)控制网络超时,默认是30秒;原创 2023-03-06 18:43:36 · 274 阅读 · 0 评论 -
SAN网络维护导致rac双机宕故障案例分析
问题的定位并不困难,主要是两方面的原因,更换sfp模块触发问题,而实施的时候asmlib可能没有关联到多路径盘上面,导致单条路径的失败引起asmlib识别的虚拟设备丢失是根本原因。客户进行SAN网络维护,由于只是对多路径中的一路进行操作,所以选择在线操作,操作完成后,意外发现RAC群集中的一个数据库实例竟然宕了,并且怎么也拉不起来,重启节点服务器后,解决了,要求事后调查原因。从oracleasm的配置来看,ORACLEASM_SCANORDER=""是空的,这样的话,oracleasm扫描磁盘的时候不会。原创 2023-03-06 18:43:58 · 116 阅读 · 0 评论 -
aix-hacmp双机卷组磁盘missing修复案例分享
因为scalable类型的卷组LVCB信息是放在VGDA里面,同事提供了一个测试环境,验证了这属于正常现象,LV的头部已经没有LVCB信息,这意味着对于scalable vg,允许反复测试lvmap(对这个案例,因为有完整的vgda信息,所以并不需要),而不用担心lvcb的写入,而抹去正常的应用数据。有缺憾的地方是,除了alog信息不可得外,drcadb02节点上的smit.log和命令历史中完全找不到oggvg装入(原先在drcadb01上定义)和扩容的信息,使得分析结果的证据链不够完整。原创 2023-03-06 18:40:43 · 356 阅读 · 0 评论 -
安装Oracle RAC时,不能验证ASMSNMP密码问题的解决
3. Oracle Grid Infrastructure组件未安装:如果Oracle Grid Infrastructure的相关组件未正确安装,那么在验证ASMSNMP密码时就会失败。2. ASMSNMP用户不存在:如果在安装Oracle Grid Infrastructure时没有成功创建ASMSNMP用户,那么在验证密码时就会失败。4. 网络配置不正确:如果网络配置不正确,那么Oracle RAC节点之间的通信可能会受到影响,从而导致ASMSNMP密码验证失败。此时可以进一步排查并解决相关问题。原创 2023-03-03 08:47:37 · 418 阅读 · 0 评论 -
Linux 磁盘旧RAID信息导致不能格式化和mount实战总结
Google了一下,说是受以前盘上遗留的RAID信息的影响,系统会根据残留的信息自动发现raid,由于系统的自动识别,硬盘被虚拟地组建成了raid(即便没有真实raid存在),这就提示磁盘正在被使用,硬盘无法格式化。都不能成功清除,这样即使我把mount信息添加到/etc/fstab里,在启动启动之后,也不能正常mount。所以选择了一种方法。一般来说,这种情况是该盘已经被系统使用或者挂载到其他地方,使用mount 和df –lh确认,这个盘没有使用。--使用:dmraid -rE。这样就可以自动挂载了。原创 2023-03-03 08:49:41 · 1049 阅读 · 0 评论 -
简单实战一下oracle rman恢复到指定时间点
总体来说,将Oracle数据库恢复到指定时间点需要进行多个步骤,包括确认恢复时间点、准备恢复环境、启动RMAN、开始恢复和恢复数据库等。维护人员需要熟悉这些步骤并按照要求执行,以确保数据的可用性和完整性。Oracle RMAN是数据库备份和恢复的主要工具之一,可以将数据库恢复到指定时间点。当恢复结束后不满足我们要求时,可以恢复控制文件和日志文件后重新进行恢复。完成基于时间点的不完全恢复之前,最好对现场做一个备份,我们这里。查看是否在归档模式,如果不是,修改为归档模式。测试,创建表,插入数据,删除数据。原创 2023-03-02 17:15:26 · 3847 阅读 · 0 评论 -
利用RMAN修复数据文件中的坏块思路与实战
修复数据文件中的坏块需要进行多个步骤,包括确认坏块、创建坏块映射文件、修复坏块、恢复数据文件和恢复数据库等。创建坏块映射文件:在确认了数据文件中的坏块后,需要创建一个坏块映射文件,记录下数据文件中的坏块位置和大小等信息。命令来恢复数据文件。在此之前,需要确保备份集中包含了需要恢复的数据文件,并且备份集中的数据文件没有坏块。在此之前,需要确保数据文件是在归档模式下打开的,并且已经启用了归档模式和日志归档功能。数据库备份和恢复的主要工具,可以用于修复数据文件中的坏块。确认坏块:首先需要确认数据文件中的坏块。原创 2023-03-02 17:06:31 · 835 阅读 · 0 评论 -
HP superdome2刀片故障处理记录-实战篇
HP superdome2刀片故障处理记录-实战篇原创 2023-02-22 18:39:26 · 437 阅读 · 0 评论 -
Suse12sp1-TPM error 7告警无法正常开机处理记录
12楼一台pcserver开机时报如下tpm_tis error(7) 错误,无法正常进入系统,具体报警见下截图,操作系统版:suse 12 sp1,服务器硬件并没有告警。这应该是操作系统的一个小bug导致了对TPM芯片的不支持,需要进入系统单用户模式,禁止开机加载tpm_tis驱动(加入驱动黑名单)来解决。:1.如果是suse12之前的版本,应该需要修改/etc/modprobe.d/tpm_tis.conf这个文件。2、在启动项后面加 init=/bin/bash。(注意是逗号,不是点号)原创 2023-02-22 18:32:04 · 536 阅读 · 0 评论