VMware + Synology + iSCSI + MPIO = One Love
У меня уже не первый раз спрашивают, как правильно настроить MPIO на Synology.
MPIO для Synology
Создаем Target, если есть желание, можно прикрутить CHAP
- Выбираем Map later
- В настройках Target ставим опции CRC Checksum и Allow Multiple Sessions
- Заходим в настройку Mapping и выбираем LUN которые должны быть видны для этого хоста
- Выбираем сетевые адаптеры через которые будет идти multipath
- Находим iSCSI Name
- Не забываем прописать по дефолту — No Access, и дать RW для инициатора
- В настройках iSCSI Manager выставляем глубину очереди в зависимости от задачи
- С Synology закончили, приступаем к настройкам на гипервизоре
- Создаем 2 порт группы на VDS свиче
- В группе А ставим 1 линк в Active Uplinks, все остальное в Unused Uplinks, в группе Б ставим 2 линк Active Uplinks, все остальное в Unused Uplinks
- Создаем 2 новых vmk адаптера выделенные под iSCSI
- Проверяем \ переносим адаптеры в нужные порт группы
- Проверяем, что СХД видна по двумя IP
- Биндим 2 сетевых адаптера
- Меняем настройки опции с Prohibited на Prefered или Required
- Не забываем сделать Rescan Storage \ Rescan Adapter. Выбираем нужный LUN и проверяем, что путей больше, чем 1
- Заходим во вкладку Properties и меняем настройку Multipathing (зачастую, окно надо прокрутить, т.к. настройка спрятана за логом вмварным)
- Меняем настройку на Round Robin
- Ребутаем хост, проверяем, что все LUN видны (опционально).
И еще небольшой апдейтик, но очень важный!
Поменять настройки переключения Round Robin с дефолтных 1000 IOPS на 1 IOPS учитывая все бестпрактисы вендоров.
- https://kb.vmware.com/s/article/2069356
- https://support.huawei.com/enterprise/ru/doc/EDOC1000144883/34f93af2/how-can-i-set-iops-limit-for-psp-round-robin-to-1
- https://kb.promise.com/thread/adjusting-round-robin-iops-limit-from-default-1000-to-1-on-vmware-esxi/
- https://kb.netapp.com/Advice_and_Troubleshooting/Data_Storage_Systems/E-Series_Storage_Array/How_to_adjust_the_Round_Robin_IOPS_limit_on_VMware_ESXi
- https://community.synology.com/enu/forum/4/post/144146
Смотрим настройки всех LUN
esxcli storage nmp device list
Получаем вывод типа и уделяем внимание строчке Selection Policy Device Config
naa.600601601b3051002a513660ce0c1212
Device Display Name: DGC Fibre Channel Disk (naa.600601601b3051002a513660ce0c10f8)
Storage Array Type: VMW_SATP_ALUA_CX
Storage Array Type Device Config: {navireg=on, ipfilter=on} {implicit_support=on; explicit_support=on; explicit_allow=on; alua_followover=on; action_OnRetryErrors=on; {TPG_id=2,TPG_state=AO}{TPG_id=1,TPG_state=ANO}}
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=5: NumIOsPending=0,numBytesPending=0}
Path Selection Policy Device Custom Config:
Working Paths: vmhba5:C0:T3:L2, vmhba5:C0:T2:L2, vmhba4:C0:T3:L2, vmhba4:C0:T2:L2
Is USB: false
Бахаем
for i in esxcfg-scsidevs -c |awk ‘{print $1}’ | grep naa.6006; do esxcli storage nmp psp roundrobin deviceconfig set —type=iops —iops=1 —device=$i; done
Получаем
naa.600601601b3051002a513660ce0c1212
Device Display Name: DGC Fibre Channel Disk (naa.600601601b3051002a513660ce0c10f8)
Storage Array Type: VMW_SATP_ALUA_CX
Storage Array Type Device Config: {navireg=on, ipfilter=on} {implicit_support=on; explicit_support=on; explicit_allow=on; alua_followover=on; action_OnRetryErrors=on; {TPG_id=2,TPG_state=AO}{TPG_id=1,TPG_state=ANO}}
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=rr,iops=1,bytes=10485760,useANO=0; lastPathIndex=5: NumIOsPending=0,numBytesPending=0}
Path Selection Policy Device Custom Config:
Working Paths: vmhba5:C0:T3:L2, vmhba5:C0:T2:L2, vmhba4:C0:T3:L2, vmhba4:C0:T2:L2
Is USB: false
Команды для массовой смены на IOPS=1
EMC \ DELL
for i in esxcfg-scsidevs -c |awk '{print $1}' | grep naa.6006; do esxcli storage nmp psp roundrobin deviceconfig set --type=iops --iops=1 --device=$i; done
NetApp
for i in esxcfg-scsidevs -c |awk '{print $1}' | grep naa.600a; do esxcli storage nmp psp roundrobin deviceconfig set --type=iops --iops=1 --device=$i; done
HP
for i in esxcfg-scsidevs -c |awk '{print $1}' | grep naa.600c; do esxcli storage nmp psp roundrobin deviceconfig set --type=iops --iops=1 --device=$i; done
Nimble (One Array \ Many Pools)
for i in esxcfg-scsidevs -c |awk '{print $1}' | grep eui.; do esxcli storage nmp psp roundrobin deviceconfig set --type=iops --iops=1 --device=$i; done
Show all LUNs
esxcli storage nmp device list
https://kb.vmware.com/s/article/2069356?lang=en_us
https://community.synology.com/enu/forum/4/post/144146