Programming Life
相信不能相信的,完成不能完成的。矛盾,就象征进步。
posts - 151,comments - 7,trackbacks - 0
问题

  使用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服务器遇到一般的数据错误的通常解决方法

  建议具体情况具体分析,查看完全后,在进行操作

  以免造成数据丢失等严重损失。

posted on 2009-01-21 11:21 Prog 阅读(1392) 评论(0)  编辑 收藏 引用 网摘 所属分类: Linux

只有注册用户登录后才能发表评论。
网站导航: