Limit iops vmware что выбирать

Обновлено: 05.07.2024

Тесты выполняются на VM под управлением ОС Windows или Linux, у которых тестовый диск размещен на определенных дисковых политиках, выделенных для vDC Заказчика. Каждая дисковая политика имеет ограничения по IOPS (количество операции ввода вывода в секунду) на 1 гигабайт объема, подробнее соответствие IOPS политикам описано в данной статье.

По умолчанию на каждый диск VM (vmdk диск) задается лимит по IOPS в соответствии с дисковой политикой, которая используется для размещения диска. Пример: при размещении VM на сайте Дата-центра Авантаж, возможно использовать политику SSD_Ultra_Policy, в рамках которой доступно 10 IOPS на 1 Гб. В соответствии с указанной политикой для диска объемом 100 Гб на VM, где планируется выполнение тестов, будет задан лимит 1000 IOPS.

Для получения релевантных результатов (по показателям latency) при проведении тестов рекомендуется задавать ограничения по IOPS (rate iops limit) в настройках генератора нагрузки в соответствии с выбранной дисковой политикой.

Все результаты тестов, приведенные ниже, получены при подаче нагрузки на тестовой виртуальной машине, на тестовом диске, объемом 100 Гб, размещенном на дисковой политике SSD_Ultra_Policy, при использовании тестового файла(ов) объемом 99 Гб, заданном размере блока 32кб и распределении по операциям чтения/записи как 70/30%.

Для получения релевантных результатов (по показателям latency) при проведении тестов рекомендуется задавать ограничения по IOPS (rate iops limit) в соответствии с выбранной дисковой политикой. Все результаты тестов, приведенные ниже, получены при подаче нагрузки на диски тестовых виртуальных машин, размещенные на дисковой политике SSD_Ultra_Policy.

Запуск тестов и анализ результатов

DiskPSD - рекомендованный компанией Microsoft инструмент тестирования, предназначенный для запуска тестов на гостевой VM под MS Windows.

  • загрузите актуальную версию утилиты DiskPSD на сайте
  • распакуйте архив в отдельный каталог
  • запустите утилиту из командной строки со следующими параметрами: .\DiskSpd64.exe -Sh -o8 -t8 -L -d3600 -w30 -c99G -b64k -i32 -j1 <путь к файлу>\test.dat
    • -Sh - выключение soft cache ( page cache, fs buffering, etc), активация режима записи writethrough (DIRECT_IO)
    • -o8 - количество outsanding i/o для одного потока (thread)
    • -t8 - количество потоков (thread count)
    • -L - вывод статистики по latency в результатах теста
    • -d3600 - время теста в секундах
    • -w30 - 30% операций записи, остальное чтение
    • -c99G - размер тестового файла
    • -b64k - размер операции ввода/вывода
    • -i32 и -j1 - лимиты по IOPS для каждого тестового файла, задаваемые в рамках каждого tread


    В тесте получено суммарное количество IOPS = 1024 при avg latency = 1 ms.

    IOMeter - разработанная Intel утилита, последняя актуальная версия доступна по ссылке. Имеет графический интерфейс, может быть запущена под Windows и под Linux.

    Рекомендуется использовать утилиту IOMeter под Windows, так как при работе с Linux возможно некорректное отображение результатов.

    Пример

    В стартовом окне:


    • перейдите на вкладку Access Specification и нажмите на кнопку [New], чтобы создать новый паттерн
    • в окне Edit Access Specification задайте набор параметров:
      • в поле Name - имя паттерна TEST
      • в поле Default Assignment выберите All Workers
      • в поле Transfer Request Size укажите 32Кбайт
      • в поле Percent of Access Specification укажите 100%
      • в поле Percent Read/Write Distribution укажите 70/30 read/write
      • в поле Percent Random/Sequential Distribution укажите 100% random
      • в поле Transfer Delay укажите 1
      • в поле Burst Length укажите 2; выставляется с учетом используемой дисковой политики SSD_Ultra_Policy лимит по IOPS (параметр burst length) для проверки реального времени отклика; так как используется диск 100 Гб, лимит по IOPS для диска на выбранной политике будет равен 1000 (10 IOPS на 1 Гб) - таким образом, исходя из количества worker, throughput лимитируется на уровне 1024 IOPS



      • перейдите на вкладку Test Setup укажите время выполнения тестов, например 10 минут


      • перейдите на вкладку Results Display
      • в поле Update Frequency (seconds) задайте интервал обновления результатов 3 секунды
      • запустите тест - нажмите на кнопку [Start Tect]; будет предложено сохранить результаты замеров в виде csv-файла, это может быть полезно при последующей обработке результатов в windows performance monitor или Excel


      В тесте получено суммарное количество IOPS = 1024 при avg latency = 0.55 ms.

      FIO - open-source утилита, поддерживаемая для Linux и для Windows. Версию для конкретного дистрибутива Linux возможно загрузить из штатного репозитория (например, yum install fio) или установить из исходников. Бинарная сборка для Windows доступна по ссылке.

      После установки FIO возможно запустить утилиту с определенными параметрами или создать job-файл, в котором будут заданы нужные параметры.

      Далее будет рассмотрен пример с использованием job-файла.

      В любом файловом редакторе создайте файл с описанием настроек шаблона, например файл test.fio; далее в примере указаны настройки и для Windows, и для Linux

      Желательно указать лимит по IOPS в рамках теста в соответствии с используемой дисковой политикой. Например, для виртуальной машины с vmdk-диском 100 ГБ, размещенном на дисковой политике SSD_Ultra_Policy, лимит по IOPS будет равен 1000 (10 IOPS на 1 ГБ).

      [global]
      description=test
      directory=c\:\test or /mnt/test
      size=10g
      runtime=300
      time_based
      ioengine=libaio or windowsaio
      percentage_random=100
      direct=1
      buffered=0
      refill_buffers
      randrepeat=0
      thread
      iodepth=8
      numjobs=8
      group_reporting
      rate_iops=64

      Данный тест создаст 8 файлов по 10 ГБ в выбранной директории. В связи с этим убедитесь, что на диске где размещена директория, есть необходимый свободный объем.

      В параметрах теста:

      • direct=1 и buffered=0 - отключение soft cache
      • runtime=3600 - определение времени выполнения теста в секундах: возможно выбрать удобное, но не менее 30 минут
      • numjobs=8 и iodepth=8 - параметры, определяющие количество потоков и глубину очереди в рамках одного потока
      • rate-iops - лимит по IOPS в рамках каждого потока и нагрузки по чтению и записи (паттерн randrw)


      В тесте получено суммарное количество IOPS = 1024 при avg latency = 0.3 ms.

      При создании VM или редактировании ее параметров учитывайте следующие ограничения:

      General¶

      В имени компьютера можно использовать до 15 символов: буквы, цифры и дефисы - . Имя не может состоять только из цифр и содержать символ _ и/или пробелы. Например, «VM-01» — корректное название, «VM 01», «VM_01», «1234» и «My-VM-0123456789» — некорректные.

      Operating System Family

      Нельзя редактировать, если ОС уже установлена

      Нельзя редактировать, если ОС уже установлена

      Время задержки загрузки ОС в миллисекундах

      Чтобы сохранить стабильность в работе VM, не рекомендуем без особой необходимости устанавливать параметр Boot Delay

      Чтобы сохранить стабильность в работе VM, не рекомендуем без особой необходимости устанавливать Storage Policy по умолчанию для дисков VM

      Enter BIOS Setup

      Выбор того, нужно ли открывать BIOS при загрузке VM

      Чтобы сохранить стабильность в работе VM, не рекомендуем без особой необходимости включать параметр Enter BIOS Setup

      VM должна быть выключена

      Hard Disks¶

      Размер можно только увеличить

      Объем одного диска не более 4 ТБ

      Для облегчения последующего обслуживания VM рекомендуем не создавать системные разделы более 100 ГБ

      При изменении размера диска у VM не должно быть снепшотов

      Политика хранилища по умолчанию

      Количество операций ввода/вывода в секунду для диска

      Тип шины данных: Paravirtual (SCSI), LSI Logic Parallel (SCSI), LSI Logic SAS (SCSI), IDE или SATA

      Рекомендуем использовать тип шины, который VMware Cloud Director предлагает для ОС по умолчанию

      Номер шины данных

      Номер логического устройства для жесткого диска

      Число виртуальных CPU

      Максимальное количество CPU, которое вы можете назначить VM, зависит от количества логических CPU на хосте и типа гостевой ОС, которая установлена на виртуальной машине. Для пулов с частотой процессора:

      3,5 ГГц — не более 8 ядер на VM

      2,6 ГГц — не более 14 ядер на VM

      2,4 ГГц — не более 20 ядер на VM

      Cores per socket

      Число ядер на сокет

      Если нет лицензионных ограничений, рекомендуем ставить одно ядро на один виртуальный сокет

      Если ОС позволяет, количество виртуальных ядер должно быть кратным количеству виртуальных сокетов

      Virtual CPU hot add

      Возможность добавлять vCPU включенной VM, после следующего включения VM

      Эта функция поддерживается только в некоторых гостевых ОС и версиях VM

      Expose hardware-assisted CPU virtualization to guest OS

      Возможность предоставления гостевой ОС функции аппаратной виртуализации процессора

      Memory¶

      Размер памяти VM

      Не более 344 ГБ.

      Должен быть кратен 4 MB.

      Возможность добавления памяти включенной VM, после следующего включения VM

      Функция поддерживается не для всех гостевых ОС

      Требуется версия Virtual Hardware выше 7

      Номер сетевого адаптера

      Обозначение основного сетевого адаптера — шлюз по умолчанию для VM

      Чек-бокс для подключения VM к сетевому адаптеру

      Для современных ОС и для VM с установленными VMware Tools рекомендуем добавлять адаптеры типа VMXNET3

      Способ присвоения IP-адреса в сети:

      Static - IP Pool — IP-адрес будет присваиваться из пула IP-адресов сети

      Static - Manual — позволяет указать IP-адрес вручную в столбце IP

      DHCP — IP-адрес будет присваиваться DHCP-сервером, если он настроен

      IP-адрес VM во внутренней сети

      Если VM подключена к сети типа Routed, IP-адрес для сетевого адаптера VM (в т. ч. внутри ОС) должен отличаться от IP-адреса шлюза по умолчанию для этой Routed-сети. IP-адреса шлюзов по умолчанию отображаются в разделе Networking → Networks столбце Gateway CIDR .

      Совпадение IP-адреса VM с IP-адресом шлюза по умолчанию приводит к конфликту. В результате может нарушиться сетевая связность между VM в данной подсети и хостами в других подсетях, поскольку трафик из подсети идет через шлюз по умолчанию, а трафик во внешние подсети идет к VM, а не к шлюзу по умолчанию.

      Подробнее о Routed-сетях по ссылкам ниже. Описание зависит от используемого типа NSX :

      VMware

      Имеем гипервизор ESXi 6.7 с виртуальной машиной Windows Server 2016. Задача - добавить новый диск в виртуалку.

      Заходим через UI на страницу виртуалки:

      esxi

      esxi

      Кликаем Add hard disk > New standard hard disk:

      esxi

      Добавляется новый диск размером 40 Гб.

      esxi

      Устанавливаем нужный нам размер, я ставлю 2 Тб.

      esxi

      Здесь также можно настроить дополнительные настройки.

      • Location, выбираем хранилище.
      • Disk Provisioning бывает трёх типов:
        • Thick provision lazy zeroed - толстый ленивый (по умолчанию). При создании занимает выделенный объём, но нулями не заполняет сразу, а по мере записи. Быстро создаёт большие винты, но потом тратит ресурсы на заполнение блоков нулями. При долгой работе в итоге превращается в жадный.
        • Thick provision eager zeroed - толстый жадный. При создании заполняет выделенный объём нулями. Долго создаёт большие винты, зато потом летает.
        • Thin provision - тонкий. Быстро создаётся, не занимает места на диске. По мере наполнения - отжирает винт пока не заполнит весь выделенный для него объём. На это тратятся некоторые ресурсы. Опасен тем, что в один прекрасный момент места может не хватить, тогда с фризом нужно будет бороться танцами и бубном.
        • Low (500)
        • Normal (1000)
        • High (2000)
        • Custom
        • SCSI controller (0:0) - (0:15)
        • SATA controller (0:0) - (0:29)
        • Dependent (Обычный.)
        • Independent - persistent (Вы не сможете создать снапшот, так как все изменения сразу пишутся на диск.)
        • Independent - Non-persistent (После перезагрузки изменения откатываются. Тоже нет смысла делать снапшоты.)
        • Можно включить режим Multi-writer sharing. Это позволяет использовать один диск несколькими виртуалками.

        Настраиваем, кликаем Save. Диск добавился.

        esxi

        Смотрим в ОС оснастку Disk management. Появился новый диск.

        esxi

        Тыкаем правой кнопкой на диск, Online.

        esxi

        Тыкаем правой кнопкой на диск, Initialize Disk.

        esxi

        Выбираем GPT (GUID Partition Table) или MBR (Master Boot Record).

        • GPT допускает неограниченное количество основных разделов, в то время как MBR допускает только четыре основных, а остальные — дополнительные.
        • GPT позволяет создавать разделы любого размера, в то время как MBR имеет ограничение в 2 ТБ.
        • GPT хранит копию данных раздела, позволяя восстановить их в случае повреждения основного заголовка GPT; MBR хранит только одну копию данных раздела в первом секторе жёсткого диска, что может привести к потере всей информации в случае повреждении информации о разделах.
        • GPT хранит значения контрольной суммы для проверки, что данные не повреждены, и может выполнить необходимое восстановление из других областей диска в случае повреждения; MBR не имеет способа узнать о повреждении данных, вы можете узнать об этом только если компьютер откажется загружаться или исчезнет раздел.

        Возможно, я в дальнейшем увеличу размер диска, поэтому выбираю GPT.

        esxi

        Тыкаем правой кнопкой на неразмеченной области, New Simple Volume.

        esxi

        Запускается мастер создания тома. Next.

        esxi

        Выбираем размер, в данном случае весь. Next.

        esxi

        Выбираем букву диска. У меня там будут лежать бэкапы. поэтому ставлю B. Next.

        VMware

        Имеем гипервизор ESXi 6.7 с виртуальной машиной Windows Server 2016. Задача - добавить новый диск в виртуалку.

        Заходим через UI на страницу виртуалки:

        esxi

        esxi

        Кликаем Add hard disk > New standard hard disk:

        esxi

        Добавляется новый диск размером 40 Гб.

        esxi

        Устанавливаем нужный нам размер, я ставлю 2 Тб.

        esxi

        Здесь также можно настроить дополнительные настройки.

        • Location, выбираем хранилище.
        • Disk Provisioning бывает трёх типов:
          • Thick provision lazy zeroed - толстый ленивый (по умолчанию). При создании занимает выделенный объём, но нулями не заполняет сразу, а по мере записи. Быстро создаёт большие винты, но потом тратит ресурсы на заполнение блоков нулями. При долгой работе в итоге превращается в жадный.
          • Thick provision eager zeroed - толстый жадный. При создании заполняет выделенный объём нулями. Долго создаёт большие винты, зато потом летает.
          • Thin provision - тонкий. Быстро создаётся, не занимает места на диске. По мере наполнения - отжирает винт пока не заполнит весь выделенный для него объём. На это тратятся некоторые ресурсы. Опасен тем, что в один прекрасный момент места может не хватить, тогда с фризом нужно будет бороться танцами и бубном.
          • Low (500)
          • Normal (1000)
          • High (2000)
          • Custom
          • SCSI controller (0:0) - (0:15)
          • SATA controller (0:0) - (0:29)
          • Dependent (Обычный.)
          • Independent - persistent (Вы не сможете создать снапшот, так как все изменения сразу пишутся на диск.)
          • Independent - Non-persistent (После перезагрузки изменения откатываются. Тоже нет смысла делать снапшоты.)
          • Можно включить режим Multi-writer sharing. Это позволяет использовать один диск несколькими виртуалками.

          Настраиваем, кликаем Save. Диск добавился.

          esxi

          Смотрим в ОС оснастку Disk management. Появился новый диск.

          esxi

          Тыкаем правой кнопкой на диск, Online.

          esxi

          Тыкаем правой кнопкой на диск, Initialize Disk.

          esxi

          Выбираем GPT (GUID Partition Table) или MBR (Master Boot Record).

          • GPT допускает неограниченное количество основных разделов, в то время как MBR допускает только четыре основных, а остальные — дополнительные.
          • GPT позволяет создавать разделы любого размера, в то время как MBR имеет ограничение в 2 ТБ.
          • GPT хранит копию данных раздела, позволяя восстановить их в случае повреждения основного заголовка GPT; MBR хранит только одну копию данных раздела в первом секторе жёсткого диска, что может привести к потере всей информации в случае повреждении информации о разделах.
          • GPT хранит значения контрольной суммы для проверки, что данные не повреждены, и может выполнить необходимое восстановление из других областей диска в случае повреждения; MBR не имеет способа узнать о повреждении данных, вы можете узнать об этом только если компьютер откажется загружаться или исчезнет раздел.

          Возможно, я в дальнейшем увеличу размер диска, поэтому выбираю GPT.

          esxi

          Тыкаем правой кнопкой на неразмеченной области, New Simple Volume.

          esxi

          Запускается мастер создания тома. Next.

          esxi

          Выбираем размер, в данном случае весь. Next.

          esxi

          Выбираем букву диска. У меня там будут лежать бэкапы. поэтому ставлю B. Next.

          Читайте также: