服務器的磁盤也沒有做監控,其實我也不知道如何對磁盤的狀態做監控,突然查看不到新數據,上去看了一下磁盤的情況,發現磁盤出現只讀的情況,無法寫入數據。
一、處理過程
1、磁盤壞道檢查
出現問題之後,首先把業務停掉了,然後把磁盤卸載掉來進行修復,出現這種問題有可能是磁盤的磁道有壞區,我首先檢查了一下磁盤壞道的情況。
badblocks -sv /dev/sdb
差不多檢查了一些時間,發現並沒有壞道。
2、修復磁盤文件系統
在修復文件系統的時候發現無法修復,提示Superblock invalid。
[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
[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、修復文件系統
e2fsck -b 214990848 -y /dev/sdb
出現了很多修復的東西,修復了一會
修復好之後,掛載進去目錄查看如下