RHEL 5基础篇—常见文件系统类故障

简介:

常见文件系统类故障


  在linux系统中,可能会因为非正常关机,突然断电,设备数据读写异常等原因导致文件系统的破坏。比较常见的是超级快(super-block)损坏。超级块是文件系统的核心“档案”,它记录了该文件系统的类型、大小、空闲磁盘块等信息。

修复超级快 
当文件系统的超级块数据损坏时,linux将无法识别该文件系统,挂在时会出现“you must specify the filesystem type”的提示而不能正常使用。如下:

 1

修复一般的文件系统错误可以使用fsck命令,结合“-t”指定文件系统的类似,结合“-y”对发现的问题自动回答“yes”。如下:修复文件系统。

2

对于通过“/etc/fstab”文件自动挂载且设置了fsck参数(第6列的值非0)的文件系统,若超级块出现错误则linux系统在启动时会报错,并提示用户需要进行修复操作,只需要根据提示输入root用户的密码,即可进入到一个临时的shell环境,在这里用户可以对出现错误的文件系统进行修复。修复完毕执行“exit”命令退出即可并重新启动系统。

注意:如果文件系统遭受破坏很严重,则修复完毕后可能仍然会丢失一些数据,因此请慎重决定是否进行修复,必要时可以使用“dd”命令进行备份操作。

磁盘资源耗尽故障 
当系统中的磁盘空间耗尽以后,将可能导致部分程序乃至整个系统无法启动或运行,因为一些一些临时性的运行文件将无法建立。 
除了磁盘空间耗尽之外,在linux系统中还存在一个i节点耗尽。 
在每个ext3文件系统中,能够使用的文件数量(对应i节点数)也是有限的。当一个文件系统被格式化以后,其i节点数也也就是文件的数量已经固定下来了。如果用户在该分区中创建了巨量的细小文件(耗尽i节点),将可能出现这种情况:虽然该分区中仍然有大量的可用空间,但是用户却无法再创建新的文件了。 
如下:使用“df -i”命令可以查看指定文件系统的i节点的使用情况。

3 
防止i节点耗尽的最好办法就是对相应的文件系统做磁盘配额,以及定时删除文件系统中的垃圾文件。

检测磁盘坏道 
磁盘坏道分为逻辑坏道和物理坏道两种。 
逻辑坏道:主要是由软件操作不当造成,可以使用软件修复。 
物理坏道:是物理性损坏,只能通过更改磁盘分区或扇区的占用位置来进行改善,排除掉包含有坏块的磁盘空间。 
磁盘出现坏道的常见现象如下: 
1)读取磁盘中的数据时,磁盘设备发出异常声响。 
2)访问磁盘中的某个文件时,反复读取出错,提示文件损坏。 
3)对于新建立的分区无法完成格式化。 
4)系统使用的该磁盘时频繁死机。 
检测磁盘坏道可以使用“mkfs”和“badblocks”命令。 
列如:使用“mkfs”命令格式化指定分区,并结合选项“-c”进行检测磁盘坏道。

4

列如:使用“badblocks”命令可以对指定的分区进行检测磁盘坏道。“-s”用于显示进度信息,“-v”用于显示详情。

5



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1191429,如需转载请自行联系原作者

相关文章
|
C语言
C语言malloc与free实现原理
malloc()的实现很简单。它首先会扫描之前由 free()所释放的空闲内存块列表,以求找到尺寸大于或等于要求的一块空闲内存。(取决于具体实现,采用的扫描策略会有所不同。例如,first-fit 或 best-fito。)如果这一内存块的尺寸正好与要求相当,就把它直接返回给调用者。如果是一块较大的内存,那么将对其进行分割,在将一块大小相当的内存返回给调用者的同时,把较小的那块空闲内存块保留在空闲列表中。 如果在空闲内存列表中根本找不到足够大的空闲内存块,那么 malloc()会调用 sbrk()以分配更多
285 0
C语言malloc与free实现原理
|
SQL 关系型数据库 MySQL
如何快速在表级别做同构或者异构数据库之间的数据迁移/备份
【8月更文挑战第17天】本文介绍在同构与异构数据库间快速迁移/备份表级数据的方法。同构迁移可利用数据库自带工具(如MySQL的`mysqldump`)或管理软件(如phpMyAdmin);异构迁移则推荐使用ETL工具(如Pentaho Data Integration)或数据库复制工具(如SymmetricDS),亦可通过编程方式实现。实施前需测试以确保数据完整准确,并注意处理兼容性问题。
681 4
|
7月前
|
编解码 数据安全/隐私保护 Python
抖音批量发布作品视频工具, 自媒体批量发布工具,抖音自动上传发布视频软件
这个抖音批量上传工具包含以下功能模块:配置文件(config.py):集中管理账号、视频和上传配置视频处理模块(video_processor.py)
|
缓存 NoSQL JavaScript
布谷社交系统V6.0:新版同城陌生人交友软件源码开发技术栈
新版布谷社交V6.0同城陌生人交友软件源码开发技术栈!
|
SQL 人工智能 数据管理
跨云数据管理平台DMS:构建Data+AI的企业智能Data Mesh
跨云数据管理平台DMS助力企业构建智能Data Mesh,实现Data+AI的统一管理。DMS提供开放式元数据服务OneMeta、一站式智能开发平台和云原生AI数据平台,支持多模数据管理和高效的数据处理。结合PolarDB、AnalyticDB等核心引擎,DMS在多个垂直场景中展现出显著优势,如智能营销和向量搜索,提升业务效率和准确性。通过DataOps和MLOps的融合,DMS为企业提供了从数据到AI模型的全生命周期管理,推动数据驱动的业务创新。
1008 0
|
机器学习/深度学习 并行计算 PyTorch
使用PyTorch Profiler进行模型性能分析,改善并加速PyTorch训练
加速机器学习模型训练是工程师的关键需求。PyTorch Profiler提供了一种分析工具,用于测量CPU和CUDA时间,以及内存使用情况。通过在训练代码中嵌入分析器并使用tensorboard查看结果,工程师可以识别性能瓶颈。Profiler的`record_function`功能允许为特定操作命名,便于跟踪。优化策略包括使用FlashAttention或FSDP减少内存使用,以及通过torch.compile提升速度。监控CUDA内核执行和内存分配,尤其是避免频繁的cudaMalloc,能有效提升GPU效率。内存历史记录分析有助于检测内存泄漏和优化批处理大小。
1862 1
|
存储 C语言 Perl
西门子S7-1200的变量如何使用?什么是局部变量和全局变量?临时变量和静态变量有什么区别?
今天给大家讲一下什么是局部变量、全局变量、临时变量、静态变量,这些变量都有什么区别,以及在西门子S7-1200中这些变量如何来使用。
西门子S7-1200的变量如何使用?什么是局部变量和全局变量?临时变量和静态变量有什么区别?
|
文字识别 算法 Shell
突破边界:文本检测算法的革新与应用前景
突破边界:文本检测算法的革新与应用前景
突破边界:文本检测算法的革新与应用前景
|
机器学习/深度学习 人工智能 算法
强化学习:实现自主决策的机器学习范 paradigm
强化学习作为实现自主决策的机器学习范 paradigm,在人工智能领域具有重要地位。通过与环境的交互学习,智能体能够逐步优化决策策略,从而在各种任务中表现出色。强化学习在游戏、机器人控制、自动驾驶等领域的应用案例充分证明了其潜力。未来,随着技术的进一步发展,强化学习将在更多领域带来创新和突破。
1160 1
|
传感器 存储 物联网
51单片机DS18B20的使用
51单片机DS18B20的使用
743 0