0%

CentOS xfs 疑难解决

xfs文件系统无法mount

首先阐述一下碰到的问题,N年前做了一个高速记录系统,使用的为CentOS6.8的稳定系统,
在备份机上做了同样的系统,最近可能强迫症所致,更新了一下,导致软件版本不一致,
引起了文件系统无法挂载。

详细的信息如下:

1
2
3
4
5
# mount /dev/sdb /data/
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

查看一下日志,可以看到如下信息:

1
2
3
# dmesg | tail
XFS (sdb): bad version
XFS (sdb): SB validate failed

妥妥滴xfs的版本问题引起的无法挂载。

再深一步进行挖掘,自行创建一个xfs的文件系统进行分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# dd if=/dev/zero of=/var/tmp/dddddd.img bs=1024k seek=10240 count=1
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00263831 秒,397 MB/秒

# losetup /dev/loop0 /var/tmp/dddddd.img
# mkfs.xfs /dev/loop0
meta-data=/dev/loop0 isize=256 agcount=4, agsize=655424 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2621696, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# echo "version" | xfs_db /dev/loop0
xfs_db> version
versionnum [0xb4a4+0xa] = V4,NLINK,ALIGN,DIRV2,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT
xfs_db> # xfs_db /dev/loop0
xfs_db> version
versionnum [0xb4a4+0xa] = V4,NLINK,ALIGN,DIRV2,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT
xfs_db> quit

可以从versionnum [0xb4a4+0xa] 知道此时的版本为V4 或者-V参数知道此时安装xfs版本为3.1.1。

查看xfs版本

1
# mkfs.xfs -V
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道