服务器的磁盘也没有做监控,其实我也不知道如何对磁盘的状态做监控,突然查看不到新数据,上去看了一下磁盘的情况,发现磁盘出现只读的情况,无法写入数据,要是大家谁知道怎么可以监控磁盘只读的方法,可以告诉我下,来个高达上一些的。
一、处理过程
1、磁盘坏道检查
出现问题之后,首先把业务停掉了,然后把磁盘卸载掉来进行修复,出现这种问题有可能是磁盘的磁道有坏区,我首先检查了一下磁盘坏道的情况。
1
|
badblocks -sv
/dev/sdb
|
差不多检查了一些时间,发现并没有坏道。
2、修复磁盘文件系统
在修复文件系统的时候发现无法修复,提示Superblock invalid。
1
2
3
4
5
6
7
8
9
10
|
[root@ad4 ~]
# fsck -t ext4 /dev/sdb
fsck
from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
fsck
.ext4: Superblock invalid, trying backup blocks...
fsck
.ext4: Bad magic number
in
super-block
while
trying to
open
/dev/sdb
The superblock could not be
read
or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something
else
),
then
the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
|
3、查看文件系统备份Superblock
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@ad4 ~]
# mke2fs -n /dev/sdb
mke2fs 1.41.12 (17-May-2010)
/dev/sdb
is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS
type
: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
122093568 inodes, 488364854 blocks
24418242 blocks (5.00%) reserved
for
the super user
First data block=0
Maximum filesystem blocks=4294967296
14904 block
groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
|
4、修复文件系统
1
|
e2fsck -b 214990848 -y
/dev/sdb
|
出现了很多修复的东西,修复了一会
修复好之后,挂载进去目录查看如下
好歹只是丢失了文件夹的名称,剩下的回复交由DBA来进行操作。
本文转自 wzlinux 51CTO博客,原文链接:http://blog.51cto.com/wzlinux/1739473,如需转载请自行联系原作者