数据库管理-第108期 因Exadata存储节点操作系统空间异常的紧急处理(20230928)

news2024/10/5 13:49:17

数据库管理-第108期 因Exadata存储节点操作系统空间异常的紧急处理(20230928)

众所周知,明天放假了,本着对客户数据库软硬件负责任的态度,进行了一次深入彻底的软硬件巡检(就是检查包括计算节点、存储节点、交换机等各个组件)。不查不知道,一查吓一跳,我这某一台一体机的存储节点闹出了一些问题。

1 空间异常

首先是EMCC巡检发现三个存储节点操作系统都有空间告警,到对应服务器检查,/var/log挂载点空间使用量均超过80%:
在这里插入图片描述
通过进一步检查/var/log中所有文件加起来没有实际占用那么大,这是怎么回事呢?当然一体机嘛,第一件事情就是开个Linux OS的SR,然后再一步一步排查。

2 排查过程

首先/var/log里面最大的文件夹是journal,首先检查journalctl持久化的问题,然而检查配置文件是全注释状态,journal的问题就排除了。此时SR还没有给出任何有用的回复,我只能进一步排查。Linux上还有一种空间没有释放的现象,就是通过lsof的方式去检查删除操作是否完成,不查不知道,一查吓一跳:
在这里插入图片描述
在这里插入图片描述
一个存储节点挂住了4740个与/var/log相关的删除操作,这也是df -h输出空间未释放的重要原因。将这一结果反馈SR,SR也同时通过新的上传文件与之前上传的SOSReport确认了空间未释放的原因,并建议通过杀掉相关进程处理。
但是经过排查相关进程均有Exadata Storage Software发起,贸然杀掉进程会导致存储节点出现异常,大概率引起一体机上运行数据库出现异常。而不释放空间,SR也确认当/var/log在df -h输出结果到100%时,操作系统将出现问题,因此这时候重启存储节点成了唯一选择。

3 问题处理

首先,这台一体机承载的是分析型业务,因此晚上的压力比白天大,也因此白天操作比晚上操作更合适,首先检查一下当前一体机存储侧整体性能压力情况:
在这里插入图片描述
首先并没有超过性能上限的2/3(其实X8M性能比这个上限还要高不少,但是得保险啊),接着就是如何安全的重启存储节点而对数据库没有影响,由于SR没有快速回复,这里就发挥传统艺能,找后台小姐姐,这时小姐姐也正好在旅游转机过程中,非常幸运的拿到了对应文档Steps to shut down or reboot an Exadata storage cell without affecting ASM ( Doc ID 1188080.1 ) (当然后来SR也反馈了中文版对应文档如何在不影响 ASM 的前提下对 Exadata 存储节点关机或重启 ( Doc ID 1943722.1 )),那么开干:

3.1 检查ASM磁盘组修复时限

首先如果ASM磁盘组中的磁盘超过了DISK_REPAIR_TIME设置时限会被直接舍弃,需要重新加入ASM磁盘组导致一些麻烦,我这里默认配置是12小时,重启操作不会花费那么长时间,而文档建议是不低于8.5小时:

sqlplus / as sysasm
select dg.name,a.value from v$asm_diskgroup dg, v$asm_attribute a where dg.group_number=a.group_number and a.name='disk_repair_time';

在这里插入图片描述
如果你的ASM磁盘组的DISK_REPAIR_TIME设置时间过短,可以通过一下命令进行调整,该操作同样适合非一体机开启非外部冗余的环境,用于存储设备维护:

ALTER DISKGROUP XXX SET ATTRIBUTE 'DISK_REPAIR_TIME'='8.5H';

3.2 将存储节点DISK OFFLINE

这里需要先检查操作存储节点的磁盘情况:

cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

在这里插入图片描述
这里通过以下命令将该存储节点磁盘offline:

cellcli -e alter griddisk all inactive

操作会执行一段时间,完成后在检查磁盘情况,asmmodestatus会变成"OFFLINE"状态。
同时其他节点检查磁盘状态asmdeactivationoutcome会变成"Cannot de-activate due to other offline disks in the diskgroup"状态进而无法被OFFLINE。

3.3 重启存储节点

以下命令会立即重启 Oracle Exadata 存储节点并在重启时强制调用 fsck:

shutdown -F -r now

3.4 将存储节点DISK ONLINE

cellcli -e alter griddisk all active

这时候检查磁盘状态,asmmodestatus会变成"SYNCING"状态,这时候该存储节点的磁盘会进行Fast Mirror Resync,只会重建磁盘离线后被修改过的数据,不会触发ASM Rebalance,因此同步时间不会很久,大概跟OFFLINE到ONLINE的时间差不多。
Fast Mirror Resync完成之后asmmodestatus会变成ONLINE。
同时其他存储节点上磁盘的asmdeactivationoutcome也会变回为"Yes"。即代表可以在其他节点进行操作。
如果想查看Fast Mirror Resync的大致,通用可以在ASM实例中通过v$asm_operation进行查看。

3.5 重启其他存储节点

接下来就是按照上面的操作分步将其他的存储节点重启。

总结

虽然存储节点操作系统空间异常的问题解决了,保证了中秋+国庆该一体机的安全稳定运行,但是出现这一问题的原因还是需要排查的,后续也会和SR进一步跟进。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3中状态适配

写一个函数,在函数中定义一个对象 用于存放键值对,最后返回指定状态所对应的的值,即对象[指定状态] 的 对象的值。 在模板中把状态传入 // vue3 setup语法糖中 const formatXXXState (xxxState)>{const stateMap {键1: 值1,键2: 值2,.…

Linux-正则三剑客

目录 一、正则简介 1.正则表达式分两类: 2.正则表达式的意义 二、Linux三剑客简介 1.文本处理工具,均支持正则表达式引擎 2.正则表达式分类 3.基本正则表达式BRE集合 4.扩展正则表达式ere集合 三、grep 1.简介 2.实践 3.贪婪匹配 四、sed …

VS+Qt+opencascade三维绘图stp/step/igs/stl格式图形读取显示

程序示例精选 VSQtopencascade三维绘图stp/step/igs/stl格式图形读取显示 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《VSQtopencascade三维绘图stp/step/igs/stl格式图形读取显示》编写…

postman安装使用教程

本文只是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序。 首先,你要台电脑,其次,安装有 Chrome 浏览器,那你接着往下看吧。 1. 官网安装(别看) 打开官网,https://ww…

【计算机网络】P2P文件分发介绍

文章目录 P2P体系结构的自扩展性BitTorrent协议参考资料 考虑一个场景:从单一服务器向大量主机(称为对等方)分发一个大文件。 两种处理方式 客户-服务器文件分发:服务器需要向每个对等方发送该文件的一个副本 P2P文件分发&#xf…

使用代理后pip install 出现ssl错误

window直接设置代理 httphttp://127.0.0.1:7890;httpshttp://127.0.0.1

Java 并发编程面试题——BlockingQueue

目录 1.什么是阻塞队列 (BlockingQueue)?2.BlockingQueue 有哪些核心方法?3.BlockingQueue 有哪些常用的实现类?3.1.ArrayBlockingQueue3.2.DelayQueue3.3.LinkedBlockingQueue3.4.PriorityBlockingQueue3.5.SynchronousQueue 4.✨BlockingQu…

【C++】构造函数和析构函数第二部分(拷贝构造函数)--- 2023.9.28

目录 什么是拷贝构造函数?编译器默认的拷贝构造函数构造函数的分类及调用结束语 什么是拷贝构造函数? 用一句话来描述为拷贝构造即 “用一个已知的对象去初始化另一个对象” 具体怎么使用我们直接看代码,代码如下: class Maker…

什么是DOM和DOM操作

什么是DOM? DOM(文档对象模型):HTML文档的结构化表示。允许JavaScript访问HTML元素和样式来操作它们。(更改文本,HTML属性甚至CSS样式) 树结构由HTML加载后自动生成 DOM树结构 这个是一个很简单的HTML代…

Redis与分布式-主从复制

接上文 常用中间件-OAuth2 1.主从复制 启动两个redis服务器。 修改第一个服务器地址 修改第二个redis 然后分别启动 redis-server.exe redis.windows.conf) 查看当前服务器的主从状态,打开客户端:输入info replication命令来查看当前的主从状态&am…

数据结构基础9:排序全家桶

排序全家桶: 一:插入排序:1.简单插入排序:2.希尔排序: 二:选择排序:1.简单选择排序:2.堆排序(空间复杂度为O(1)): 三:快速排序;方法一…

共同见证丨酷雷曼武汉运营中心成立2周年

酷雷曼武汉运营中心2周年 全国合作商齐贺武汉公司2周年庆 2021年 作为酷雷曼辐射全国版图的又一重要据点 酷雷曼武汉运营中心 在“中国光谷”正式成立 沉浸式参观酷雷曼武汉公司 2年时间 尽管历经诸多客观因素的挑战 但后浪扬帆,依然交出了不斐的成绩 解决…

用AI写文章被百家号封禁

我是卢松松,点点上面的头像,欢迎关注我哦! 千万不要用AI创作,尤其是原文照搬!不要用ai,不要用,不要用!重要的事情说三遍。 近日ID名为“爸爸在家赚钱”用AI写了4-5篇文章投稿在百家号,随后百度就把他帐号…

【Bond与你白话IaC之Terraform for Docker篇】 攻城狮如何向女友解释IaC呢?

前言: 最近有机会与朋友聊到IaC(Infra as code)说到是否有比较好的切入点进行学习。 客观地说,看到XaX或XasX结构的的名词,让人立刻会与最前沿的云技术联系起来,但实际上其背后的思想仍然来自于传统系统的痛…

python web编程一:token、session、cookie、密码加解密

1 认证 1 传统的session-cookie机制 HTTP协议是无状态协议,为了解决它产生了cookie和session技术。 浏览器发起第一次请求到服务器,服务器发现浏览器没有提供session id,就认为这是第一次请求,会返回一个新的session id给浏览器…

Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结

目录 寻找扩展 使用扩展 创建扩展 26个常用的Flask扩展模块 总结 原文:Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结 (qq.com) Flask是一个轻量级的Python Web框架,它提供…

14.(开发工具篇github)如何在Github配置ssh key

第一步:检查本地主机是否已经存在ssh key 上图表示已存在。跳第三步 第二步:生成ssh key ssh-keygen -t rsa -C "xxxxxx.com"第三步:获取ssh key公钥内容(id_rsa.pub) cat id_rsa.pub第四步:G…

如何将图片转为ico格式

这里主要是记录一个网站,如果你有更好的办法欢迎留言~ ico简介 ICO(Icon)是一种用于表示图标的文件格式,常用于Windows操作系统中。ICO格式的图片通常用于表示应用程序、文件夹、网站等的图标。 ICO文件可以包含多个图标&#x…

在 .NET 8 Release Candidate 1 中推出 .NET MAUI:质量

作者:David Ortinau 排版:Alan Wang 今天,我们很高兴地宣布 .NET MAUI 在 .NET 8 Release Candidate 1 中已经可用,该版本带有适用于生产应用程序的正式许可证,因此您可以放心地将此版本用于生产环境。我们在 .NET 8 中…

用代码打造未来教育:在线教育平台开发的奇妙之旅

当我们谈论在线教育平台开发时,我们正在谈论一项颠覆性的技术,它改变了传统教育的面貌。在线教育已经成为21世纪的教育主题,使学习变得更加灵活、便捷和个性化。本文将探讨在线教育平台开发的关键方面,并穿插一些代码示例来帮助您…