生成的分区未正确对齐以实现最佳性能

生成的分区未正确对齐以实现最佳性能

我尝试分区但收到以下错误 -

The resulting partition is not properly aligned for best performance.

(parted) print
Model: Seagate BUP Slim Mac SL (scsi)
Disk /dev/sdd: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart                                                           
Partition name?  []? part1
File system type?  [ext2]? ext4                                           
Start? 10                                                                 
End? 100                                                                  
Warning: The resulting partition is not properly aligned for best performance.

答案1

unit s print没有看到命令的输出创建分区后,我不确定这里发生了什么。我刚刚在 USB 闪存驱动器上尝试过,没有收到这样的警告;但该驱动器还报告了 512 字节的物理扇区大小,而不是磁盘的 4096 字节。另外,你没有说parted你使用的是哪个版本的 Ubuntu(我使用的是 Ubuntu 16.04 和parted3.2-15)。

无论如何,我的unit s print输出是:

Number  Start   End      Size     File system  Name   Flags
 1      20480s  194559s  174080s               part1

大多数磁盘上均已正确对齐。

为了备份,有几个原因导致分区应该“对齐”——即在特定扇区号的倍数上创建。原因包括:

  • 许多现代硬盘使用 4096 字节的物理扇区;但为了提高兼容性,它们将每个扇区划分为八个 512 字节的逻辑扇区。问题是,如果您要写入少于八个逻辑扇区的数据,磁盘将不得不读取整个物理扇区,对其进行修改,然后将结果写回磁盘。这比写入整个物理扇区(即其所有八个逻辑扇区)需要更多时间。由于许多文件系统使用 4096 字节或更大的数据结构,因此在八个扇区边界以外的位置启动文件系统(分区)可能会导致严重的性能下降。请参阅这是我为 IBM developerWorks 撰写的这篇文章有关此主题的更多信息,包括显示可能导致的性能下降程度的基准测试。(注意:我几年前做过这些测试。由于硬件或软件的变化,现在的结果可能会有所不同。)
  • 在某些类型的 RAID 配置中,数据会“条带化”到多个磁盘。这可以提高性能,但如果分区的起始点是条带大小的倍数(通常在 16 KiB 到 256 KiB 大小范围内),则性能改进效果最佳。
  • SSD 可以根据其擦除块大小(通常为 512 KiB 到 1 MiB)看到性能和寿命效果,尽管我听说过具有特殊擦除块大小的 SSD,例如 3 MiB。

在大多数情况下,对于所有这些技术,2048 个扇区(1 MiB)边界上的对齐效果都很好。(具有 3 MiB 擦除块大小的 SSD 是此规则的例外。)此值已成为大多数分区工具的默认值。根据parted您输入的解释方式(单位等)以及它如何确定您的分区是否最佳对齐,您可能会遇到或可能遇到真正的问题。这就是我说您需要查看输出的原因unit s print。(这unit s部分至关重要;如果没有这部分,parted将显示四舍五入为 MiB、GiB 或其他值的分区起点和终点,这对于确定正确的对齐不够精确。)

在某些情况下,parted系统会无缘无故地发出抱怨。例如,无法正确对齐 MBR 磁盘上的扩展分区,因为这些分区的唯一实际数据结构大小为 512 字节;但parted如果扩展分区不在对齐边界上开始,系统就会发出抱怨(或者至少某些版本会这样)。如果我没记错的话,某些版本还会查看终点分区,但这并不相关,除非它会影响下一个分区的起点。

最后一点:在我的测试中,parted将起点视为1010 MiB(或者更可能是 10 MB),然后四舍五入以进行正确对齐。然后它似乎将终点视为100100 MB,并再次四舍五入以进行对齐。无论如何,10 MiB(四舍五入后的结果)的起点在磁盘的开头留下了接近 10 MiB 的未使用空间。即使对齐 1 MiB,也有 9 MiB 的未使用空间。这在现代磁盘上并不是很大的空间,但您可能需要重新考虑并从 1 MiB 开始第一个分区。

答案2

如果您使用百分比而不是扇区,parted 将计算正确的对齐方式:

(parted) mkpart
Partition name?  []? part1
File system type?  [ext2]? ext4
Start? 0%
End? 100%

答案3

备份未对齐分区的数据,使用删除并重新创建分区gparted,确保如下所示设置...

在此处输入图片描述

完成后恢复您的数据。

相关内容