Overexperienced, undereducated.

Mar 01, 2016 21:42

Всё-таки иногда не хватает мне профильного академического образования, ой как не хватает. Да и вообще в отделе на кубометр воздуха явно ощущается его недостаток. Вот, к примеру, зафигачили мы ферму виртуализации (про неё я уже писал). Проектировала её куча народа с суммарным опытом в IT больше века, так что ферма получилась красивая, мощная, вся из себя HA, да вот беда: стали на ней спустя время виртуалки подтормаживать. А иногда и не подтормаживать, иногда и просто колом вставать. При этом проблема всплывала в режиме великого белорусского рандома: одна виртулка шуршит без задержек, вторая с ней рядом изображает труп. С учётом числа компонентов системы задача по поиску и устранению бутылочного горлышка была не самая простая. Я, конечно, и перезагружал уже всё, и обновления накатывал, и под капот заглядывал, и по колёсам стучал (у нас в кладовке восемь колёс лежат специально для этого) - ничего не помогало. А учитывая, что после ряда звиздецов этот кластер, как самый отказоустойчивый, держал 90% нашей инфраструктуры, коллеги потихоньку начинали звереть.

Версии рождались и отбрасывались одна за другой. "Винты," - кричала симтоматика, - "винты!". Да хрен там, начинаешь копировать какое-нибудь файло рядом с еле дышащими серверами - оно копируется с такой скоростью, что SSD от зависти дохнут. "Сеть," - орал опыт, "сетка с кучей мелких iSCSI-пакетов не справляется!". Оптимизировали всё, что можно, всё-таки подняли второй линк (на оптике засвистел с ходу, хотя на меди не поднимался ни в какую!)... Чуть получше стало вроде, но ненадолго. "Процессор!" - кричал Гугл. - "Не справляются процы с логикой гипервизора!". Несколько суток мониторинга показали, что любой из процев возьмёт в пять раз больше нагрузки, LP0, тянущий всё IO, не загружен и на 20% ни на одном из хостов кластера.

В отчаянии я зарывался всё глубже и глубже в дебри интернетов. Читал статьи, относящиеся к теме косвенно, очень косвенно и не относящиеся совсем. Перечитывал по стодесятому разу форумные темы с похожими проблемами, надеясь поймать искру вдохновения. И вот, наконец, мне удалось подобрать правильный запрос к Гуглу я нашёл вроде бы ответ. Ну, я на это очень надеюсь, по крайней мере... Думаю, имеющие профильное образование догадались уже, где собака порылась! [Spoiler (click to open)]Дело, конечно же, в винтах. Я совершенно нахер забыл про разницу между последовательным (при записи/чтении одного файла, например) и произвольным (при аналогичных действиях на десятках больших файлов одновременно) доступом. И только статья про сравнение прошивок каких-то совершенно левых СХДшек при разных режимах этого самого доступа навела меня на светлую мысль воспользоваться замечательной утилитой gstat (для этого, конечно, пришлось ещё вспомнить о существовании таковой: о да, я отвык от FreeBSD, прости, toxa!), дабы увидеть весёлую загрузку винтов в 98-110% при странных 400-500 IOPS и потоке данных в 10-30 MBpS. При тестовом копировании файла через гигабитный внешний интерфейс IOPS моментально увеличился в два раза, поток - в четыре... А при прибитии нескольких виртуалок с большими СУБД и свопами, но малым количеством ОЗУ загрузка как-то резко упала.

В общем, сказка - чистая правда, и намёка в ней нет никакого, одно только чёткое указание: не доверяйте проектирование важных систем командам пусть и с вековым опытом, но состоящим из химика, экономиста, авиаинженегра и простого сисадмина проектировать ИТ-системы. Они вам тааааакого напроектируют! Кстати, вот как раз сейчас нам дали задание в рамках импортозамещения спроектировать систему управления для отечественных аэропортов. Слив данной информации проплачен компаниями РЖД и "Росавтодор", а я пошёл думать, как мне лучше запроектировать новую почти аналогичную ферму виртуализации...

работа, it

Previous post Next post
Up