Highlighted
Enthusiast
Enthusiast

Чудовищные тормоза ESXi c MSA2012

Добрый день!

Есть один ESXi хост с несколькими полезными машинами, и одной ОЧЕНЬ полезной.

Хост - это блейд подключенный к MSA2012sa через SAS свитчи. - 4 линка на 2 контроллера - 2 активных линка.

Датастор - ЛУН из 4-х хардов в RAID10.

Хронология событий:

Начал "глупить" один хард в массиве - пишет в логе массива - Disk detected error (Channel:0 ID:3 SN: Encl:0 Slot:3) Key,Code,Qual=(03h,11h,00h) cdb:Rd 1bceeec0 07c0 Info:1bcef3a4h  CmdSpc:0h FRU:81h SnsKeySpc:800096h Medium Error unrecovered read error

Всё при этом работало нормально с неделю.

Затем внезапно начались жуткие тормоза - скорость чтения с датастора не больше 5-и мб/с и все виртуалки жутко задумываются.

На хосте ESXi я убрал Path Policy на MRU, затем вернул обратно на Round Robin.

Все ненужные виртуалки выключил (выключались 3 часа).

Хост перезагрузил. Рескан шины сделал.

Не помогло ничего.

Кое-как запустил одну продакшн-машину и с ужасом на неё смотрю. :smileyconfused:

Скрины ужаса прилагаю.

Что можно посмотреть в ESXi чтобы понять почему такие невероятные тормоза?

Сталкивался ли кто с подобным?

Что можно предпринять?

P.S. Хард жду, но чёрт знает когда он до меня доедет, тут ещё праздники как раз.

0 Kudos
23 Replies
Highlighted
Enthusiast
Enthusiast

У Вас СХД скорее всего типа ААА. Может, у Вас данные между СХД и блэйд сервером передаются по неоптимизированным путям?

Подробно про это написано в блоге Михаила Коротько

P.S.

  • При выпадении одного диска из RAID10, производительность при этом не должна снижаться.
  • Высокая задержка, показанная на графике, может свидетельствовать о том, что один из контроллеров на СХД перегружен. А перегружен он может быть, в частности, из-за того, что данные передаются по неоптимизированным путям.
------------- http://communities.vmware.com/blogs/Deshifrator
0 Kudos
Highlighted
Virtuoso
Virtuoso

Что то сильно не так с MSA, похоже на аппаратные проблемы ... проверьте что все винты, луны, vol живы.

Так обычно в сообщении об ошибке : ....Channel:0 ID:3 SN: Encl:0 Slot:3 ... после SN идет серийный номер, а у вас его нет

0 Kudos
Highlighted
Enthusiast
Enthusiast

У Вас СХД скорее всего типа ААА.

Так и есть. MSA2012sa относится к AAA, по идее.

Может, у Вас данные между СХД и блэйд сервером передаются по неоптимизированным путям?

Хм-м, может, конечно, но никаких признаков этого я не вижу.

Есть 2 SAS свитча, 2 контроллера на массиве, 4 шнурка между ними и один ЛУН на первом контроллере.

Подключено стандартно - 1-й штурок от свитча в 1-й контроллер, 2-й - во второй контроллер. На втором свитче - аналогично.

1-й контроллер живой, и по идее, всё должно идти через него (см.скрины).

Нагрузки ни на первый ни на второй контроллер больше нет (я всё раскидал по физ.машинам).

Даже если данные и шли бы по неоптимизированным путям, не может же быть ТАКОЕ падение производительности! Если может, то надо сразу выкинуть оба контроллера и убить себя, слижком уж медленно. :smileyconfused:

При выпадении одного диска из RAID10, производительность при этом не должна снижаться.

Он как бы пока не выпал, он сидит и подгаживает в логи своими записями, что "всё плохо читается".

Высокая задержка, показанная на графике, может свидетельствовать о том, что один из контроллеров на СХД перегружен. А перегружен он может быть, в частности, из-за того, что данные передаются по неоптимизированным путям.

Да ему просто нечем быть перегруженным. Ничего не запущено вообще (кроме одной машины которая не создаёт нагрузки).

Iops'ов 10-20, может, и проходит - не больше.

Единственное, что мне пока приходит в голову - выдернуть этот хард и посмотреть что будет.

Наверное, сейчас займусь.

Опасливо только как-то. :smileyconfused:

Я даже копию снять не могу - она делаться будет 100 лет со скоростью 5 мб.

VTsukanov

Что то сильно не так с MSA, похоже на аппаратные проблемы ... проверьте что все винты, луны, vol живы.

В массиве всё зелено, красиво. Ничего необычного, за исключением периодической ругани в логе на один винт.

Так обычно в сообщении об ошибке : ....Channel:0 ID:3 SN: Encl:0 Slot:3 ... после SN идет серийный номер, а у вас его нет

Так и есть - идёт. Я его вытер - для "конспирации". Smiley Happy

0 Kudos
Highlighted
Virtuoso
Virtuoso

>Я его вытер - для "конспирации"

Ok для "конспирации" так для "конспирации"

hdd можно не вытаскивать, а просто перевести диск в оффлайн.

ЗЫ без бекапа играться со стораджем плохая практика

0 Kudos
Highlighted
Enthusiast
Enthusiast

VTsukanov

ЗЫ без бекапа играться со стораджем плохая практика

Я тоже так подумал, и поставил сниматься копию.

MSA c сообщением "Vdisk vStorage 1 drive down (Channel:0 ID:3 SN: Encl:0 Slot:3), mirror 1" выкинуло сбойный диск в "Leftover" и я его благополучно выдернул.

vDisk стал в "Critical State"

Тормоза не ушли никуда. Smiley Sad

Запуск машины происходит ~10 мин, такое ощущение что оно с дискет загружается.

В логе (на скрине) видно что хост пишет "NMP Device (naa."длинный id луна")  state in doubt, requested fast state path update..."

Постоянно зачем-то ломится на устройства с типом "Enclosure" и ругается что там ничего нет.

Что это вообще за устройства "SCSI Enclosure Svc Dev"?

Что-то я запутался.

В GUI в логах всё чисто.

Как-нибудь можно разобраться из самого ESXi что происходит с его точки зрения?

----

Попутный вопрос: нельзя ли где-нибудь случайно купить эти миленькие карманчики "SAS Tray" куда вставляется винчестер, чтобы затем его вставить в MSA? А то я бы понабрал этих "карманчиков", и винчестеров по 250$, и зажил бы со Spare диском, как белый человек.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Что это вообще за устройства "SCSI Enclosure Svc Dev"?

Вот здесь:

http://www.bog.pp.ru/hard/scsi.html

внизу идет описание SAF-TE и SES (SCSI Enclosure Services)

------------- http://communities.vmware.com/blogs/Deshifrator
Highlighted
Enthusiast
Enthusiast

Deshifrator

Спасибо.

Т.е. проще говоря, есть порты для подключения доп.корзин с дисками к контроллерам. Порта всего 2 - по одному на контроллер. Соответственно, ESXi их оба видит и пытается опросить, есть ли там что полезное. Ему возвращается что там пусто, пишется ошибка. Т.е. эти ошибки мы игнорируем, это нормально.

--

Как определить причину тормозов и победить их?..

Контроллер что-ли попробовать перезагрузить... :smileyconfused:

0 Kudos
Highlighted
Enthusiast
Enthusiast

Перезагрузил первый контроллер.

Всё отработало штатно, 2 активных линка "умерли" и перешли на второй контроллер а затем вернулись обратно.

Тормоза остались.

Максимум что оно выдаёт сейчас - 4 мб/с. :smileyshocked:

Даже не знаю что ещё перезагрузить. :smileyconfused:

0 Kudos
Highlighted
Enthusiast
Enthusiast

Ему возвращается что там пусто, пишется ошибка. Т.е. эти ошибки мы игнорируем, это нормально.

Как мне кажется эти ошибки можно игнорировать.

Как определить причину тормозов и победить их?..

Что бы я попробовал:

  • Создать другой LUN и подцепить его к ESXi. Создать datastore и проверить скорость.
  • Подцепить текущий LUN (на котором диск чувствует себя не важно) на другой хост и протестировать там скорость.
  • Сделать так, чтобы до СХД был только один путь.
  • Протестировать SAS свичи. (Может что-то с ними).
  • Установить на блэйд сервер Win2008, подключить к винде LUN и протестировать скорость.

Если во всех случаях скорость низкая, то стоит копать в сторону СХД.

------------- http://communities.vmware.com/blogs/Deshifrator
0 Kudos
Highlighted
Enthusiast
Enthusiast

Deshifrator

Что бы я попробовал:

Создать другой LUN и подцепить его к ESXi. Создать datastore и проверить скорость.

К несчастью, у меня очень сильно ограничены ресурсы. Т.е. у меня больше нет хардов. Осталось 3 рабочих.

Подцепить текущий LUN (на котором диск чувствует себя не важно) на другой хост и протестировать там скорость.

Это я попробовал. Такая же ерунда. Дикие тормоза. 2 мб/с в пике читает.

Сделать так, чтобы до СХД был только один путь.

Тоже пробовал. Переключает правильно. Тормозит и так и так.

Протестировать SAS свичи. (Может что-то с ними).

Пробовал только перезагружать, с ними особо ничего сделать и нельзя. Сейчас ещё покопаю на всякий случай.

Установить на блэйд сервер Win2008, подключить к винде LUN и протестировать скорость.

Идея отличная, но в блейдах нет дисков. ESXi установлен на флешки.

Вообще и правда такое ощущение что какой-то внезапный косяк с СХД. Вроде и работает... И в то-же время не работает.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Да-а... Получилось забавно.

Причина тормоза найдена!

В MSA есть настройки кеширования (см. Cache.png), и там есть настройка "Read Ahead Cache". Про эту настройку я вычитал у одного товарища, который пишет, что если у вас на контроллере не много ЛУН'ов (как у меня) то самое "крутое" - это поставить "МАКСИМУМ КЕША" :smileygrin: - чтобы "поглотить все задержки физического устройства кешем"). Ну, я думаю - круто, почему бы и не ПОГЛОТИТЬ - и включил это дело. И очень зря, как выясняется, потому что скорость при этом падает катастрофически - почти до скорости флоппика. Я заподозрил, что проблема с кешем, и уменьшил его до 32-х мб. Тормоза при этом как были так и остались космические. Когда я вернул настройку на "Default" - всё заработало как было, т.е. более-менее шустро.

Т.е. я попутно всё это время думал на винчестер, лаги чтения с него, и.т.д, а проблема была совсем не в этом, просто так совпало.

Не совсем понятно, правда, как работает эта настройка, т.е. либо одно из двух, либо я ИДИОТ, либо в моём окружении это не работает, либо это вообще не работает.

Мораль, в принципе, простая - ОЧЕНЬ ТЩАТЕЛЬНО тестировать любые изменения вносимые в продакшн системы. Вон - даже Амазон поигрался с настройками и уронил всё "облако".

Я прогнал на всякий случай пару тестов из под Win-2008 PVSCSI (msa1.png,msa2.png, msa3.png).

Это нормальная картина, на скринах, допустимая?

С кешем так и непонятно что делать, наверное надо оставить его в покое на "дефолте".

0 Kudos
Highlighted
Commander
Commander

Sysxp wrote:

В MSA есть настройки кеширования (см. Cache.png), и там есть настройка "Read Ahead Cache". Про эту настройку я вычитал у одного товарища, который пишет, что если у вас на контроллере не много ЛУН'ов (как у меня) то самое "крутое" - это поставить "МАКСИМУМ КЕША" :smileygrin: - чтобы "поглотить все задержки физического устройства кешем").

Ничего не могу сказать про MSA, но что касается линейки IBM DS 3xxxx/4xxx/5xxx, в руководствах для них IBM многократно явным образом пишет о том, что настройки по умолчанию (в том числе для кэша) - самые лучшие, подходят для подавляющего большинства случаев.

Я тоже в свое время не пожалел время для тестов - увы, никакого улучшения не обнаружил, вернулся к настройкам по умолчанию. Smiley Happy

Sysxp wrote:

Я прогнал на всякий случай пару тестов из под Win-2008 PVSCSI (msa1.png,msa2.png, msa3.png).

Это нормальная картина, на скринах, допустимая?

Честно говоря, чтобы сказать допустимая ли она нужно знать:

1. сколько IOPSов и MB/s потребляют ваши приложения в виртуальных машинах (хотя бы по факту ранее снимаемых бенчмарков);

2. характеристики нагрузки проведенного теста (в частности, сколько рабочих потоков создавали эту нагрузку, соотношение операций чтение/записи), под которой эта картина получена.

Также IMHO IOMeter более подходящий и адекватный инструмент для таких тестов.

Sysxp wrote:

С кешем так и непонятно что делать, наверное надо оставить его в покое на "дефолте".

Наверное, да. Smiley Happy

Sysxp wrote:

Попутный вопрос: нельзя ли где-нибудь случайно купить эти миленькие карманчики "SAS Tray" куда вставляется винчестер, чтобы затем его вставить в MSA? А то я бы понабрал этих "карманчиков", и винчестеров по 250$, и зажил бы со Spare диском, как белый человек.

Карманчики купить при желании можно, например у самой HP, зная part number. Если HP их уже не продает за давностью лет, то можно попробовать поискать на ebay.com - у коллег был успешный опыт таких покупок.

Однако вся эта затея представляется мне сомнительной - вполне может оказаться, что не каждый винчестер за $250 заработает c MSA. Политика производителей СХД такова, что они как правило не позволяют вставлять "не свои" винчестеры в свои СХД. Скорее всего MSA не примет у Вас "не свой" диск.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Хотя отзывчивость и вернулась, меня не покидает ощущение что что-то работает "неправильно". Поэтому я и полез в настройки кеша до этого.

График задержек на скрине ИМХО какой-то пугающий.

Нагрузки никакой нет! При этом latency сама подскакивает до >10 мс непонятно в честь чего.

На тех скринах выше, где HdTune, кроме него никакой нагрузки нет.

И скорость какая-то "вялая". При копировании из вир-машины на внешний сервер большие файлы читает ~25-28 мб/с, а должен бы, по идее, >100 мб/с.

0 Kudos
Highlighted
Enthusiast
Enthusiast

Я не понимаю как оно работает, и почему оно так работает.

Берем тест-машину под Win2003. Монтируем iso-образ 4.7 гб, который лежит на этом-же датасторе и запускаем копирование на машину.

После завершения, копируем то-же самое само в себя.

Как только начинается копирование, latency падает и держится на уровне 1мс.

Как только всё копирование заканчивается, latency начинает прыгать до 17 мс, хотя нагрузки при этом вообще нет.

Может, так и должно быть, конечно...

0 Kudos
Highlighted
Commander
Commander

Sysxp wrote:

Как только начинается копирование, latency падает и держится на уровне 1мс.

Как только всё копирование заканчивается, latency начинает прыгать до 17 мс, хотя нагрузки при этом вообще нет.

Может, так и должно быть, конечно...

Конечно так быть не должно.

Очевидно, именно в моменты активности latency должна возрастать, а не наоборот, как получается по Вашему описанию.

Мнет трудно что-то предположить, я не имел опыта работы с MSA, но мои DS так себя не ведут.

0 Kudos
Highlighted
Commander
Commander

Sysxp wrote:

И скорость какая-то "вялая". При копировании из вир-машины на внешний сервер большие файлы читает ~25-28 мб/с, а должен бы, по идее, >100 мб/с.

А у Вас внешний сервер способен принимать файлы со скоростью >100 Мбайт/с?

Если у Вас в нем, например одиночный винчестер (который принимает данные), то вряд ли, даже если системный диск отдельный.

0 Kudos
Highlighted
Enthusiast
Enthusiast

По поводу снижения latency при активном копировании, могу предположить, что в этом момент в работу вступает кэш, тем самым снижая задержку.

У Вас режим отложенной записи включен? Если нет, то попробуйте включить. 

Посмотрите здесь. Может, что интересного найдете для себя.

------------- http://communities.vmware.com/blogs/Deshifrator
0 Kudos
Highlighted
Enthusiast
Enthusiast

RumataRus

Карманчики купить при желании можно, например у самой HP, зная part number. Если HP их уже не продает за давностью лет, то можно попробовать поискать на ebay.com - у коллег был успешный опыт таких покупок.

Однако вся эта затея представляется мне сомнительной

На самом деле вроде бы всё просто: для примера, в моём случае используются AJ736A. Там стоят обычные харды Seagate ST3300656SS, которые отлично продаются по 250$. Вряд-ли HP шьёт в них свою прошивку, чтобы узнавать их, да и мелькают сообщения, что "левые" харды успешно принимаются СХД. А вот с карманчиком сложнее. Smiley Sad

Он называется везде по разному: MSA Tray, MSA Caddy, а на нём самом на планочке "SAS interposer" написано SAS Dongle.

Ни парт-номера этой штуки, ни людей, которые шлют это дело в Россию я не нашёл. Т.е. на е-bay продают, но к нам не хотят слать.

Обидно, конечно, руки так и чешутся "затарить" этих "карманчиков"...

А у Вас внешний сервер способен принимать файлы со скоростью >100 Мбайт/с?

По идее да, может чуть поменьше, там 8x SATA дисков RAID6.

Deshifrator

По поводу снижения latency при активном копировании, могу предположить, что в этом момент в работу вступает кэш, тем самым снижая задержку.

Наверное и правда это как-то связано с работой кеша.

У Вас режим отложенной записи включен? Если нет, то попробуйте включить.

Да, был включен всегда, попробовал для интереса выключить и прогнать "тесты" - копирование примонтированного iso 4.7, а затем тут-же копирование этого-же само в себя - сначала с "write-through" (т.е. кеш отключен), затем с "write-back", и затем то-же но с 2-х машин одновременно. (msa0.png)

C "write-through" работает явно намного хуже.

В последнем графике, когда идёт копирование с монтированного iso задержка стабильно низкая, как только начинается копирование с самого в себя - подпрыгивает в пиках до 38-и мс.

И в спокойном состоянии без какой-либо нагрузки прыгает до 20 мс.

Либо это "нормально", либо надо делать какую-то супер-тонкую настройку ESXi для этой конкретной СХД, либо надо побольше HDD...

Не знаю.

Придётся пока так жить, как оно сейчас работает, похоже. :smileyconfused:

0 Kudos
Highlighted
Expert
Expert

ИМХО у вас проблемы в железной части... как и в конфигурации так и с железками, просто так варнинги не появляются.

В своей практике сталкивался с MSA 1-го и 2-го поколения на FC и iSCSI раз 5.  Особых настроек делать не нужно для работы с ESXi. C настройками по дефолту все прекрасно работает.

Я так понял у вас полка первого поколения, она актив - пассив если вы конечно не шили ее прошивками последними, тогда она превращаеться в ААА сторадж.

Что нужно проверить. Прошивки, шить до последних все - SP, диски, софт и т.п.

Очень подозрительны варнинги от диска....

10 RAID на 4 дисках... хм вы от него большой производительности не дождетесь, дисков мало в группе, да плюс еще SATA диски... 10 рейд на таком малом количестве в принципе особой прибавки не даст. Дисков однозначно у вас мало.

Производительность не блещет, но опять же повторюсь на вашей конфигурации вы скоростей не получите. Тем более MSA не имеет ни фасткешей, ни изитаер ни других подобных функций, это лоуэнд, тут два варианта SAS для более менее нормальной работы, SATA для хранения и места, на SATA вообще честно там делать нечего, нечем его оптимизировать.

------------
VMware vExpert 2010
http://vm.pro-it.kz

VMware vExpert 2010, 2011 - http://vm.pro-it.kz
0 Kudos