VMUG Moscow 2014 Проблемы с дисками?
-
Upload
anton-zhbankov -
Category
Devices & Hardware
-
view
4.608 -
download
2
Transcript of VMUG Moscow 2014 Проблемы с дисками?
Проблемыс?дисками
Антон ЖбанковVMware vExpert
Pluggable Storage Architecture• MultiPathing Plugin• По умолчанию VMware NMP (Native MultiPathing)
• SATP – Storage Array Type Plugin• Отказы и переключения путей
• PSP – Path Selection Plugin• Балансировка нагрузки и выбор пути для IO
Ролиикоманды PSA• PSA обнаруживает доступные хосту ресурсы хранения• Присваивает правила MPP для управления ресурсом
• Для просмотра всех плагинов PSA• esxcli storage core plugin list
PSA - MPP• NMP/MPP исполняет функции• MPP определяет физический путь до устройства для SATP• NMP имеет собственный набор правил для ассоциации SATP с
PSP• Экспортирует логическое устройство по физическому пути
для PSP
• Для просмотра всех устройств с соотв. PSP/SATP• esxcli storage nmp device list
PSA - SATP• Наблюдает за состоянием путей до физ. системы • Объявляет пути в состояние failed/down• Управляет переключением физ. путей после сбоя
• vSphere включает в себе SATP под некоторое количество распространенных СХД, и несколько универсальных вариантов active-active/active-passive
PSA - SATP• Для просмотра всех загруженных SATP и ассоциированных
PSP• esxcli storage nmp satp list
• Для изменения PSP по умолчанию для определенного SATP• esxcli storage nmp satp set –b <boottime> -P <Default PSP> -s
<SATP>
PSA - PSP• Особенности и ответственность PSP• Выбор пути для отправки IO запроса (далее просто IO)• Отличается от SATP тем, что является механизмом
балансировки нагрузки и работает только с активными путями
• vSphere использует три плагина по умолчанию:• Fixed• Most Recently Used (MRU)• Round Robin
• VMware NMP по умолчанию выбирает PSP, ассоциированный с SATP, загруженным для данной СХД
PSA - PSP• Для просмотра загруженных PSP с текущей конфигурацией• esxcli storage nmp psp <PSP Namespace> deviceconfig get –d
<device identifier>
IO отначаладоконца• ВМ выдает SCSI команду на соотв. виртуальный диск• Драйверы гостевой ОС взаимодействуют с драйверами
виртуального хранения• Команда перебрасывается в Vmkernel, где вступает PSA• PSA загружает соотв. MPP (NMP в нашем случае) • NMP вызывает соотв. PSP• PSP согласно с правилами балансировки выбирает путь.
Команда отсылается аппаратному/программному инициатору, CNA или HBA
• Если неудачно, то PSP вызывает SATP для обработки ошибки. Статус пути меняется на неактивный и процесс повторяется
• Инициатор, CNA или HBA трансформирует команду соотв. транспорту и посылает запрос
vCenter Storage View• Пример – сколько занимают снапшоты
vCenter Storage View• Пример - отказоустойчивость доступа к хранилищам
vCenter Storage View• Пример – детальный статус по путям до датастора
vCenter Maps
esxtop/resxtop
Log• Основные журналы для решения проблем с дисковой
системой
• /var/log/hostd.log Основной журнал с информацией о задачах, событиях и взаимодействии хоста с клиентом, vCenter агентом (vpxa) и т.д.
• /var/log/vmkernel.log Основной журнал VMkernel, включающие обнаружение устройств, сетевых и дисковых событиях и включении ВМ
• /var/log/sysboot.log Журнал VMkernel с сообщениями о старте хоста и загрузке модулей
Log• Для простого поиска в журнале• grep –r search_term /var/log/vmkernel.log
• Для рекурсивного поиска во всех журналах• grep –r search_term /var/log/*• Данный поиск выдаст только строки, содержащие искомое
• Если нужно не только эти строки, то• grep –r –A3 –B2 search_term /var/log/*• Этот запрос выдаст также 3 строки перед и 2 после
• Поиск всех событий, в которых одновременно SCSI и Failed• cat /var/log/vmkernel.log | grep SCSI | grep –i Failed
Log• Экран переполнился?• cat /var/log/vmkernel.log | grep –i SCSI | less
• Последние 10 сообщений в hostd.log• tail –n10 /var/log/hostd.log
• Первые 10 сообщений в hostd.log• head –n10 /var/log/hostd.log
• Наблюдение за журналом vmkwarning.log • tail –f /var/log/vmkwarning.log
ПРОБЛЕМЫВИДИМОСТИ СИСТЕМХРАНЕНИЯ
(Клейминг claim)• Клейминг – процесс установки взаимосвязи между
физическими устройствами и плагинами в PSA
• Все клейм-правила могут быть загружены только через командную строку и не доступны через GUI
(Клейминг claim)• Просмотр загруженных клейм-правил• esxcli storage core claimrule list
• Клейм правило может быть разных типов• vendor, location, transport и driver
• У каждого правила есть идентификатор от 0 до 65535• ID 0-100, 65436-65535 зарезервированы
(Клейминг claim)• Идентификатор 65535 зарезервирован• Правила применяются в порядке от 0 по возрастающей• Если устройство не попало ни под одно предыдущее правило,
то его забирает под себя NMP• MASK_PATH – плагин, реализующий на уровне PSA
функционал, аналогичный зонированию и маскированию в FC• Если есть правило 134 для MASK_PATH и правило 150 для
MPP, то путь будет скрыт и устройство не будет подключено• У каждого правила есть класс• File – правило загружено в системе• Runtime – правило включено и активно (связано с
устройством)
(Клейминг claim)
• Удалить клейм-правило• esxcli storage core claimrule remove –rule 400
• !!! Всегда используйте команду vm-support для сохранения текущей конфигурации !!!
(Клейминг claim)• Удалить можно только правило в состоянии File
• Для удаления правила в состоянии Runtime• Сначала загрузим набор правил
esxcli storage core claimrule load• Затем снимем клейм с устройства
esxcli storage core claiming unclaim -t location -A vmhba32 -T 1 -L 0
• Простой рескан теперь позволит увидеть датастор
Проблемыспутями• Внимательно читайте документацию к СХД
• vSphere по умолчанию загружает• Fixed для active-active СХД• MRU для active-passive СХД
• Вендор СХД знает лучше• Например, HP MSA1500 имеет active-active• Но в силу внутренней логики MSA рекомендуется MRU
Disk Resignature• VMFS том содержит в сигнатуре информацию о железе• В том числе идентификатор массива, LUN ID и UUID• Если том перенесен или сменил ID – vSphere игнорирует• Для предотвращения монтирования копий и снапшотов
• Переподписывание (resignature) – создание новой сигнатуры (и UUID) для перемещенного LUN при монтировании
• http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1011387
Disk Resignature• Сохранить сигнатуру можно только если уверены, что
оригинальный LUN НИКОГДА не вернется.
Номера LUN• Максимальное количество LUN’ов, с которыми может
работать ESXi = 256• При рескане ESXi начинает с 0 и останавливается на 255• LUN 268 НИКОГДА не будет виден ESXi
• Пока нет острой необходимости – не меняйте LUN ID для разных хостов
• Disk.MaxLun может сократить время рескана и загрузки• Но всегда есть опасность, что новый выделенный LUN будет с
ID > Disk.MaxLun и соотв. хост его не увидит
IP видимость• Настоятельно рекомендуется использование различных
подсетей и даже физических сетей для сети ВМ и IP хранения• Отдельная сеть – отдельные проблемы
• Пропали диски – проверьте подключение• ping и vmkping для ESXi – одно и то же
Проблемы iSCSI• Практически все проблемы с iSCSI можно найти в журналах• grep –r iscsid/var/log/* | less
• Если информации недостаточно, то…• vmkiscsid -x "insert into internal (key, value) VALUES
('option.LogLevel',' 999');"
• Только не забудьте выключить после• vmkiscsid -x "delete from internal where key ='option.LogLevel';"
ПроблемыNFS• NFS подключения лишены многих блочных проблем, но…
• Зависят еще и от DNS• Некоторые NFS системы требуют обратного разрешения
имен. Если NFS СХД не может разрешить имя ESXi, то не отдаст ресурс
• Не подключается NFS датастор – проверь ACL• Проверь ACL еще раз• И еще раз• И не забудь, что NFS чувствителен к рЕгисТрУ• И что на ВСЕХ хостах имя датастора должно быть одинаковым
ПроблемыNFS• NFS и командная строка• grep –r nfs /var/log/* | less
• Добавим информации• esxcfg-advcfg –s 1 /NFS/LogNfsStat3
• Закончили – убавили• esxcfg-advcfg –s 0 /NFS/LogNfsStat3
ПРОБЛЕМЫПРОИЗВОДИТЕЛЬНОСТИ
IO Latency• Ключевая проблема дисковых систем – задержки
• esxtop нам их покажет• DAVG/cmd – среднее время на команду, посланную VMkernel
на устройство. Нормальный показатель <25ms• KAVG/cmd – среднее время внутри VMkernel. 1-2ms• GAVG/cmd – среднее время для гостевой ОС. <25ms
IO Latency – ?где зарыта• Как узнать, где именно зарыта собака?• На одном HBA? На массиве? На одном пути?• esxtop: d f a b g
IO Latency – ?где зарыта• Задержки по устройствам• esxtop: u f a i
IO Latency поВМ• Можно посмотреть какие задержки в среднем по ВМ• esxtop: v f b g h
SCSI Reservation• VMFS – симметричная кластерная файловая система• Нет выделенных хостов-арбитров• Для предотвращения порчи данных при обновлении
метаданных идет блокировка всего LUN• Метаданные обновляются в монопольном режиме
• Операции, требущие обновления метаданных• Включение/выключение ВМ• Создание новой ВМ/развертывание из шаблона• Миграция ВМ на другой хост• Изменение датасторов• Изменение размера файла
SCSI Reservation• vmkernel.log• reservation conflict
• esxtop: d u f F H
SCSI Reservation - решение• Включите VAAI• Конкретно ATS
• Разместите ВМ, требующие SCSI Reservation по разным LUN• Включение-выключение, снапшоты
• Увеличьте количество LUN• Уменьшите количество хостов на LUN• Уменьшите количество снапшотов• Уменьшите количество ВМ на LUN
• http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1005009
Очереди IO• IO не сразу уходит на диск, а сначала попадает в очередь• OS queue
• 32 по умолчанию• 64 для PVSCSI• Изменяется в реестре Windows
• Adapter Queue• Обычно 1024+ на порт и крайне редко требует внимания
• Per-LUN queue• Обычно 32 или 64• Disk.SchedNumReqOutstanding
Очереди IO• Мониторинг очередей• DQLEN – per-LUN queue• ACTV – активные команды в обработке VMkernel• QUED – команды, ждущие обработки или постановки в
очередь• %USED – процент команд в очереди в активной обработке• LOAD – отношение нагруженности очереди к ее размеру
• Как посмотреть• esxtop: u f F
Очереди IO• Очевидны проблемы с LUN’ом• QUED>0 означает, что очередь кончилась• DAVG, KAVG, GAVG выше порогов• DQLEN = 32, а не стандартные 128. Результат работы
Disk.SchedNumReqOutstanding
Литература• Troubleshooting vSphere Storage. Preston, Mike.
• Information Storage and Management: Storing, Managing, and Protecting Digital Information in Classic, Virtualized, and Cloud Environments. EMC Education Services
• Storage Implementation in vSphere 5.0 Technology Deep Dive. Mostafa Khalil
?Вопросы• Антон Жбанков• VCP 3/4/5• VMware vExpert 2009-2014• MCITP: SA + VA• EMC Cloud Architect Expert
• [email protected]• http://blog.vadmin.ru
• https://communities.vmware.com/community/vmtn/vmug/forums/emea/russia