среда, 23 августа 2017 г.

NVIDIA выпустила новую версию GRID Virtual GPU

Компания NVIDIA объявила о выходе новой версии GRID Virtual GPU - решения, обеспечивающего обработку графики в виртуальных машинах за счет использования специализированных графических адаптеров NVIDIA GRID и Tesla.

Основное нововведение - поддержка ускоритерей на базе архитектуры Pascal. На текущий момент к ним относятся модели Tesla P4, Tesla P6, Tesla P40, Tesla P100.

Данные модели призваны заменить существующие ускорители на базе архитектуры Maxwell. Ускоритель предыдущего поколения - Tesla M6, выполненный в форм-факторе MXM платы, предназначенный для установки в блейд-серверах, получил обновление в лице Tesla P6. Tesla P6 обладает большим объемом видеопамяти (16 ГБ GDDR5 против 8 ГБ у M6) и большим количеством CUDA ядер (2048, вместо 1536).

Другой ускоритель Tesla P40 выполнен в форм-факторе PCI-E платы и предназначается для установки в rackmount серверы, содержит одно графическое ядро и 24 ГБ видеопамяти. На профилях vGPU с аналогичными объемами видеопамяти (1 ГБ, 2 ГБ, 4 ГБ или 8 ГБ) Tesla P40 обеспечивает в 1.5 раза большую плотность по сравнению с ускорителем Tesla M60. Кроме того, P40 позволяет выделять ВМ профили с большим объемом видеопамяти - 12 ГБ и 24 ГБ. Однако не во всех сценариях P40 является равноценной заменой M60. Во-первых, P40 содержит только одно графическое ядро, что позволяет использовать с ускорителем только один профиль vGPU для всех ВМ, у M60 таких графических ядер два, соответственно, на каждое может быть назначен отдельный профиль. Во-вторых, как и в случае с P4 - минимальный по параметрам профиль vGPU для P40 содержит 1 ГБ видеопамяти, а значит, на M60 потенциально можно запустить большее количество ВМ (до 32 при использовании профиля с 512 МБ видеопамяти).

В обновленной линейке отсутствует приемник существующего "высокоплотного" ускорителя Tesla M10, содержащего 4 графических ядра и 32 ГБ видеопамяти и обеспечивающего ускорение до 64 ВМ, однако есть два новых: Tesla P4 - ускоритель начального уровня с 8 ГБ видеопамяти, отличающийся низким энергопотреблением (75W), что делает возможным его установку в классические 1U rackmount серверы. Также присутствует Tesla P100, который является наиболее продвинутым ускорителем в модельном ряду, содержит до 16 ГБ видеопамяти стандарта HBM2, и в большей степени предназначается для ускорения вычислений, нежели обработки графики.

На некоторых типах нагрузки разница в производительности между виртуальными профилями ускорителей Maxwell и Pascal может достигать 2 с лишним раз.

Сравнение различных моделей ускорителей приведено на рисунке.

Не смотря на поддержку новых ускорителей, поставки Tesla M6 и M60 не прекращаются, и какое-то время они будут доступны для заказа.

Также изменения коснулись лицензирования ПО NVIDIA GRID. На смену лицензии NVIDIA GRID Virtual Workstation пришла NVIDIA Quadro Virtual Data Center Workstation (vDWS).

Обновленная лицензия позволяет использовать функции CUDA и OpenCL на любом из профилей графического адаптера Pascal (а не только лишь на 8Q и 8A, как это было с Maxwell).

Последнее, но не слишком приятное известие коснулось изменения механизма контроля лицензий. Если раньше механизм лицензирования носил сугубо рекомендательный характер, и ВМ могли использовать vGPU даже при отсутствии необходимой лицензии или самого сервера лицензирования, то для профилей Pascal наличие сервера лицензирования и соответствующей лицензии стало обязательным, при их отсутствии драйверы виртуального графического адаптера будут отключаться.

понедельник, 14 августа 2017 г.

vSAN All-Flash с дедупликацией и компрессией для домашней лаборатории

Обновление 12.12.2017: Найден обходной вариант, который позволяет настроить VSAN и включить дедупликацию и компрессию без использования vCenter Server. Смотрите ниже по тексту.

Для тех, кто планирует построить свою домашнюю лабораторию на базе гипервизора VMware ESXi и программной СХД VMware vSAN, может пригодится следующая уловка, позволяющая включить поддержку дедупликации и компрессии на standalone хосте.

Думаю, что многие из вас находили статьи по т.н. bootstrap установке, когда vSAN настраивает без сервера управления vCenter Server и без какого-либо промежуточного хранилища. В частности такой способ развертывания используется в гиперконвергентных платформах VxRail и VxRack. С учетом постоянно снижающейся стоимости flash накопителей и наличия готовых платформ типа Intel NUC, становится возможным собрать весьма производительный, компактный и недорогой сервер для домашней лаборатории.

С гибридными конфигурациями vSAN все достаточно просто, в Интернете можно найти множество детальных руководств по такой настройке, однако, если вы решите использовать дедупликацию и компрессию на all-flash конфигурациях, то вам потребуется сделать несколько дополнительных шагов.

Поддержка компрессии и дедупликации появилась в vSAN 6.2, соответственно, вам потребуется использовать ESXi 6.0 U2 или выше.

Среди плюсов данного режима развертывания - отсутствие необходимости использования сервера управления vCenter Server для настройки и дальнейшей эксплуатации vSAN.
Для настройки также необходим функционирующий сервер vCenter Server. Это, пожалуй, главный недостаток данного варианта по сравнению с типовым vSAN Bootstrap, но это необходимый шаг для настройки Space Efficiency на дисковых группах с all-flash накопителями. В моем случае я развернул временный сервер vCenter на другом компьютере. После выполнения настроек сервер vCenter можно будет выключить и удалить.

Для настройки vSAN включите SSH на хосте и подключитесь к нему.

Включите на интерфейсе VMKernel поддержку vSAN, например:
esxcli vsan network ipv4 add -i vmk0
Проверьте, что интерфейс успешно добавлен:
esxcli vsan network list
При помощи команды vdq -q проверьте, что накопители опознаются гипервизором как SSD, а накопитель, предназначенный для хранения данных, имеет аттрибут isCapacityFlash:
vdq -q
[
   {
      "Name"     : "naa.6000c29f63422c9b752b4e16b0853303",
      "VSANUUID" : "",
      "State"    : "Ineligible for use by VSAN",
      "Reason"   : "Has partitions",
      "IsSSD"    : "0",
"IsCapacityFlash": "0",
      "IsPDL"    : "0",
   },
   {
      "Name"     : "naa.6000c2914ef142687a2ea87a31a4c207",
      "VSANUUID" : "522af0ce-c313-dbfb-21b7-ba8e0b509778",
      "State"    : "In-use for VSAN",
      "Reason"   : "None",
      "IsSSD"    : "1",
"IsCapacityFlash": "0",
      "IsPDL"    : "0",
   },
   {
      "Name"     : "naa.6000c29dc7b03388ce238783d25a085c",
      "VSANUUID" : "52964ee8-1ad3-51ee-8850-8315e0ebceb6",
      "State"    : "In-use for VSAN",
      "Reason"   : "None",
      "IsSSD"    : "1",
"IsCapacityFlash": "1",
      "IsPDL"    : "0",
   },
]
Если накопитель не опознается как SSD устройство, то вы можете вручную пометить его. Выполните команду:
esxcli storage nmp device list
Выполните команды, подставив нужный идентификатор naa и satp из вывода предыдущей команды:
esxcli storage nmp satp rule add --satp=VMW_SATP_LOCAL --device naa.600508b1001cdb71c7edb8e80eb6abf3 --option "enable_ssd"
esxcli storage core claiming unclaim --type=device --device naa.600508b1001cdb71c7edb8e80eb6abf3
esxcli storage core claimrule load
esxcli storage core claimrule run
esxcli storage core claiming reclaim --device naa.600508b1001cdb71c7edb8e80eb6abf3
Если накопитель не помечен как CapacityFlash вы можете использовать команду, чтобы назначить на него нужный тэг (если этого не сделать, вы получите сообщение об ошибке при попытке добавить накопитель в дисковую группу в качестве capacity накопителя):
esxcli vsan storage tag add -d naa.6000c29dc7b03388ce238783d25a085c -t capacityFlash
Подключитесь к серверу vCenter, в виртуальной инфрастуруктуре создайте кластер и активируйте в нем поддержку vSAN.

Добавьте хост в кластер. Эта операция, как и весь сервер vCenter, нужны только для того, чтобы активировать на хосте лицензию (триальную), позволяющую включить поддержку дедупликации и компрессии. Кривовато, но что поделаешь...

Переведите хост в режим обслуживания (maintenance mode) и уберите его из кластера. Выведите хост из режима обслуживания.

Перед настройкой кластера требуется включить поддержку дедупликации и компрессии для триальной лицензии VSAN. Сделать это можно из консоли SSH хоста, выполнив команду:
vsish -e set /config/VSAN/strOpts/LicensedFeatures vit,allflash,stretchedcluster,erasurecoding,storageefficiency,encryption
В консоли SSH хоста создайте новый кластер vSAN:
esxcli vsan cluster new
Проверьте, что хост корректно добавился в кластер:
esxcli vsan cluster get
Cluster Information
   Enabled: true
   Current Local Time: 2017-08-11T22:01:45Z
   Local Node UUID: 598e2050-a425-2c28-5426-005056aacefb
   Local Node Type: NORMAL
   Local Node State: MASTER
   Local Node Health State: HEALTHY
   Sub-Cluster Master UUID: 598e2050-a425-2c28-5426-005056aacefb
   Sub-Cluster Backup UUID:
   Sub-Cluster UUID: 598e2050-a425-2c28-5426-005056aacefb
   Sub-Cluster Membership Entry Revision: 0
   Sub-Cluster Member Count: 1
   Sub-Cluster Member UUIDs: 598e2050-a425-2c28-5426-005056aacefb
   Sub-Cluster Membership UUID: 05298e59-0555-5bb1-c414-005056aacefb
   Unicast Mode Enabled: true
   Maintenance Mode State: OFF

Отредактируйте политики хранения на хосте, добавив опцию forceProvisioning. Данная опция игнорирует остальные параметры политики при создании объекта на vSAN в том случае, если они не могут быть соблюдены (а это как раз наш случай, т.к. для standalone хоста параметр hostFailuresToTolerate=1 соблюсти не получится):
esxcli vsan policy setdefault -c cluster -p "((\"hostFailuresToTolerate\" i1) (\"forceProvisioning\" i1))"
esxcli vsan policy setdefault -c vdisk -p "((\"hostFailuresToTolerate\" i1) (\"forceProvisioning\" i1))" 
esxcli vsan policy setdefault -c vmnamespace -p "((\"hostFailuresToTolerate\" i1) (\"forceProvisioning\" i1))"
Проверьте настройки политики при помощи команды:
esxcli vsan policy getdefault
Policy Class  Policy Value
------------  --------------------------------------------------------
cluster       (("hostFailuresToTolerate" i1) ("forceProvisioning" i1))
vdisk         (("hostFailuresToTolerate" i1) ("forceProvisioning" i1))
vmnamespace   (("hostFailuresToTolerate" i1) ("forceProvisioning" i1))
vmswap        (("hostFailuresToTolerate" i1) ("forceProvisioning" i1))
vmem          (("hostFailuresToTolerate" i1) ("forceProvisioning" i1))

Включите поддержку дедупликации и компрессии:
esxcli system settings advanced set -o "/VSAN/DedupScope" -i 2
Проверьте значение параметра:
esxcli system settings advanced list -o "/VSAN/DedupScope"
Добавьте диски в дисковую группу:
esxcli vsan storage add -d naa.6000c29dc7b03388ce238783d25a085c -s naa.6000c2914ef142687a2ea87a31a4c207
Проверьте, что диски добавлены и на них включена поддержка дедупликации и компрессии:
esxcli vsan storage list
naa.6000c2914ef142687a2ea87a31a4c207
   Device: naa.6000c2914ef142687a2ea87a31a4c207
   Display Name: naa.6000c2914ef142687a2ea87a31a4c207
   Is SSD: true
   VSAN UUID: 522af0ce-c313-dbfb-21b7-ba8e0b509778
   VSAN Disk Group UUID: 522af0ce-c313-dbfb-21b7-ba8e0b509778
   VSAN Disk Group Name: naa.6000c2914ef142687a2ea87a31a4c207
   Used by this host: true
   In CMMDS: true
   On-disk format version: 5
   Deduplication: true
   Compression: true
   Checksum: 6910810568216580648
   Checksum OK: true
   Is Capacity Tier: false
   Encryption: false
   DiskKeyLoaded: false

naa.6000c29dc7b03388ce238783d25a085c
   Device: naa.6000c29dc7b03388ce238783d25a085c
   Display Name: naa.6000c29dc7b03388ce238783d25a085c
   Is SSD: true
   VSAN UUID: 52964ee8-1ad3-51ee-8850-8315e0ebceb6
   VSAN Disk Group UUID: 522af0ce-c313-dbfb-21b7-ba8e0b509778
   VSAN Disk Group Name: naa.6000c2914ef142687a2ea87a31a4c207
   Used by this host: true
   In CMMDS: true
   On-disk format version: 5
   Deduplication: true
   Compression: true
   Checksum: 4407850188756192377
   Checksum OK: true
   Is Capacity Tier: true
   Encryption: false
   DiskKeyLoaded: false
   
Если вы используете неподдерживаемы устройства, отключите мониторинг, чтобы лишний раз не обращать внимание на оповещения:
esxcli system settings advanced set -o /LSOM/VSANDeviceMonitoring -i 0 
При развертывание ВМ из web-консоли ESXi я наткнулся на небольшой баг. При подключении к ESXi напрямую через web-клиент, имя хранилища отображается с пробелом "vSAN Datastore", тогда как в интерфейсе vSphere Web Client и через CLI, как "vSANDatastore", это приводит к ошибке при попытке развернуть ВМ через ESXi Web Client. Исправить это можно, просто переименовав хранилище в vSANDatastore.

К сожалению, ESXi Web Client не отображает достаточное количество информации о vSAN, поэтому об эффективности работы дедупликации и компрессии придется судить "на глаз".

понедельник, 7 августа 2017 г.

VMware vSAN Enterprise for Desktop Add-on

В прошлом году я писал об изменениях в лицензировании VMware vSAN в связи с выходом версии 6.2 (http://blog.vmpress.org/2016/03/vmware-virtual-san-62.html).

Одним из неприятных моментов в лицензировании vSAN для VDI сред было то, что бандлы Horizon Advanced и Horizon Enterprise включали в себя лицензии vSAN for Desktop Advanced, которые не позволяли создавать растянутые (stretched) хранилища vSAN для катастрофоусточивых инсталляций. Заказчикам, которым требовался данных функционал, должны были выкладывать кругленькие суммы за полноценные лицензии Virtual SAN Enterprise или Virtual SAN for Desktop Enterprise вдобавок к лицензиям Horizon, что приводило к ощутимому увеличению бюджета проекта.

VMware вняли просьбам заказчиков и в июле этого года добавили в прайс-листы новую лицензию VMware vSAN 6 Enterprise for Desktop - Horizon Add-on. Данная лицензия предназначена для заказчиков, у которых есть купленные бандлы Horizon Advanced или Horizon Enterprise, и за небольшую (приблизительно 1/4 от стоимости Horizon Enterprise for Desktop) доп.плату позволяет получить лицензии Virtual SAN for Desktop Enterprise, и связанные с ним фичи: Stretched Cluster и Quality of Service.

Соответствующие позиции уже доступны для заказа через партнеров:
ST6-ED-HA10-C - VMware vSAN 6 Enterprise for Desktop - Horizon Add-on 10 Pack (CCU)
ST6-ED-HA100-C - VMware vSAN 6 Enterprise for Desktop - Horizon Add-on 100 Pack (CCU)