Ubuntu 12.04 中 >2TB 磁盘上的 ZFS?

Ubuntu 12.04 中 >2TB 磁盘上的 ZFS?

我刚刚得到一个 4TB 的磁盘并且正在运行 Ubuntu 12.04。http://www.thegeekstuff.com/2012/08/2tb-gtp-parted/说如果您想使用> 2TB,则需要使用 GPT 对磁盘进行分区(并且您可以使用 fdisk/gparted 来执行此操作)。

但是我对使用 ZFS 很感兴趣。但是,我尝试过的每个工具都只报告 2TB,并且hdparm -N报告最大扇区的输出也不准确:

$ uname -a
Linux nuthouse 3.2.0-49-generic #75-Ubuntu SMP Tue Jun 18 17:39:32 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

$ dmesg | fgrep sde
[2505154.456871] sd 5:0:0:0: [sde] 488370432 4096-byte logical blocks: (2.00 TB/1.81 TiB)
[2505154.460111] sd 5:0:0:0: [sde] No Caching mode page present
[2505154.460117] sd 5:0:0:0: [sde] Assuming drive cache: write through
[2505154.508410]  sde: sde1 sde9

$ sudo hdparm -N /dev/sde

/dev/sde:
SG_IO: bad/missing sense data, sb[]:  70 00 02 00 00 00 00 0a 00 00 00 00 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: bad/missing sense data, sb[]:  70 00 02 00 00 00 00 0a 00 00 00 00 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 max sectors   = 0/1, HPA is enabled

$ sudo parted /dev/sde print
Model: WD My Book 1140 (scsi)
Disk /dev/sde: 2000GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

$ sudo gdisk /dev/sde
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/sde: 488370432 sectors, 1.8 TiB
Logical sector size: 4096 bytes
Disk identifier (GUID): 2B18FE55-5944-2946-A9C6-69C21EFEEAB8
Partition table holds up to 128 entries
First usable sector is 6, last usable sector is 488370426
Partitions will be aligned on 256-sector boundaries
Total free space is 488370421 sectors (1.8 TiB)

Number  Start (sector)    End (sector)  Size       Code  Name

Command (? for help): v

No problems found. 488370421 free sectors (1.8 TiB) available in 1
segments, the largest of which is 488370421 (1.8 TiB) in size.

Command (? for help): q

$ sudo zpool create tank /dev/sde

$ sudo zpool list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
tank  1.81T   576K  1.81T     0%  1.00x  ONLINE  -

$ sudo parted /dev/sde print
Model: WD My Book 1140 (scsi)
Disk /dev/sde: 2000GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      8389kB  2000GB  2000GB               zfs
 9      2000GB  2000GB  67.1MB

$ sudo gdisk /dev/sde
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/sde: 488370432 sectors, 1.8 TiB
Logical sector size: 4096 bytes
Disk identifier (GUID): 2B18FE55-5944-2946-A9C6-69C21EFEEAB8
Partition table holds up to 128 entries
First usable sector is 6, last usable sector is 488370426
Partitions will be aligned on 256-sector boundaries
Total free space is 2293 sectors (9.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       488353791   1.8 TiB     BF01  zfs
   9       488353792       488370175   64.0 MiB    BF07

Command (? for help): v

No problems found. 2293 free sectors (9.0 MiB) available in 2
segments, the largest of which is 2042 (8.0 MiB) in size.

Command (? for help): q

我该怎么做?谢谢您的任何提示。

答案1

由于parted报告磁盘为 2000GB,因此清空分区表不太可能有帮助。(这些大小报告基于硬件的大小,与分区表中的内容无关。)更有可能的是,某些东西设置了主机保护区 (HPA)磁盘的大小,从而限制其表观大小。您可以使用 Linuxhdparm命令(特别是其-N选项)来调整这一点。(键入man hdparm并搜索-N以查找详细信息。)键入sudo hdparm -N /dev/sde将报告当前 HPA 状态而不进行更改,因此请尝试将其作为诊断。

另一种可能性是磁盘硬件或软件堆栈出现问题。您的parted输出表明您使用的是 WD My Book 1140。对此进行网络搜索表明这是一个外部硬盘。有时它们可​​能会因为 USB 堆栈问题而出现问题。但通常情况下,此类问题与机箱中的固件有关 - 如果机箱对扇区数有 32 位限制,它将对磁盘的可见大小产生奇怪的影响。但在这种情况下,如果 WD 为超过 2TiB 的磁盘提供不合适的固件,那将是令人震惊的,因此只有您自己用更大的型号更换了机箱中的磁盘时,这种情况才合理。不过,可能存在类似问题,特别是如果您使用的是不常见的 USB 适配器或类似的东西。可能值得更详细地描述您的硬件(驱动器和主板或它所连接的任何类型的适配器)。

另一个要尝试的诊断方法是:在磁盘上gdisk启动,输入,,然后退出。发布gdiskpvq完全的结果。这不太可能提供任何重大线索,但可能性很小。您可能需要先安装gdisk(它在或gdisk包中gptfdisk;我不记得 Ubuntu 使用哪个名称,随便说说)。


编辑:您的hdparm -N输出很奇怪。也许机箱的固件没有正确通过该功能。另一方面,输出确实表明 HPA 处于活动状态,因此可能值得使用其他实用程序进一步深入研究。(也许磁盘制造商提供的基于 Windows 的某些东西会更好,特别是如果磁盘在某些方面很奇怪。)

输出gdisk没有提供任何新线索,尽管我确实注意到了第一次没有注意到的事情:磁盘使用 4096 字节逻辑扇区。这意味着您可以在磁盘上使用 MBR,无论其大小如何。(对于 4096 字节扇区,MBR 的限制最高可达 16TiB。)但是,使用 MBR 不太可能对您有帮助,因为 Linux 错误检测了其大小。

我对现在可以尝试的一些建议有:

  • 如果磁盘足够新,请退回该磁盘并获取另一个。
  • 联系制造商获取技术支持。
  • 尝试使用 Windows 和/或 OS X 的磁盘。这将为您提供有关问题是否特定于操作系统的信息。
  • 尝试其他 Linux 发行版或其他内核。如果涉及 Linux 内核错误,这可能会有所帮助。
  • 尝试使用另一个接口 - 例如,如果您使用 USB 并且驱动器支持 eSATA,请尝试 eSATA。

按您喜欢的任何顺序尝试这些。

相关内容