Выравнивание партиций виртуальных машин с помощью MBRscan/MBRalign
Некоторое время назад NetApp разработал и начал распространять в составе своего набора полезных утилит под ESX (ESX Host Utilities) специальные утилитки mbrscan и mbralign (в самой последней версии остался один mbralign, который же и scan делает, запускаясь с другим ключом).
Описание процесса выравнивания партиций освещена в документах NetApp не раз. Для примера могу указать на главу 6.3 в переведенном TR-3749 Руководство по наилучшим способам использования систем NetApp с VMware vSphere v4.1 , главу 4.4.8 в TR-3702 Наилучшие методы использования систем хранения NetApp для решений виртуализации Microsoft Hyper-V, а также отдельный документ TR-3747 File System Alignment in Virtual Environments
Отдельной строкой хочу отметить, что проблема с корректным выравниванием партиций виртуальных машин по границам блоков нижележащих структур НЕ есть проблема, характерная только для NetApp! Это общая, “платформонезависимая” проблема, требующая решения вне зависимости от того, что за система хранения у вас используется, даже если используются только лишь локальные диски сервера. Влияние ее на производительность (и загрузку процессора контроллера системы хранения) варьируется в зависимости от характера доступа к данным, и обычно все же не слишком велика (обычно оценивается в 10-15% снижения общей производительности от величины оптимально выравненной партиции), иногда меньше, иногда, в особо критичных редких случаях – больше. Тем не менее, это вполне реальная причина, могущая вызвать заметное на глаз снижение производительности, с которым вы вполне можете столкнуться в практике вашей работы, и которое можно поправить достаточно просто и легко.
Кроме того неверное выравнивание может значительно ухудшить показатели дедупликации.
Почти наверняка с проблемой выравнивания вы столкнетесь для виртуальных машин под Windows XP и 2003(R2), а также для старых (не-текущих) версий Linux. В Windows Vista/7/2008(R2) и новых Linux (RHEL6, например) уже выбраны значения смещения партиции по умолчанию, которые не требуют выравнивания, так как обычно уже удовлетворительно выравнены в большинстве случаев использования.
К сожалению, такая полезная утилитка идет сейчас в составе огромного пакета Virtual Storage Console, и отдельно не отдается.
Посему я и решил их выковырять и положить отдельно. Может кому пригодится.
Еще одна сложность заключается в том, что утилиты эти предназначены для ESX, но НЕ для ESXi, так как устанавливаются в хост-систему ESX, и запускаются из консоли.
Но тут можно сделать вот какой финт. Если у вас есть на нетаппе протокол NFS, то вы можете смонировать датастор по NFS на Linux-машину, и на этой Linux-машине запустить это выравнивание, также, как оно работало из консоли ESX.
Получится что-то типа:
# mkdir /nfs_esx_export
# mount IP_adress_of_NFS_Server:/vol/nfs_datastore /nfs_esx_export
# /usr/bin/mbrscan <path to the -flat.vmdk>
Если вы хотите выполнить сканирование сразу множества vmdk, то можно сделать это так:
# find /nfs_datastore -name "*-flat.vmdk" -maxdepth 3 -exec /usr/bin/mbrscan {}
Затем можно выполнить выравнивание для файлов vmdk, которые mbrscan указал как невыравненные:
[root@rhel1 WinXp2]# /usr/bin/mbralign WinXp2-flat.vmdk
Выравнивание выполняется отдельно для каждого vmdk, которому эта процедура может понадобиться.
Обратите внимание, что VM должна находиться в состоянии power off, и выравнивание невозможно для виртуальных машин со снэпшотами средствами VMware:
Error: WinXp2.vmdk has a snapshot (WinXp2-000001.vmdk). All snapshots must be removed before using this tool.
Обратите внимание, что если были выравнены партиции Linux с загрузчиком GRUB, понадобится восстановить GRUB обычным для Linux образом.
После окончания процедур не забудьте отмонтировать датастор от Linux-машины, на которой вы проделывали эти операции.
Помните, что, хотя официально mbrscan/mbralign и бесплатны, но требуют, для своего использования, чтобы вы были пользователем NetApp, с действующим контрактом саппорта, и иное есть формальное нарушение правил их использования.
MBRscan/MBRalign из ESX Host Utilities 5.1
Чуть более новый MBRalign (уже с встроенным scan), но чуть глючной, из состава 5.2 и VSC 2.1
При обнаружении глюков вида сообщений при выравнивании ‘cannot find mbralign.pl at line 1667′ в новом, рекомендуется пользоваться предыдущей версией из ESXHU5.1
Если у вас есть логин в NOW с доступом к загружаемыми продуктам NetApp, то вы можете воспользоваться ссылкой:
http://now.netapp.com/NOW/download/software/sanhost_esx/ESX/