如何格式化 4k 扇区硬盘?

qwa*_*zix 13 partitioning gparted hard-drive

我买了一个希捷 ST3000DM001 3TB 硬盘。它是在一个外壳内出售的。我格式化为 ext4,将一些数据复制到其中,然后将其从机箱中取出并将其直接连接到主板。我的数据对操作系统不可见(它看到一个未知的 ~300GiB 分区,其余为可用空间)所以我开始阅读高级格式和 >2TB 驱动器。

我再次将磁盘与 USB 连接,复制所有数据,并再次插入 sata。我使用 gparted 创建了一个 GPT 分区表(ubuntu 磁盘实用程序不会让我使用Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0),创建了一个大的 3Tb Ext4 分区,保留默认Align toMiB并格式化。

驱动器被正确识别,并正确安装。文件可以成功地从驱动器复制到驱动器。

然而:

Gparted 显示磁盘有 512k 扇区,我知道这不是真的1

gparted 截图

cat /sys/block/sdb/queue/physical_block_size报告4096

我发现一些报告对libparted非 512k 扇区2和其他扇区3存在问题,这些报告说与 MiB 对齐就足够了。

Parted 报告说,当我选择最小时,驱动器已对齐:

(parted) align-check 
alignment type(min/opt)  [optimal]/minimal? min                           
Partition number? 1                                                       
1 aligned
(parted)    
Run Code Online (Sandbox Code Playgroud)

我的配置正确吗?我是否因为磁盘格式化为 512k 扇区而导致性能下降,是 gParted 报告错误值还是我理解整个事情是错误的?

  1. http://www.storagereview.com/seagate_barracuda_3tb_review_1tb_platters_st3000dm001
  2. http://ubuntuforums.org/showthread.php?t=1536933&p=9754234#post9754234
  3. http://wdc.custhelp.com/app/answers/detail/a_id/5655

Rod*_*ith 12

首先,即使物理扇区大小为 4096 字节 (4KiB) ,大多数高级格式驱动器的逻辑扇区大小也为 512 字节。这是通过处理驱动器固件中的数据来完成的,如果分区未正确对齐,可能会导致性能问题。不过,这可能不是您问题的根源,而且您对分区对齐的关注是错误的。(当然,分区对齐重要;这不是问题的根源。)

我的预感(它只是一种预感)是您的问题是由于在 USB 外壳和磁盘的直接连接之间切换造成的。一些机箱将磁盘上的 512 字节逻辑扇区转换为呈现给计算机的 4096 字节逻辑扇区——也就是说,与高级格式磁盘中的固件所做的相反。我并不乐观,但我怀疑某些机箱仅在超过 2TiB 的磁盘上执行此操作。MBR 和 GPT 分区方案都是按扇区号引用数据,因此更改扇区大小会使分区数据无效。因此,如果您在以这种方式转换的 USB 机箱中准备磁盘,然后尝试直接使用该磁盘(或反之亦然),您将看到错误,因为分区(甚至 GPT 备份数据)不会计算机期望的位置。这就像告诉一个蒙着眼睛的人“

此问题的解决方案是以一种方式准备和使用磁盘——要么使用 USB 外壳,要么使用直接连接,而不是两者兼而有之。如果出于某种原因两者都需要,您需要找到一个无需应用此类翻译即可工作的附件。

为了检验我的假设,您可以使用parted报告逻辑扇区大小的工具(如)。例如:

sudo parted /dev/sda print
Model: ATA Hitachi HDP72505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Run Code Online (Sandbox Code Playgroud)

我从这个输出中省略了一堆信息。重要的细节在这里显示的最后一行:逻辑和物理扇区大小都是 512 字节。如果您运行此测试,然后以另一种方式重新连接磁盘并再次运行它,您可以比较结果。如果逻辑扇区大小根据您附加磁盘的方式而变化,那么我的假设是正确的,这就是问题的根源。或者至少,这是一个问题;可能还有其他人。特别是,Error synchronizing after initial wipe您提到的错误可能表明存在另一个问题。OTOH,这可能是副作用parted试图从磁盘末尾读取备份 GPT 数据。无论哪种方式,如果您看到逻辑扇区大小发生变化,您应该在处理其他任何事情之前解决该问题。如果您想重新分区磁盘但由于Error synchronizing错误而出现问题,请尝试使用gdiskcgdisk(在gdisk包中)而不是parted或 GParted;该gdisk系列是针对错误更健壮比的就是parted家人。


psu*_*usi 5

它报告 512 字节,因为这是与旧操作系统 (Windows) 向后兼容的逻辑扇区大小。(g)parted 将分区对齐到 1 MiB,这对于使用 4k 物理扇区的驱动器正常工作绰绰有余,因此它的方式很好。