В одном ЦОДе нашей компании используется VMware vSphere и HP EVA 6400. Так получилось, что техподдержка HPE ткнула нас носом в “Best Practice Guide” и посоветовала применить рекомендации по RoundRobin-балансировке и переключению путей на каждый iops.
Я был настроен скептически, так как я прекрасно помню статью Duncan Epping о том, что это (iops=1) – бесполезный совет. Однако я перечитал комментарии и решил, что я был неправ. Если вкратце – то у каждого порта HP EVA (равно как и других массивов) своя очередь в 1000 команд. И, оставив параметр по умолчанию (или вообще используя MRU), легко упереться в эту очередь.
Я уже писал статью по балансировке через PowerShell. Минус этой статьи – необходимо периодически запускать скрипт, который будет менять балансировку для хранилищ. Поэтому было решено использовать скрипт совместно с “родными” методами – а именно, SATP-правила на хостах. Для централизации и ускорения решения я воспользовался PowerCLI 6.5R1.
Важно: балансировка для хранилища настраивается на каждом сервере ESXi.
Настройка балансировки и iops=1
После запуска PowerCLI подключитесь к vCenter:
1 |
Connect-VIServer vcenter_name |
Посмотрите, какая балансировка сейчас используется в кластере Production:
1 2 3 4 5 6 7 8 9 10 11 |
Get-Cluster Production | Get-VMHost | Get-ScsiLun -LunType disk | group multipathpolicy Count Name Group ----- ---- ----- Count Name Group ----- ---- ----- 229 MostRecentlyUsed {naa.6001438005de9f140001e00000500000, naa.6... 37 Fixed {naa.600508b1001ce3f030fcc148205bcf13, naa.6... 4 RoundRobin {naa.60002ac000000000000001bc0000cdfb, naa.6... |
Если эти 229 устройств с Active-Active СХД, то балансировку возможно, стоит исправить (читайте рекомендации и лучшие практики от вендора).
А если с Евы, то еще и сделать балансировку каждого IOPS.
Так как у меня EVA6400, то я указываю скрипт, изменяющий настройки балансировки для ее хранилищ (и RDM-дисков) на Round Robin и iops=1, фильтруя по модели дискового устройства:
1 |
Get-Cluster Production | Get-VMHost | Get-ScsiLun -LunType disk | where {$_.model –eq “HSV400”} | Set-ScsiLun -CommandsToSwitchPath 1 -MultipathPolicy RoundRobin |
Чтобы узнать, какая модель у вас, выведите всю информацию по дисковому устройству:
1 |
Get-Cluster Production | Get-VMHost | Get-ScsiLun -LunType disk | fl | more |
Минусом скрипта является то, что он обрабатывает только существующие VMFS-хранилища. Каждое новое хранилище получит настройки по умолчанию (балансировку MRU и переключение каждые 1000 iops).
Создание satp-правил
Создать satp-правило нужно для того, чтобы не повторять периодически скрипт по настройке балансировки.
Подключим функционал ESXCLI через PowerCLI:
1 |
$esxcli = Get-EsxCli -VMhost esx_name -V2 |
Подготовим шаблон для правила и наполним его данными:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$satpargs=$esxcli.storage.nmp.satp.rule.add.CreateArgs() $satpArgs.description="EVA6400 custom rule" $satpArgs.model="HSV400" $satpArgs.vendor="HP" $satpArgs.satp="VMW_SATP_ALUA" $satpArgs.psp="VMW_PSP_RR" $satpArgs.pspoption="iops=1" |
Данное правило для любого нового VMFS-хранилища, созданного вендором “HP” и имеющего модель “HSV400” (EVA6400), выставит настройки, которые мы указали в предыдущем пункте.
Создадим это правило:
1 |
Get-Cluster Production | Get-VMHost | %{$esxcli = Get-EsxCli -VMhost $_.name -V2; $esxcli.storage.nmp.satp.rule.add.invoke($satpArgs)} |
Добавление новых серверов ESXi
После того как вы установите VMware vSphere на новый сервер (и перед презентацией дисковых устройств с СХД), выполните следующий скрипт:
1 2 3 4 5 6 7 8 9 |
Connect-VIServer vcenter_name$esxcli = Get-EsxCli -VMhost new_esx_name -V2 $satpargs=$esxcli.storage.nmp.satp.rule.add.CreateArgs() $satpArgs.description="EVA6400 custom rule" $satpArgs.model="HSV400" $satpArgs.vendor="HP" $satpArgs.satp="VMW_SATP_ALUA" $satpArgs.psp="VMW_PSP_RR" $satpArgs.pspoption="iops=1" $esxcli.storage.nmp.satp.rule.add.invoke($satpArgs) |
Резюме
Так легко можно решить часть проблем по оптимизации вашей инфраструктуры.
Когда дойдут руки, укажу вендора и модель для остальных своих массивов: HPE 3PAR 7200, HPE MSA P2000 G3, HPE MSA 2050, HPE EVA6000.
Вдохновлялся парой источников: раз и два.
UPD: Обещанные модели других массивов HPE
Название массива | Вендор / Vendor | Модель / Model |
3PAR7200 | 3PARdata | VV |
HPE MSA 2050 | HPE | MSA 2050 SAN |
HP MSA P2000 G3 | HP | P2000 G3 FC |
с нетерпением жду когда у вас дойдут руки до HPE 3PAR 7200 и HPE MSA 2050
Добрый день, Юрий.
Пожалуйста 🙂