导读:在日常工作中,经常碰到服务器由于各种各样的原因,出现IO只读故障,将机器重启后,故障就可以恢复,找不到具体故障原因。频率可能几天或者几周出现1次。
目前已知的造成硬盘分区只读的可能原因有:
文件系统错误
内核相关硬件驱动bug
FW固件类问题
磁盘坏道
硬盘背板故障
硬盘线缆故障
HBA卡故障
RAID卡故障
linux文件系统只读后怎么修复
1 重启系统看是否可以自动修复。
2 使用fsck -y /dev/sda1 进行自动修复。(用”-y”选项来执行该命令对硬盘进行检查和修复)
添加参数:fsck -y -C -t ext3 /dev/sda1 (一般情况下修复完成后,所有文件移动到 lost+found目录,文件名会被改变)
(-C 显示进度条 -t 指定文件系统类型 -y 默认自动yes修复)
3. 如果fsck修复完成后,启动系统依然自读。
#mount 用于查看哪个模块输入只读,一般显示为:
/dev/nb1 on /EarthView/RAW type ext3 (ro)(变为只读了)
重新mount,或者umount以后再remount
umount /dev/nb1
如果发现有提示“device is busy”,找到是什么进程使得他busy
fuser -m /mnt/data 将会显示使用这个模块的pid
fuser -mk /mnt/data 将会直接kill那个pid
然后重新mount即可。
还有一种方法是直接remount,命令为
mount -o rw,remount /mnt/data
使用脚本监控linux系统文件只读
使用了一个最笨的原理:
获取服务器分区,然后在每个分区进行创建文件,如果文件创建成功,删除文件,如果没有创建,那么报警文件系统发生只读。
#!/bin/bash datetime=`date '+%F %T'` hostn=`hostname` ip=`/sbin/ifconfig | grep 192.168|sed 's/ //g;s/Bcast//g'|awk -F : '{print $2}'` read_only() { partition=(`df -Th | awk '{print $7}' | xargs`) for (( i=`expr ${#partition[@]} - 1`;i>0;i-- )) do cd ${partition[i]} touch readonly_test if [ -f "readonly_test" ];then rm -rf readonly_test else the_partition[i]="${partition[i]}" fi done if [[ ${#the_partition[*]} != "0" ]];then message="${the_partition[*]}分区出现只读" echo “文件系统只读” fi } read_only
原创脚本,转载请回复!
相关推荐
在Linux系统管理中,日志文件的管理和维护是至关重要的任务。日志文件记录了系统运行过程中的各种事件,如程序错误、系统警告、安全事件等。随着时间的推移,这些文件可能会变得非常大,占用大量的磁盘空间,因此...
在Linux中,将设备挂载到文件系统中的特定目录(挂载点)才能访问其内容。 2. **挂载命令**: 使用`mount`命令可以挂载设备。基本语法是`mount <设备文件> <挂载点>`。例如,如果U盘设备文件是`/dev/sdb1`,挂载点...
测试NFS挂载可以验证网络连接和文件系统兼容性。 - **文件系统制作**:Cramfs、JFFS2和Ramdisk是三种常用的嵌入式文件系统。Cramfs是压缩的只读文件系统,JFFS2支持日志和碎片管理,Ramdisk则是内存中的临时文件...
这是一个大型的只读文件系统,包含了大量的应用程序、文档和帮助文件。它被分为几个子目录,如`/usr/bin`、`/usr/lib`、`/usr/share`等,分别存放执行文件、库文件和共享资源等。 #### /var 该目录主要用于存放...
- **系统监控脚本**:定期检查系统状态,如磁盘空间、CPU负载等,并发送报警邮件。 - **数据备份脚本**:定时备份关键数据到远程服务器或其他存储介质上。 - **性能优化脚本**:通过调整系统参数、优化服务配置等...
本文将深入探讨如何在Linux环境下利用shell脚本实现SVN双机热备份,确保服务高可用性和数据安全性。 首先,我们需要理解"双机热备份"的概念。双机热备份是指两台服务器同时运行,一台为主服务器,另一台为备用...
Linux文件系统标准(FSSTND)定义了Linux文件系统的目录结构和文件放置的最佳实践,有助于保持系统的整洁和一致性。FSSTND规定了一些常用目录的作用: - **/bin**:存放常用的二进制文件,如ls、cat等。 - **/etc**...
在Linux环境中,Web服务器如Apache或Nginx每天都会生成大量的访问日志,这些日志对于监控服务器状态、分析用户行为、排查问题等都至关重要。为了有效地管理和利用这些日志,我们可以编写一个shell脚本来自动化地处理...
/lib目录存放了根文件系统上的程序所需的共享库,而/lib/modules则存储了内核模块,特别是那些在恢复损坏系统时引导过程所需的模块,如网络和文件系统驱动。 八、/dev /dev目录是设备文件的家园,包含了各种硬件...
5. **资源释放**:最后通过`pclose()`和`fclose()`分别关闭管道和文件,确保资源得到正确释放。 #### 总结 通过以上介绍和示例代码分析,我们可以看到在Linux C程序中使用`popen()`函数来获取shell命令的输出是一...
对于文档中提到的故障案例,如“文件系统只读”、“MySQL数据库启动故障”、“磁盘空间满了但未满”等,都是运维工作中常见的问题,运维工程师需要根据故障的具体表现,运用相应知识点和工具进行诊断和解决。...
i节点是Linux文件系统中用于存储文件元数据的数据结构,包括文件的大小、权限、创建时间等信息。每个文件都有一个唯一的i节点号来标识它。 4. **磁盘分区** 全部磁盘块由引导块、专用块、i节点表块和数据存储块...
综上所述,这个非法文件删除实现可能是一个基于VB6的桌面应用程序,它利用文件系统API监控指定目录,通过比较文件属性、使用配置文件中的白名单以及用户界面交互来进行非法文件的识别和删除。同时,通过版本控制文件...
- `mount` 命令:挂载文件系统到指定目录,`-a`挂载所有在`/etc/fstab`中的文件系统,`-rw`设定为只读模式。 2. **文件和目录管理**: - 文件操作命令包括`cd`, `ls`, `touch`, `cp`, `mv`, `rm`, `mkdir`, `...
这可能是某种监控文件系统变化的工具或者库,用于监听文件属性的更改。在编程中,例如Python有`watchdog`库,Java有`WatchService` API,它们可以用来监视指定目录下的文件或文件夹的变化,包括创建、删除、修改和...
这里可以利用INotify,这是一个内核事件通知系统,可以监控文件系统的变化。通过编写脚本或者使用如inotify-tools这样的工具,我们可以实时捕获文件或目录的创建、修改、删除等事件,进而触发备份操作。这样,一旦...