7 Replies Latest reply on Apr 9, 2014 1:07 AM by EGarbuzov

    Выравнивание разделов для vm.

    Akopylov Expert

      Доброго времени суток.

      В книге Михаила Михеева почерпнул информацию о выравнивании разделов для vm, там написано что такое выравнивание поможет в некоторых случаях выиграть в производительности до 10%, и .т.к. возможность организовать fast cache (EMC VNX5100) у нас на данный момент нет, решили попробовать выиграть здесь.

      1. Выравнивание VMFS - написано что при создании VMFS из GUI он создается выровненным по границе 2048, если из командной строки - нужно указать начальный сектор 2048 - здесь не совсем понятно во-первых, разве начало не должно быть с нечетного сектора (2049)? Во-вторых в EMC VNX5100 нельзя выбрать тип ОС для которой создается LUN (обычно этого достаточно для выравнивания VMFS), т.е. мне нужно указать смещение секторов вручную, НО при создании LUN такой опции нет, при создании RAID - не могу сказать, т.к. свободных шпинделей сейчас нет и мастер создания RAID не отрабатывает, но в свойствах уже созданных RAID нет поля указывающего на смещение секторов, в общем может я плохо смотрел - может ли кто-то подсказать как выровнять VMFS в случае когда используется VNX5100?

      2. Выравнивание NTFS разделов Windows. Написано что нужно взять уже готовую vm с Windows, подключить еще 1 vmdk, создать выровненный раздел (например diskpart`ом), также написано что для 2008 они создаются уже выровненными. Потом нужно этот диск отключить и подключить скажем к шаблону, с которого будем разворачивать машины, НО нужно же будет на этот диск поставить ОС, которая создаст MBR, не нарушится ли из-за этого выравнивание, и как быть в случае серверов-индивидуалов, т.е. не развернутых из шаблона - ставить ОС на маленький диск, подключать другой, выравнивать и уже туда (на второй) заносить сервисы/базы и т.д.?

       

      Короче говоря этот вопрос для меня не прозрачен, вообще слабо понятно почему при невыровненных разделах операции чтения/записи с точки зрения гостевой ОС могут вызвать операций чтений/записи нескольких блоков с точки зрения дисковой подсистемы, разве не должно быть обращение к какому-то конкретному блоку, где лежит нужная информация?

      Заранее спасибо за ваши советы, приветствуется объяснение на пальцах.

        • 1. Re: Выравнивание разделов для vm.
          WAndrey Hot Shot

          - 2048 потому что счет с нуля.

          - Хранилищу паралельно какая там ОС стоит. Или ты хочешь чтобы оно пересчитывало смещение секторов? По идее хранилище должно создать выровненный лун (по своим каким-то критериям), гипервизор на этом луне создает выровненный раздел, а внутри вмдк уже выровненная файловая система. Тогда накладные расходы минимальны. На хранилище мы повлиять не можем и считаем его выровненным.

          - для RAID по-моему нет понятия выравнивания - у него минимальная операция записи-чтения - 1 блок, а как он попадает на шпиндели не важно, так как размер кратен секторам дисков.

          - ОС поставленная на заранее выровненный раздел ничего не нарушит. МБР будет на своем месте, только раздел будет начинаться не с 63 сектора, а с 2048 или любого другого кратного.

          - Для уже установленных ОС есть PAT - Paragon Alignment Tool. Есть вариант с установкой внутрь ОС семейства Windows и отработкой на этапе загрузки, есть вариант загрузочного диска. ВМ или физика - все выравнивает - просто двигает раздел чтоб начало было на 2048 секторе. Сам пользовался, проблема была только однажды - не захотел выравнивать на железном сервере ни в какую, причина не найдена.

          - Операционки начинася с висты и 2008 сервера и выше создают выровненные разделы сами

          - Грубо говоря запись/чтение кластера, попадающего в два блока рейда и вызывает накладные расходы. С учетом виртуализации добавляется еще один слой. Вот есть доступно и в картинках почитать http://www.paragon.ru/landing-pages/wp/paragon_alignment_tool.html не сочтите за рекламу :)

          • 2. Re: Выравнивание разделов для vm.
            evgenyk Enthusiast

            Плюсы от выравнивания в пределах статистической погрешности. Если гости windows 2008 и новее, забудьте про выравнивание.

            Лучше обратить внимание на правильный размер блока файловой системы и размер страйпа дисковой группы, там разница видна сразу.

            • 3. Re: Выравнивание разделов для vm.
              WAndrey Hot Shot

              Ну у вас и погрешность... Две операции ввода-вывода вместо одной в лучшем случае...

              А вот про размер страйпа обсуждалось не раз и вывод - оставьте по умолчанию - они у рейд контроллера или хранилки не просто так по умолчанию стоят 

              • 4. Re: Выравнивание разделов для vm.
                Akopylov Expert

                а почему бы не ставить максимальный размер чанка, у vmfs все равно больше блок будет, главное чтоб кратно было?

                • 5. Re: Выравнивание разделов для vm.
                  WAndrey Hot Shot

                  С одной стороны логично, а с другой непонятно как это повлияет на работу контроллера-хранилки.

                  Опять же есть интересные моменты с субблоками: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2003813 и есть подозрение что операции ввода-вывода выполняются субблоками.

                  А вот, кстати, по теме еще https://communities.vmware.com/docs/DOC-11458

                  • 6. Re: Выравнивание разделов для vm.
                    Akopylov Expert

                    В последнем документе не понятна такая строка: On top of this, in a Windows environment NTFS is formatted in blocks ranging from 1MB to 8MB.

                    Откуда такие блоки, если обычно используют скажем 4 кб, 32, 64?

                    • 7. Re: Выравнивание разделов для vm.
                      EGarbuzov Virtuoso
                      VMware Employees

                      Akopylov wrote:

                       

                      В последнем документе не понятна такая строка: On top of this, in a Windows environment NTFS is formatted in blocks ranging from 1MB to 8MB.

                      Откуда такие блоки, если обычно используют скажем 4 кб, 32, 64?

                      Внизу, в комментариях к статье, указывают на то, что скорее всего имелись ввиду блоки VMFS, а не NTFS.