首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能再挂载XFS分区

不能再挂载XFS分区
EN

Server Fault用户
提问于 2013-05-22 11:59:26
回答 1查看 36.6K关注 0票数 6

我的服务器上有9个分区格式化为XFS。

当我试图安装其中一个,它失败了。其他人骑得很好。

代码语言:javascript
复制
root@fileserver2 # mount | grep xfs | head -1
/dev/sdb1 on /mnt/hdd1 type xfs (rw,noatime)

root@fileserver2 # mount -t xfs /dev/sdf3 /mnt/hdd3
mount: wrong fs type, bad option, bad superblock on /dev/sdf3,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

root@fileserver2 # dmesg | tail -2
XFS (sdf3): bad magic number
XFS (sdf3): SB validate failed

所以我试着用xfs_repair -n找到次要的SB,但是失败了:

代码语言:javascript
复制
root@fileserver2 # xfs_check /dev/sdf3
xfs_check: /dev/sdf3 is not a valid XFS filesystem (unexpected SB magic number 0x00000000)
xfs_check: WARNING - filesystem uses v1 dirs,limited functionality provided.
xfs_check: read failed: Invalid argument
xfs_check: data size check failed
cache_node_purge: refcount was 1, not zero (node=0x14a7380)
xfs_check: cannot read root inode (22)
bad superblock magic number 0, giving up

root@fileserver2 # xfs_repair -n /dev/sdf3

Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!

attempting to find secondary superblock...
............[etc.]
...found candidate secondary superblock... unable to verify superblock, continuing...
[etc.]
...Sorry, could not find valid secondary superblock
Exiting now.

下面是特定驱动器上的分区,包括根分区(sdf1)和交换分区(sdf5)。扩展分区不包括我的sdf3 (XFS)分区,我觉得很奇怪。这意味着我的XFS分区将是第二个主分区,对吗?

代码语言:javascript
复制
root@fileserver2 # fdisk -l /dev/sdf

Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x20a0c72d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1   *           1        2612    20980858+  83  Linux
/dev/sdf2            2613        2855     1951867    5  Extended
/dev/sdf3            2856      243202  1930581796+  83  Linux
/dev/sdf5            2613        2855     1951866   82  Linux swap / Solaris

接下来,我尝试使用file -s来识别该驱动器上的各种文件系统:

代码语言:javascript
复制
root@fileserver2 # file -s /dev/sdf1
/dev/sdf1: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)

root@fileserver2 # file -s /dev/sdf2
/dev/sdf2: x86 boot sector; partition 1: ID=0x82, starthead 254, startsector 2, 3903732 sectors, extended partition table (last)\011, code offset 0x1

root@fileserver2 # file -s /dev/sdf3
/dev/sdf3: x86 boot sector; partition 1: ID=0xbf, starthead 254, startsector 63, 3861163530 sectors, extended partition table (last)\011, code offset 0x0

root@fileserver2 # file -s /dev/sdf5
/dev/sdf5: Linux/i386 swap file (new style) 1 (4K pages) size 487965 pages

那么,sdf3似乎是第二个扩展分区..?真奇怪。

我在XFS分区上尝试了可以挂载的相同命令:

代码语言:javascript
复制
root@fileserver2 # file -s /dev/sdb1
/dev/sdb1: SGI XFS filesystem data (blksz 4096, inosz 256, v2 dirs)

并尝试在sdf3分区开始时检查数据:

代码语言:javascript
复制
root@fileserver2 # dd if=/dev/sdf3 bs=512 count=64 iflag=direct | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 fe  |................|
000001c0  ff ff bf fe ff ff 3f 00  00 00 0a ae 24 e6 00 00  |......?.....$...|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  9c 52 1d 9c b7 00 d7 e9  e8 fc 3c 6f 4e dc 31 27  |.R........<oN.1'|
00000210  e9 98 6b b0 2f 74 c1 69  40 12 58 90 4b e3 d0 73  |..k./t.i@.X.K..s|
[...]
00007e00  58 46 53 42 00 00 10 00  00 00 00 00 1c c4 95 c1  |XFSB............|
00007e10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00007e20  41 4c 30 10 33 23 45 5f  88 6c 25 e1 03 a1 be e3  |AL0.3#E_.l%.....|
00007e30  00 00 00 00 10 00 00 04  00 00 00 00 00 00 00 80  |................|
00007e40  00 00 00 00 00 00 00 81  00 00 00 00 00 00 00 82  |................|
00007e50  00 00 00 01 07 31 25 71  00 00 00 04 00 00 00 00  |.....1%q........|
00007e60  00 03 98 92 b4 a4 02 00  01 00 00 10 68 64 64 33  |............hdd3|
00007e70  00 00 00 00 00 00 00 00  0c 09 08 04 1b 00 00 05  |................|
00007e80  00 00 00 00 00 00 00 40  00 00 00 00 00 00 00 3d  |.......@.......=|
00007e90  00 00 00 00 1c c0 fd 1b  00 00 00 00 00 00 00 00  |................|
00007ea0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00007eb0  00 00 00 00 00 00 00 02  00 00 00 00 00 00 00 00  |................|
00007ec0  00 00 00 00 00 00 00 01  00 00 00 0a 00 00 00 0a  |................|
00007ed0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00008000

(结果的全部转储:http://f.cl.ly/items/3I3F3c1F1I1Z2f1w1W3Z/hexdump-sdf3.txt)

因此,分区不是从扇区0开始(就像在其他驱动器上一样,比如sdb1),而是从扇区63开始(0x7e00 = 32256 / 512字节/扇区= 63)。

关于我如何解决这个问题,并能够挂载这个有趣的分区的指针吗?

谢谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-05-22 14:02:37

您已经确定了您的文件系统在分区中启动了63个扇区;这是一个完整的跟踪(63个扇区/跟踪,因此分区的第一个轨道是扇区0-62)。考虑到这一点,您可以尝试修改分区表,以便/dev/sdf3在之后完全启动一个轨道,即从

代码语言:javascript
复制
/dev/sdf3            2856      243202  1930581796+  83  Linux

代码语言:javascript
复制
/dev/sdf3            2857      243202  1930581796+  83  Linux

然后看看你能不能把它装上去。

票数 7
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/509852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档