Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Проблемы с
дисками?
Антон Жбанков
VMware vExpert
Pluggable Storage Architecture
• MultiPathing Plugin
• По умолчанию VMware NMP (Native MultiPathing)
• SATP – Storage Arra...
Роли и команды PSA
• PSA обнаруживает доступные хосту ресурсы хранения
• Присваивает правила MPP для управления ресурсом
•...
PSA - MPP
• NMP/MPP исполняет функции
• MPP определяет физический путь до устройства для SATP
• NMP имеет собственный набо...
PSA - SATP
• Наблюдает за состоянием путей до физ. системы
• Объявляет пути в состояние failed/down
• Управляет переключен...
PSA - SATP
• Для просмотра всех загруженных SATP и ассоциированных
PSP
• esxcli storage nmp satp list
• Для изменения PSP ...
PSA - PSP
• Особенности и ответственность PSP
• Выбор пути для отправки IO запроса (далее просто IO)
• Отличается от SATP ...
PSA - PSP
• Для просмотра загруженных PSP с текущей конфигурацией
• esxcli storage nmp psp <PSP Namespace> deviceconfig ge...
IO от начала до конца
• ВМ выдает SCSI команду на соотв. виртуальный диск
• Драйверы гостевой ОС взаимодействуют с драйвер...
vCenter Storage View
• Пример – сколько занимают снапшоты
vCenter Storage View
• Пример - отказоустойчивость доступа к хранилищам
vCenter Storage View
• Пример – детальный статус по путям до датастора
vCenter Maps
esxtop/resxtop
Log
• Основные журналы для решения проблем с дисковой
системой
• /var/log/hostd.log Основной журнал с информацией о
задача...
Log
• Для простого поиска в журнале
• grep –r search_term /var/log/vmkernel.log
• Для рекурсивного поиска во всех журналах...
Log
• Экран переполнился?
• cat /var/log/vmkernel.log | grep –i SCSI | less
• Последние 10 сообщений в hostd.log
• tail –n...
ПРОБЛЕМЫ ВИДИМОСТИ
СИСТЕМ ХРАНЕНИЯ
Клейминг (claim)
• Клейминг – процесс установки взаимосвязи между
физическими устройствами и плагинами в PSA
• Все клейм-п...
Клейминг (claim)
• Просмотр загруженных клейм-правил
• esxcli storage core claimrule list
• Клейм правило может быть разны...
Клейминг (claim)
• Идентификатор 65535 зарезервирован
• Правила применяются в порядке от 0 по возрастающей
• Если устройст...
Клейминг (claim)
• Удалить клейм-правило
• esxcli storage core claimrule remove –rule 400
• !!! Всегда используйте команду...
Клейминг (claim)
• Удалить можно только правило в состоянии File
• Для удаления правила в состоянии Runtime
• Сначала загр...
Проблемы с путями
• Внимательно читайте документацию к СХД
• vSphere по умолчанию загружает
• Fixed для active-active СХД
...
Disk Resignature
• VMFS том содержит в сигнатуре информацию о железе
• В том числе идентификатор массива, LUN ID и UUID
• ...
Disk Resignature
• Сохранить сигнатуру можно только если уверены, что
оригинальный LUN НИКОГДА не вернется.
Номера LUN
• Максимальное количество LUN’ов, с которыми может
работать ESXi = 256
• При рескане ESXi начинает с 0 и остана...
IP видимость
• Настоятельно рекомендуется использование различных
подсетей и даже физических сетей для сети ВМ и IP
хранен...
Проблемы iSCSI
• Практически все проблемы с iSCSI можно найти в
журналах
• grep –r iscsid/var/log/* | less
• Если информац...
Проблемы NFS
• NFS подключения лишены многих блочных проблем, но…
• Зависят еще и от DNS
• Некоторые NFS системы требуют о...
Проблемы NFS
• NFS и командная строка
• grep –r nfs /var/log/* | less
• Добавим информации
• esxcfg-advcfg –s 1 /NFS/LogNf...
ПРОБЛЕМЫ ПРОИЗВОДИТЕЛЬНОСТИ
IO Latency
• Ключевая проблема дисковых систем – задержки
• esxtop нам их покажет
• DAVG/cmd – среднее время на команду, п...
IO Latency – где зарыта?
• Как узнать, где именно зарыта собака?
• На одном HBA? На массиве? На одном пути?
• esxtop: d f ...
IO Latency – где зарыта?
• Задержки по устройствам
• esxtop: u f a i
IO Latency по ВМ
• Можно посмотреть какие задержки в среднем по ВМ
• esxtop: v f b g h
SCSI Reservation
• VMFS – симметричная кластерная файловая система
• Нет выделенных хостов-арбитров
• Для предотвращения п...
SCSI Reservation
• vmkernel.log
• reservation conflict
• esxtop: d u f F H
SCSI Reservation - решение
• Включите VAAI
• Конкретно ATS
• Разместите ВМ, требующие SCSI Reservation по разным
LUN
• Вкл...
Очереди IO
• IO не сразу уходит на диск, а сначала попадает в очередь
• OS queue
• 32 по умолчанию
• 64 для PVSCSI
• Измен...
Очереди IO
• Мониторинг очередей
• DQLEN – per-LUN queue
• ACTV – активные команды в обработке VMkernel
• QUED – команды, ...
Очереди IO
• Очевидны проблемы с LUN’ом
• QUED>0 означает, что очередь кончилась
• DAVG, KAVG, GAVG выше порогов
• DQLEN =...
Литература
• Troubleshooting vSphere Storage. Preston, Mike.
• Information Storage and Management: Storing, Managing,
and ...
Вопросы?
• Антон Жбанков
• VCP 3/4/5
• VMware vExpert 2009-2014
• MCITP: SA + VA
• EMC Cloud Architect Expert
• anton@vadm...
Upcoming SlideShare
Loading in …5
×

VMUG Moscow 2014 Проблемы с дисками?

6,645 views

Published on

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

VMUG Moscow 2014 Проблемы с дисками?

  1. 1. Проблемы с дисками? Антон Жбанков VMware vExpert
  2. 2. Pluggable Storage Architecture • MultiPathing Plugin • По умолчанию VMware NMP (Native MultiPathing) • SATP – Storage Array Type Plugin • Отказы и переключения путей • PSP – Path Selection Plugin • Балансировка нагрузки и выбор пути для IO
  3. 3. Роли и команды PSA • PSA обнаруживает доступные хосту ресурсы хранения • Присваивает правила MPP для управления ресурсом • Для просмотра всех плагинов PSA • esxcli storage core plugin list
  4. 4. PSA - MPP • NMP/MPP исполняет функции • MPP определяет физический путь до устройства для SATP • NMP имеет собственный набор правил для ассоциации SATP с PSP • Экспортирует логическое устройство по физическому пути для PSP • Для просмотра всех устройств с соотв. PSP/SATP • esxcli storage nmp device list
  5. 5. PSA - SATP • Наблюдает за состоянием путей до физ. системы • Объявляет пути в состояние failed/down • Управляет переключением физ. путей после сбоя • vSphere включает в себе SATP под некоторое количество распространенных СХД, и несколько универсальных вариантов active-active/active-passive
  6. 6. PSA - SATP • Для просмотра всех загруженных SATP и ассоциированных PSP • esxcli storage nmp satp list • Для изменения PSP по умолчанию для определенного SATP • esxcli storage nmp satp set –b <boottime> -P <Default PSP> -s <SATP>
  7. 7. PSA - PSP • Особенности и ответственность PSP • Выбор пути для отправки IO запроса (далее просто IO) • Отличается от SATP тем, что является механизмом балансировки нагрузки и работает только с активными путями • vSphere использует три плагина по умолчанию: • Fixed • Most Recently Used (MRU) • Round Robin • VMware NMP по умолчанию выбирает PSP, ассоциированный с SATP, загруженным для данной СХД
  8. 8. PSA - PSP • Для просмотра загруженных PSP с текущей конфигурацией • esxcli storage nmp psp <PSP Namespace> deviceconfig get –d <device identifier>
  9. 9. IO от начала до конца • ВМ выдает SCSI команду на соотв. виртуальный диск • Драйверы гостевой ОС взаимодействуют с драйверами виртуального хранения • Команда перебрасывается в Vmkernel, где вступает PSA • PSA загружает соотв. MPP (NMP в нашем случае) • NMP вызывает соотв. PSP • PSP согласно с правилами балансировки выбирает путь. Команда отсылается аппаратному/программному инициатору, CNA или HBA • Если неудачно, то PSP вызывает SATP для обработки ошибки. Статус пути меняется на неактивный и процесс повторяется • Инициатор, CNA или HBA трансформирует команду соотв. транспорту и посылает запрос
  10. 10. vCenter Storage View • Пример – сколько занимают снапшоты
  11. 11. vCenter Storage View • Пример - отказоустойчивость доступа к хранилищам
  12. 12. vCenter Storage View • Пример – детальный статус по путям до датастора
  13. 13. vCenter Maps
  14. 14. esxtop/resxtop
  15. 15. Log • Основные журналы для решения проблем с дисковой системой • /var/log/hostd.log Основной журнал с информацией о задачах, событиях и взаимодействии хоста с клиентом, vCenter агентом (vpxa) и т.д. • /var/log/vmkernel.log Основной журнал VMkernel, включающие обнаружение устройств, сетевых и дисковых событиях и включении ВМ • /var/log/sysboot.log Журнал VMkernel с сообщениями о старте хоста и загрузке модулей
  16. 16. 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
  17. 17. 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
  18. 18. ПРОБЛЕМЫ ВИДИМОСТИ СИСТЕМ ХРАНЕНИЯ
  19. 19. Клейминг (claim) • Клейминг – процесс установки взаимосвязи между физическими устройствами и плагинами в PSA • Все клейм-правила могут быть загружены только через командную строку и не доступны через GUI
  20. 20. Клейминг (claim) • Просмотр загруженных клейм-правил • esxcli storage core claimrule list • Клейм правило может быть разных типов • vendor, location, transport и driver • У каждого правила есть идентификатор от 0 до 65535 • ID 0-100, 65436-65535 зарезервированы
  21. 21. Клейминг (claim) • Идентификатор 65535 зарезервирован • Правила применяются в порядке от 0 по возрастающей • Если устройство не попало ни под одно предыдущее правило, то его забирает под себя NMP • MASK_PATH – плагин, реализующий на уровне PSA функционал, аналогичный зонированию и маскированию в FC • Если есть правило 134 для MASK_PATH и правило 150 для MPP, то путь будет скрыт и устройство не будет подключено • У каждого правила есть класс • File – правило загружено в системе • Runtime – правило включено и активно (связано с устройством)
  22. 22. Клейминг (claim) • Удалить клейм-правило • esxcli storage core claimrule remove –rule 400 • !!! Всегда используйте команду vm-support для сохранения текущей конфигурации !!!
  23. 23. Клейминг (claim) • Удалить можно только правило в состоянии File • Для удаления правила в состоянии Runtime • Сначала загрузим набор правил esxcli storage core claimrule load • Затем снимем клейм с устройства esxcli storage core claiming unclaim -t location -A vmhba32 -T 1 -L 0 • Простой рескан теперь позволит увидеть датастор
  24. 24. Проблемы с путями • Внимательно читайте документацию к СХД • vSphere по умолчанию загружает • Fixed для active-active СХД • MRU для active-passive СХД • Вендор СХД знает лучше • Например, HP MSA1500 имеет active-active • Но в силу внутренней логики MSA рекомендуется MRU
  25. 25. Disk Resignature • VMFS том содержит в сигнатуре информацию о железе • В том числе идентификатор массива, LUN ID и UUID • Если том перенесен или сменил ID – vSphere игнорирует • Для предотвращения монтирования копий и снапшотов • Переподписывание (resignature) – создание новой сигнатуры (и UUID) для перемещенного LUN при монтировании • http://kb.vmware.com/selfservice/microsites/search.do?langu age=en_US&cmd=displayKC&externalId=1011387
  26. 26. Disk Resignature • Сохранить сигнатуру можно только если уверены, что оригинальный LUN НИКОГДА не вернется.
  27. 27. Номера LUN • Максимальное количество LUN’ов, с которыми может работать ESXi = 256 • При рескане ESXi начинает с 0 и останавливается на 255 • LUN 268 НИКОГДА не будет виден ESXi • Пока нет острой необходимости – не меняйте LUN ID для разных хостов • Disk.MaxLun может сократить время рескана и загрузки • Но всегда есть опасность, что новый выделенный LUN будет с ID > Disk.MaxLun и соотв. хост его не увидит
  28. 28. IP видимость • Настоятельно рекомендуется использование различных подсетей и даже физических сетей для сети ВМ и IP хранения • Отдельная сеть – отдельные проблемы • Пропали диски – проверьте подключение • ping и vmkping для ESXi – одно и то же
  29. 29. Проблемы 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';"
  30. 30. Проблемы NFS • NFS подключения лишены многих блочных проблем, но… • Зависят еще и от DNS • Некоторые NFS системы требуют обратного разрешения имен. Если NFS СХД не может разрешить имя ESXi, то не отдаст ресурс • Не подключается NFS датастор – проверь ACL • Проверь ACL еще раз • И еще раз • И не забудь, что NFS чувствителен к рЕгисТрУ • И что на ВСЕХ хостах имя датастора должно быть одинаковым
  31. 31. Проблемы NFS • NFS и командная строка • grep –r nfs /var/log/* | less • Добавим информации • esxcfg-advcfg –s 1 /NFS/LogNfsStat3 • Закончили – убавили • esxcfg-advcfg –s 0 /NFS/LogNfsStat3
  32. 32. ПРОБЛЕМЫ ПРОИЗВОДИТЕЛЬНОСТИ
  33. 33. IO Latency • Ключевая проблема дисковых систем – задержки • esxtop нам их покажет • DAVG/cmd – среднее время на команду, посланную VMkernel на устройство. Нормальный показатель <25ms • KAVG/cmd – среднее время внутри VMkernel. 1-2ms • GAVG/cmd – среднее время для гостевой ОС. <25ms
  34. 34. IO Latency – где зарыта? • Как узнать, где именно зарыта собака? • На одном HBA? На массиве? На одном пути? • esxtop: d f a b g
  35. 35. IO Latency – где зарыта? • Задержки по устройствам • esxtop: u f a i
  36. 36. IO Latency по ВМ • Можно посмотреть какие задержки в среднем по ВМ • esxtop: v f b g h
  37. 37. SCSI Reservation • VMFS – симметричная кластерная файловая система • Нет выделенных хостов-арбитров • Для предотвращения порчи данных при обновлении метаданных идет блокировка всего LUN • Метаданные обновляются в монопольном режиме • Операции, требущие обновления метаданных • Включение/выключение ВМ • Создание новой ВМ/развертывание из шаблона • Миграция ВМ на другой хост • Изменение датасторов • Изменение размера файла
  38. 38. SCSI Reservation • vmkernel.log • reservation conflict • esxtop: d u f F H
  39. 39. SCSI Reservation - решение • Включите VAAI • Конкретно ATS • Разместите ВМ, требующие SCSI Reservation по разным LUN • Включение-выключение, снапшоты • Увеличьте количество LUN • Уменьшите количество хостов на LUN • Уменьшите количество снапшотов • Уменьшите количество ВМ на LUN • http://kb.vmware.com/selfservice/microsites/search.do?langu age=en_US&cmd=displayKC&externalId=1005009
  40. 40. Очереди IO • IO не сразу уходит на диск, а сначала попадает в очередь • OS queue • 32 по умолчанию • 64 для PVSCSI • Изменяется в реестре Windows • Adapter Queue • Обычно 1024+ на порт и крайне редко требует внимания • Per-LUN queue • Обычно 32 или 64 • Disk.SchedNumReqOutstanding
  41. 41. Очереди IO • Мониторинг очередей • DQLEN – per-LUN queue • ACTV – активные команды в обработке VMkernel • QUED – команды, ждущие обработки или постановки в очередь • %USED – процент команд в очереди в активной обработке • LOAD – отношение нагруженности очереди к ее размеру • Как посмотреть • esxtop: u f F
  42. 42. Очереди IO • Очевидны проблемы с LUN’ом • QUED>0 означает, что очередь кончилась • DAVG, KAVG, GAVG выше порогов • DQLEN = 32, а не стандартные 128. Результат работы Disk.SchedNumReqOutstanding
  43. 43. Литература • 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
  44. 44. Вопросы? • Антон Жбанков • VCP 3/4/5 • VMware vExpert 2009-2014 • MCITP: SA + VA • EMC Cloud Architect Expert • anton@vadmin.ru • http://blog.vadmin.ru • https://communities.vmware.com/community/vmtn/vmug/fo rums/emea/russia

×