Выравнивание партиций виртуальных машин с помощью 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/

Комментарии (4)

  1. evgeny:

    > Если вы хотите выполнить сканирование сразу множества vmdk, то можно сделать это так:
    > # find /nfs_datastore -name “*-flat.vmdk” -maxdepth 3 -exec /usr/bin/mbrscan {}
    Можно ли запускать mbrscan при работающих виртуальных машинах?

    Принимая во внимание следующее:
    > Обратите внимание, что VM должна находиться в состоянии power off
    Это относится только к mbralign или к mbrscan тоже?

  2. evgeny:

    Не помню точно, скорее всего можно и так, в любом случае, если не сможет, то не испортит, а просто скажет об этом.

  3. Dmitriy:

    Роман, можно несколько дополнений/замечаний? :)

    Лицензия NFS на NetApp не обязательна, да и ESX уже становится мало актуален, будущее за ESXi, поэтому ставим (или обновляемся): Virtual Storage Console до версии 2.1.1
    Вот анонс: http://communities.netapp.com/community/netapp-blogs/virtualization/blog/2011/09/08/netapp-virtual-storage-console-211–now-available
    из него кстати сразу и бросается в глаза поддержка выравнивания партиций для ESXi: “The Monitoring and Host Configuration Tools panel now includes two download buttons for MBR tools: one for ESXi hosts and one for ESX hosts. You must download the correct version for your host operating system”

    Далее включаем SSH на ESXi хосте (Configuration -> Software -> Security Profile -> Remote Tech Support (SSH)…)
    В vCenter в оснастке NetApp (Tools) скачиваем MBR Tools “For ESXi 4.x and ESXi 5.0″
    Закидываем его ESXi хост (например по WinSCP)
    Разворачиваем в корень архив: mbrtools_esxi.tgz и все.

    После этого доступно сканирование всех vmdk файлов: /opt/ontap/mbrscan –all
    и конечно сама процедура выравнивания партиций, вот пример работы:

    # /opt/ontap/mbralign /vmfs/volumes/4e29b013-5af79632-9fca-14feb5160713/vs-x1/vs-x1-flat.vmdk

    mbrtools esxi version 1.0

    Part Type old LBA New Start LBA New End LBA Length in KB
    P1 07 63 64 31439206 15719571

    NOTICE:
    This tool does not check for the existence of Virtual Machine snapshots or linked clones.
    The use of this tool on a vmdk file that has a snapshot or linked clone associated with it
    can result in unrecoverable data loss and/or data corruption.
    Are you sure that no snapshots/linked clones exist for this vmdk? (y/n)y
    Creating a backup of /vmfs/volumes/4e29b013-5af79632-9fca-14feb5160713/vs-x1/vs-x1.vmdk
    Creating a backup of /vmfs/volumes/4e29b013-5af79632-9fca-14feb5160713/vs-x1/vs-x1-flat.vmdk
    Creating a copy the Master Boot Record
    Working on partition P1 (3): Starting to migrate blocks from 32256 to 32768.
    12801 read ops in 1 sec. 13.02% read (55.34 mB/s). 13.02% written (55.34 mB/s)
    ….
    ….
    12801 read ops in 1 sec. 99.62% read (53.19 mB/s). 99.62% written (53.19 mB/s)
    Working on space not in any partition: Starting to migrate blocks.
    100.00 percent complete. 100.00 percent written. .
    Making adjustments to /vmfs/volumes/4e29b013-5af79632-9fca-14feb5160713/vs-3300/vs-x1-flat.vmdk.
    Adjusting the descriptor file.

  4. Alex:

    > Можно ли запускать mbrscan при работающих виртуальных машинах?

    похоже, что нет:
    Failed to open /vmfs/volumes/vm-prod13:storage1 (1)/VM-CENTREON/VM-CENTREON-flat.vmdk - [Device or resource busy]

Оставить комментарий