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

数据库管理-第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.mzph.cn/news/89970.shtml

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

相关文章

PyTorch - Dataset 迭代数据接口 __getitem__ 异常处理

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/133378772 在模型训练的过程中,加载数据部分,极其容易出现异常,以及不可控的因素,需要通过异常捕获…

k8s1.19使用ceph14

一、静态 pv &#xff08;rbd&#xff09;方式 1、所有k8s节点安装依赖组件 注意&#xff1a;安装ceph-common软件包推荐使用软件包源与Ceph集群源相同&#xff0c;软件版本一致。 cat > /etc/yum.repos.d/ceph.repo << EOF [ceph] nameceph baseurlhttp://mirrors…

【网络协议】TCP报文格式

1.源端口和目的端口 源端口字段占16比特&#xff0c;用来写入源端口号。源端口号用来标识发送该TCP报文段的应用进程。 目的端口字段占16比特&#xff0c;用来写入目的端口号。目的端口号用来标识接收该TCP报文段的应用进程。 2.序号 当序号增加到最后一个时&#xff0c;下…

封装JDBC,实现简单ORM框架

本文将封装JDBC的操作&#xff0c;实现简单的ORM框架&#xff0c;提供3种风格的api来给用户使用&#xff08;1.原生jdbcSqlBuilder&#xff1b;2.类似jpa和mp的&#xff1b;3.注解接口方法&#xff09; 代码仓库&#xff1a;malred/IFullORM 1. 原生JDBCsql构建器 第一步&…

26551-2011 畜牧机械 粗饲料切碎机

声明 本文是学习GB-T 26551-2011 畜牧机械 粗饲料切碎机. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了粗饲料切碎机的产品型号、技术要求、试验方法、检验规则、标志、包装、运输与贮存。 本标准适用于加工农作物秸秆等粗饲料…

Docker(一)、linux环境安装Docker

linux环境安装Docker 1、自动下载安装&#xff1a;2、指定yum的安装源3、安装docker社区版4、启动docker5、验证6、demo:从国外自动抽取下载hello-world镜像&#xff0c;并启动6、卸载docker7、安装的时候&#xff0c;会出现Error: Failed to download metadata for repo base:…

Python 3.10.9 Mac m1 无法安装grpc的解决办法

pip install airavata-mft-cli python3.10 -m venv venv source venv/bin/activate pip install grpcio1.47.0rc1 pip install grpcio-tools1.47.0rc1 然后就成了 python -m grpc_tools.protoc -I --python_out. --grpc_python_out. message.proto 参考文章&#xff1a; …

Mysql生产随笔

目录 1. Mysql批量Kill删除processlist 1.1查看进程、拼接、导出、执行 1.2常见错误解决方案 2.关于时区 3.内存占用优化 记录一下生产过程中的一些场景和命令使用方法&#xff0c;不定期进行更新 1. Mysql批量Kill删除processlist 1.1查看进程、拼接、导出、执行 sho…

【AIPOD案例操作教程】斜流风扇轮毂优化

AIPOD是由天洑软件自主研发的一款通用的智能优化设计软件&#xff0c;致力于解决能耗更少、成本更低、重量更轻、散热更好、速度更快等目标的工程设计寻优问题。针对工业设计领域的自动化程度低、数值模拟计算成本高等痛点&#xff0c;基于人工智能技术、自研先进的智能代理学习…

Tableau/Power BI 是什么

目录 1. Tableau 是什么?1.1. Tableau 组件1.2. Tableau 的优劣势 2. Power BI2.1. Power BI 的组成部分2.2. Power BI 概念2.2.1. 容量2.2.2. 工作区2.2.3. 数据集2.2.4. 共享数据集2.2.5. 报表2.2.6. 仪表板2.2.7. 模板应用 1. Tableau 是什么? Tableau 是 Tableau 公司推…

前端架构师之01_ES6_基础

1 初识ES6 简单来说&#xff0c;ECMAScript是JavaScript语言的国际标准&#xff0c;JavaScript是实现ECMAScript标准的脚本语言。 2011年&#xff0c;ECMA国际标准化组织在发布ECMAScript 5.1版本之后&#xff0c;就开始着手制定第6版规范。 存在的问题&#xff1a;这个版本…

linux部署页面内容

/bin&#xff1a;该目录包含了常用的二进制可执行文件&#xff0c;如ls、cp、mv、rm等等。 /boot&#xff1a;该目录包含了启动Linux系统所需的文件&#xff0c;如内核文件和引导加载程序。 /dev&#xff1a;该目录包含了所有设备文件&#xff0c;如硬盘、光驱、鼠标、键盘等等…

新手十分钟也能完成的Unity小游戏打砖块

由Siki学院打砖块游戏启发完成一个非常非常简单&#xff0c;纯新手也能十分钟做出来的小游戏——打砖块。 一.搭建场景 首先我们先在一个空白的3D项目中创建一个Plane平面&#xff0c;将其放置于世界中央位置&#xff0c;长宽设置为2&#xff0c;并为其添加一个材质Material&am…

二十,镜面IBL--打印BRDF积分贴图

比起以往&#xff0c;这节应该是最轻松的了&#xff0c; 运行结果如下 代码如下&#xff1a; #include <osg/TextureCubeMap> #include <osg/TexGen> #include <osg/TexEnvCombine> #include <osgUtil/ReflectionMapGenerator> #include <osgDB/Re…

挂件板死机刷固件

用ESP32-DevKitC_V4刷固件的工具flash_download_tool_3.9.5.exe 挂件板子端口接线依次为V&#xff08;接3V3&#xff09;、R&#xff08;接TXD&#xff09;、T&#xff08;接RXD&#xff09;、G&#xff08;接GND&#xff09;、L&#xff08;悬空&#xff09; 1.选择ESP8266&…

Redis hash 命令总结

redis hash命令总结 命令 描述 示例 注意 HSET HSET用于将散列表key中的field的值设置为value。 HSET key field value 返回值&#xff1a;如果散列表key中的field不存在并且设置成功&#xff0c;则返回1&#xff1b;如果散列表key中的field已经存在并且新值覆盖了旧值&…

关于TUM数据集

2、验证回环检测算法&#xff0c;需要有人工标记回环的数据集。然而人工标记回环是很不方便的&#xff0c;我们会考虑根据标准轨迹计算回环。即&#xff0c;如果轨迹中有两个帧的位姿非常相近&#xff0c;就认为它们是回环。请根据TUM数据集给出的标准轨迹&#xff0c;计算出一…

MySQL学习笔记19

MySQL日志文件&#xff1a;MySQL中我们需要了解哪些日志&#xff1f; 常见日志文件&#xff1a; 我们需要掌握错误日志、二进制日志、中继日志、慢查询日志。 错误日志&#xff1a; 作用&#xff1a;存放数据库的启动、停止和运行时的错误信息。 场景&#xff1a;用于数据库的…

BACnet/IP协议采集网关支持modbus RTU采集

楼宇自动化在现代建筑中扮演着重要的角色&#xff0c;它可以集成和控制各种设备和系统&#xff0c;提高建筑的能效和舒适性。然而&#xff0c;不同的设备和系统通常使用不同的通信协议&#xff0c;这给楼宇自动化的实施带来了一定的挑战。为了解决这个问题&#xff0c;BACnet和…

面试问到MySQL模块划分与架构体系怎么办

面试问到Mysql模块划分与架构体系怎么办 文章目录 1. 应用层连接管理器&#xff08;Connection Manager&#xff09;安全性和权限模块&#xff08;Security and Privilege Module&#xff09; 2. MySQL服务器层2.1. 服务支持和工具集2.2. SQL Interface2.3. 解析器举个解析器 …