用现有的文件系统重新创buildXFS分区

我有一个有两个RAIDarrays的CentOS服务器。 操作系统arrays和数组数组。 长话短说,最近有操作系统的麻烦,不得不重新安装CentOS(5.7和6.5)。 现在一切正在与操作系统部分。 不过,我的DATA数组有问题。

该数组显示为/ dev / sdb,但我曾经有一个分区(/ dev / sdb1),其中存储了所有的数据。 服务器没有看到/ dev / sdb1了,所以我最好的猜测是分区表有点搞砸了。 当我分开打​​印时,它将分区types列为循环:

NON-WORKING SERVER: Model: Adaptec DATA (scsi) Disk /dev/sdb: 59.9TB Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0.00B 59.9TB 59.9TB xfs 

我有另一个服务器,这是一个完全重复的这一个,它看起来是正确的分开和/ dev / sdb1是可见的:

 WORKING SERVER: Model: Adaptec STORAGE (scsi) Disk /dev/sdb: 59.9TB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 59.9TB 59.9TB xfs primary 

有没有办法让我修复这个分区,这样我就不会破坏我的数据? 我迫切需要保留数据,但似乎无法弄清楚是否有办法修复分区和/或为什么它显示为循环。

感谢您的任何帮助!!

附加信息:

fdisk -l / dev / sdb:

 Disk /dev/sdb: 59914.8 GB, 59914783293440 bytes 255 heads, 63 sectors/track, 7284224 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: 0xf0b62000 

BLKID:

 /dev/sda1: UUID="9de0d036-a86f-4557-8e09-a5ccd33c66be" TYPE="ext4" /dev/sda2: UUID="VYyo4L-lkdG-GivI-a6eM-pFfX-TOoV-E1LxcF" TYPE="LVM2_member" /dev/mapper/VolGroup-lv_root: UUID="18bbe93e-9b67-4343-8d71-71bd087ab145" TYPE="ext4" /dev/sdb: LABEL="Data" UUID="dfda2895-d1cd-4b3e-8453-e5c51c093260" TYPE="xfs" /dev/mapper/VolGroup-lv_swap: UUID="d71f193f-acd4-4aea-8d11-be2acd4575f3" TYPE="swap" /dev/mapper/VolGroup-lv_home: UUID="223b2be8-f9e9-4671-bc84-e5aa5f73b697" TYPE="ext4" 

parted / dev / sdb unit s print(NON-WORKING SERVER):

 Model: Adaptec DATA (scsi) Disk /dev/sdb: 117021061120s Sector size (logical/physical): 512B/512B Partition Table: loop Number Start End Size File system Flags 1 0s 117021061119s 117021061120s xfs 

parted / dev / sdb单位打印(工作服务器):

 Model: Adaptec STORAGE (scsi) Disk /dev/sdb: 117021061119s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 34s 117021061086s 117021061053s xfs primary 

狡猾。

循环分区types实际上意味着没有分区表。

分区表基本上告诉操作系统在哪里寻找一个分区的开始和创build一个文件系统时应该停止的地方。 所以对于桌子没有神奇的东西,如果你有正确的信息,如果你只是把它写到相应的位置,你的磁盘应该像……呃…新…好吧,你得到的图片…;)

这是我会做的:

  1. 使用dd if=/dev/sdb of=/root/sdb-parttable.bin bs=512 count=1创build问题主机当前分区表的备份,虽然它是空的
  2. 然后,我会使用fdisk来查找其他服务器上的开始扇区和结束扇区,并将其放下,
  3. 使用第二台服务器的确切值,在问题服务器上使用fdisk创build一个新的分区(不需要做任何事情!)。
  4. 将该分区表写入磁盘
  5. 尝试挂载/ dev / sdb1
  6. 如果这不起作用,请使用dd if=/root/sdb-parttable.bin of=/dev/sdb bs=1 count=64 skip=446 seek=446恢复旧分区表。

免责声明:这是一个棘手的操作。 这个答案中的信息是希望它可能是有用的,没有任何保证…如果你有任何手段备份在一个字节级别的磁盘之前采取这些步骤: 这样做!