如何在 Linux + NetApp 中对齐分区

如何在 Linux + NetApp 中对齐分区

NetApp 支持建议我们对齐分区以提高 I/O 性能,简而言之:起始扇区必须能被 8 整除。在 Linux 下,如何在生产中使用 ext3 移动未对齐分区中的起点?

未对齐(start=63s)和对齐(start=64s)分区的屏幕截图可在以下位置找到:

http://filesocial.com/lkwvvn2

(如果有人对此主题感兴趣,NetApp 有一篇很好的文档解释了未对齐分区中的性能问题,请搜索“tr-3747”:虚拟环境中文件系统对齐的最佳实践

我尝试使用带有“调整大小 + 移动”命令的 parted,但是在移动起点时出现此错误:

(parted) resize
Partition number? 1
Start?  [64s]?
End?  [419425019s]? 419425018
(parted) move
Partition number? 1
Start? 65
End?  [419425019s]? 419425019
Error: Can't move a partition onto itself.  Try using resize, perhaps?

在专家模式下使用 fdisk 的‘b’命令(“移动分区中的数据开头”)可以工作,但它不会移动文件系统。谢谢!!

答案1

您有两个选择:将所有未对齐的虚拟机移至专门为该未对齐创建的数据存储中,或者修复所有虚拟机。

如果您决定修复虚拟机,我的理解是您将需要重新启动服务器。以下是如果您决定停电,您可以开始研究 Netapp 链接。mbrscan 和 mbralign 是所需的工具。

如果你还不能承受停机并决定创建新的数据存储,则需要阅读。最终,您将获得针对每种偏移类型的单独 LUN,但您可以花时间安排停机时间,以便在干扰较少时进行重新调整。请记住,一旦将实时 VM 放入特殊偏移 LUN,您就无法对其进行 VMotion,直到修复它为止,除非您愿意忍受糟糕的性能。

答案2

我不知道有什么解决方案可以即时完成此操作,甚至无需停机。我认为您最好也是唯一的机会是备份根文件系统(或者更好的是整个系统)并创建新的对齐分区。

答案3

fdisk 操作 MBR,即磁盘开头的 512 字节数据。它不会操作其余数据。您需要关闭主机,配置新的、正确对齐的存储,然后使用dd或类似方法将旧分区镜像到新分区(在新存储上)。

这种事情真的不能不停机就完成,因为文件系统通常依赖于知道第一个(和最后一个)块相对于分区的位置。显然,您不能截断分区(这是 fdisk 会做的事情),并且在运行时移动整个系统 +1 个块会……好吧,我不知道有任何文件系统可以正确处理这种情况。

相关内容