openstack中把volume detach掉后,重新attach回来会有一定概率导致分区无法挂载,手动mount一下后会发现报错filesystem无法识别。
表象可能是lsblk和df显示的磁盘大小不一致。主动指明成ext4后再次mount后,仍然会是失败,这个时候就需要手动恢复一下filesystem了。
- 先把磁盘去掉挂载, 以下均以/dev/vdb为例 - 1 - # unmount /dev/vdb - 如果失败,则修改/etc/fstab里的记录,注释掉挂载,然后重启OS。 
- 用fsck检查磁盘 - 1 
 2
 3
 4
 5
 6
 7
 8- # e2fsck /dev/vdb 
 e2fsck 1.41.12 (17-May-2010)
 Pass 1:Checking inodes, blocks, and sizes
 Pass 2:Checking directory structure
 Pass 3:Checking directory connectivity
 Pass 4:Checking reference counts
 Pass 5:Checking group sumary information
 ext4-1:11/131072 files (0.0% non-contiguous),27050/524128 blocks
- 用resize2fs重新恢复一次磁盘filesystem - 1 
 2
 3
 4- # resize2fs /dev/vdb 
 resize2fs 1.41.12 (17-May-2010)
 Resizing the filesystem on /dev/vdb to 524128 (1k) blocks.
 The filesystem on /dev/vdb is now 524128 blocks long.
- 再次mount回来,检查文件。 - 1 - # mount /dev/vdb /data0 
 
              