无法将 UFS 文件系统从 Sparc Solaris 挂载到 x86_64 Linux

无法将 UFS 文件系统从 Sparc Solaris 挂载到 x86_64 Linux

我需要将大量数据从 Solaris 9 (Sparc) 系统复制到 SLES11 (x84_64) 系统。

Solaris系统相当老旧,通过网络传输数据需要几天的停机时间。

我的目标是将 LUN 从 SAN 分配到我的 Solaris 系统,以这种方式复制数据(通过结构而不是 LAN),然后将 LUN 重新分配到目标 Linux 系统。

我的问题是我似乎不知道如何从我的 Linux 机器上挂载 UFS 文件系统。

这是在 Solaris 上看到的当前分区表:

Volume name = <        >
ascii name  = <HITACHI  OPEN-V      -SUN 7006 ffe00000>
bytes/sector    =  512
sectors = 4292870143
accessible sectors = 4292870110
Part      Tag    Flag     First Sector          Size          Last Sector
  0       root    wm                34       128.00MB           262177
  1       swap    wu            262178       128.00MB           524321
  2 unassigned    wm                 0            0                0
  3 unassigned    wm                 0            0                0
  4 unassigned    wm                 0            0                0
  5 unassigned    wm                 0            0                0
  6        usr    wm            524322         2.00TB           4292853725
  8   reserved    wm        4292853726         8.00MB           4292870109

当我尝试在 Linux 系统上使用 fdisk 列出它时,我得到:

 # fdisk -l /dev/sdl

Disk /dev/sdl: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders, total 4294967296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdl doesn't contain a valid partition table

然而,设备映射器似乎知道分区(尽管它将它们偏移了 1):

lrwxrwxrwx 1 root root 7 Nov  5 13:30 /dev/mapper/360060e8006cfd3000000cfd300000087 -> ../dm-3
lrwxrwxrwx 1 root root 8 Nov  5 13:30 /dev/mapper/360060e8006cfd3000000cfd300000087_part1 -> ../dm-38
lrwxrwxrwx 1 root root 8 Nov  5 13:30 /dev/mapper/360060e8006cfd3000000cfd300000087_part2 -> ../dm-39
lrwxrwxrwx 1 root root 8 Nov  5 13:30 /dev/mapper/360060e8006cfd3000000cfd300000087_part7 -> ../dm-40
lrwxrwxrwx 1 root root 8 Nov  5 13:30 /dev/mapper/360060e8006cfd3000000cfd300000087_part9 -> ../dm-41

然后我尝试挂载文件系统,但结果是:

 # mount -t ufs -o ro,ufstype=sun /dev/disk/by-id/scsi-360060e8006cfd3000000cfd300000087-part7 /ldev87
mount: wrong fs type, bad option, bad superblock on /dev/mapper/360060e8006cfd3000000cfd300000087_part7,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

dmesg 没有给我更多信息。每次我尝试安装时只需一行:

[173168.020980] ufs_read_super: bad magic number

我似乎支持 ufs 文件系统:

# grep ufs /proc/filesystems
        ufs

# modinfo ufs
filename:       /lib/modules/3.0.101-0.15-default/kernel/fs/ufs/ufs.ko
license:        GPL
srcversion:     4BC9796D2E230B27387BE46
depends:
supported:      yes
vermagic:       3.0.101-0.15-default SMP mod_unload modversions
signer:         SUSE Linux Enterprise Secure Boot Signkey
sig_key:        3F:B0:77:B6:CE:BC:6F:F2:52:2E:1C:14:8C:57:C7:77:C7:88:E3:E7
sig_hashalgo:   sha256

# less /proc/modules | grep ufs
ufs 79510 0 - Live 0xffffffffa07e4000

Linux 是否只能打开一定大小(小于 2TB)的 Sun 卷?或者我需要在 Solaris 系统上做一些特殊的事情来准备 Linux 系统可以读取的文件系统吗?

我希望有人有想法。

更新 对于任何遇到同样问题的未来访问者,我的问题似乎是 LUN 的大小。 2TB不行,1.8TB也不行,但是1TB可以用。我没有时间弄清楚实际的限制在哪里,但显然是有一个。

相关内容