Howto align partitions in Linux + NetApp
NetApp support has suggested us to align partitions to improve I/O performance, in short: starting sector must be divisible by 8. How can I move the starting point in a misaligned partition -in production, with ext3- under Linux?
A screenshot with a misaligned (start=63s) and aligned (start=64s) partition is available at:
(Если кто-то интересуется этой темой, у NetApp есть хороший документ, объясняющий проблемы с производительностью в смещенных разделах, найдите "tr-3747": Рекомендации по выравниванию файловой системы в виртуальных средах.)
Я пробовал использовать parted с командами "resize + move", но при перемещении начальной точки я получаю эту ошибку:
(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' в экспертном режиме ('переместить начало данных в разделе') работает, но не перемещает файловую систему.. спасибо!!
3 ответа
У вас есть два варианта: переместить все смещенные виртуальные машины в хранилище данных, созданное специально для этого смещения, или исправить все виртуальные машины.
Если вы решили исправить виртуальные машины, я понимаю, что вам нужно будет перезагрузить серверы. Вот ссылка Netapp, по которой вы можете начать исследование, если решите отключиться. mbrscan и mbralign - необходимые инструменты.
Если вы еще не можете отключиться и решили создать новое хранилище данных, вам необходимо прочитать это. В итоге вы получите отдельный LUN для каждого типа смещения, но вы можете использовать свое время и график отключений для перестройки, когда это менее разрушительно. Помните, что если вы поместите живую виртуальную машину в специально смещенный LUN, вы не сможете использовать VMotion, пока не исправите ее, если только вы не готовы жить с плохой производительностью.
fdisk манипулирует MBR, которая составляет 512 байт данных в начале диска. Он не будет манипулировать остальными данными. Вам нужно будет отключить хост, подготовить новое, правильно выровненное хранилище, а затем использовать dd
или аналогично зеркальному отображению старого раздела в новый раздел (в новом хранилище).
Этот тип вещей на самом деле не может быть выполнен без простоев, поскольку файловая система обычно зависит от знания того, где находится первый (и последний) блок относительно раздела. Очевидно, что вы не можете обрезать свой раздел (что и делает fdisk), и перемещение всего блока системы +1 во время работы будет... ну, я не знаю, какая файловая система может должным образом справиться с этой ситуацией.
Я не знаю о решении, которое делает это на лету или даже без простоя. Я думаю, что ваш лучший и единственный шанс - сделать резервную копию root-fs (или лучше всей системы) и создать новые выровненные разделы.