扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
问题
使用Linux作为服务器操作系统的时候
维护少不需要重新启动的优势非常明显
但有时候会遇到莫明其妙的故障
例如数据无法写入,执行某程序报错
这个时候建议检查一下,是否是磁盘子系统的故障
例如SCSI/IDE/SATA硬盘出现了坏扇区,例如SCSI卡热插拔插座接触不良等。
解决方案
1) 首先定位故障所在。
查看/var/log/message查看里边是否有磁盘的报错
例如如下的信息,就是磁盘错误:
Oct 23 10:22:58 vm3 kernel: EXT3-fs error (device ide0(3,5)): ext3_readdir: directory #719520 contains a hole at offset 898727936
Oct 23 10:22:58 vm3 kernel: attempt to access beyond end of device
Oct 23 10:22:58 vm3 kernel: 03:05: rw=0, want=969723216, limit=6144831
还可以执行dmesg,查看物理设备是否有报告SCSI IO error等错误信息
如果发现类似信息,则可以确定为磁盘子系统的故障。
还有时候也会遇到磁盘某些分区成为了只读分区,任何数据都无法写入
这是linux系统在挂载磁盘分区时候发生了错误,随即启动了“安全模式”
将分区挂载为readonly,即只读状态,以免更严重的损坏发生。
2) 确认为磁盘故障后,千万不要重新启动服务器。
这种情况下重新启动服务器是比较危险的,可能重启时候读取数据错误造成引导失败
系统就在也启动不了了。
首先通过mount命令和df命令,查看当前的分区情况。
确认有用的数据都放在哪些分区上,这些分区是否独立,是在第几块硬盘等,
为一会的具体修复甚至更换硬件做准备。
此时应尽快对关键数据做备份,如果挂载有两块磁盘,则可以直接向无故障的磁盘备份。
如果只有一块磁盘,可以向其他正常的分区备份(但是也有风险)
在只有一块磁盘的情况下,比较可靠的方式是通过scp直接复制远程的文件
这样不会在本地写入大量的备份数据,避免加速硬盘的崩溃。
但缺点是速度较慢。
还有开设共享通过samba映射等各种方式都可以备份数据
3) 备份数据完成后,重新启动系统。使用安装光盘进行引导
并在启动的时候输入rescue,进入单用户救援模式
使用fsck命令,加上-y参数,修复故障的分区。
如果故障无法修复,则只能更换硬盘,重新装系统,再导回数据了。
以上为linux服务器遇到一般的数据错误的通常解决方法
建议具体情况具体分析,查看完全后,在进行操作
以免造成数据丢失等严重损失。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者