如何在Linux + NetApp中alignment分区

NetApp的支持build议我们调整分区以提高I / O性能,简而言之: 启动扇区必须能被8整除 。 我怎样才能在一个错误的分区,生产中的起点,在Linux下ext3-?

错位(开始= 63s)和alignment(开始= 64s)分区的屏幕截图可在以下位置获得:

http://filesocial.com/lkwvvn2

(如果有人对这个主题感兴趣,NetApp有一个很好的文档来解释错位分区中的性能问题,请search“tr-3747”: 虚拟环境中文件系统alignment的最佳实践

我曾尝试使用“resize+移动”命令分开,但移动的起点时,我得到这个错误:

(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'命令('移动分区中的数据的开始')工作,但它不移动文件系统。谢谢!

您有两种select:将所有未alignment的虚拟机移动到专门为该错位而创build的数据存储中,或者修复所有的虚拟机。

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

如果您还不能中断,并决定创build一个新的数据存储,那么您需要阅读这个 。 您将最终为每种types的偏移量单独创build一个LUN,但是如果不太具有破坏性,您可以花费您的时间和计划中断进行重新调整。 记住,一旦你把一个活的虚拟机放到一个特别偏移的LUN中,除非你愿意忍受这个糟糕的性能,否则你不能在它修复之前进行虚拟化。

我不知道有这样一个解决scheme,即使这样做,甚至没有宕机。 我认为你最好也是唯一的机会是备份root-fs(或者更好,整个系统)并创build新的alignment的分区。

fdisk操纵MBR,即磁盘开始处的512字节数据。 它不会操纵其余的数据。 您需要closures主机,提供新的,正确alignment的存储,然后使用dd或类似命令将旧分区镜像到新分区(在新存储上)。

这种types的事情不可能在没有宕机的情况下完成,因为文件系统通常依赖于知道第一个(也是最后一个)块相对于分区的位置。 显然,你不能截断你的分区(这是fdisk会做什么),而在运行时移动整个系统的+1阻塞会有…呃,我不知道任何文件系统可以正确处理这种情况。