Игорь Аксюта (101) wrote,
Игорь Аксюта
101

Недоступность ЖЖ. Что это было?

Оригинал взят у igrick в Недоступность ЖЖ. Что это было?

Folks, нормальная работа ЖЖ восстановлена, так что пришло время рассказать, что это было и каковы последствия.

Но для начала, так как многие впервые для себя узнали понятие "кластер" (User Claster), позволю себе привести великолепную аналогию системы кластеров от френда vmenshov, которая раскрывает общую идею простым и понятным языком:

«

Как оказалось, ЖЖ с 2002-го года поддерживает кластеры. Это очень и очень здорово. Непонятно, что такое кластеры? Простите, этого больше не повторится.

Кластеры — это города, в стране уютненькой базы данных, в которых живут ваши журналы. Как только все квартиры в городе становятся заняты, для новых жителей строят еще одно поселение. Если же в каком-то старом городе журналу требуется большая жилплощадь, его могут переселить в другое место, где свободных квартир еще навалом.

Более того, у каждого города есть двойник в параллельной реальности, его точная копия со всеми обитателями. И даже если на поселение упадет атомная бомба, его жители не погибнут, и даже не поймут что случилось, потому что мгновенно из гиперпространства его заменит брат-близнец. Иногда, город переключается даже без атомной бомбы, когда, скажем, канализацию починить надо. Очень удобно. Яма на дороге? Да не вопрос. Уходим в параллельную реальность, и дорога сразу как новенькая. Как только в «той» реальности дорогу починят, можно вернутся обратно. То есть обыватель вообще не замечает проблем и не ощущает где он находится, в этой вселенной, или в параллельной. Он всегда в лучшей.

В каждом городе (и его брате-близнице) есть доска почета с регалиями и фотографией каждого жителя. Кроме того, у каждого горожанина есть забор, на котором он пишет о наболевшем. Кроме того, он может писать на общих заборах, куда его допустил смотритель. По всей стране видеосвязь поставлена на отлично, и каждый житель страны может увидеть любой забор, неважно в каком городе он находится. И даже послать магическое письмо, которое немедлено отпечатается на заборе автора (и его параллельном близнице тоже). Кроме того автор может написать волшебной кистью на заборе ответ (без посылки писем), и он становится доступен сразу всем во всех реальностях.

В уютненькой стране есть столица. В ней никто не живет, но зато там находится библиотека с Главным Каталогом. В нем хранится самое сокровенное, адреса жителей всех городов, их счета и сказания о дружбе. Столица очень надежно защищена. Помимо параллельной реальности, она существует еще в пяти измерениях. Уничтожить ее практически невозможно.»

Полный текст записи: vmenshov.livejournal.com/99974.html — но выводы о произошедшем там не вполне верные.

Итак, с кластерами разобрались, так что перейдем к возникшим проблемам. Вчера, в 2:22 ночи по московскому времени, система мониторинга состояния ЖЖ отрапортовала о сбое, возникшем на 7-м пользовательском кластере (имя кластера — Bratwurst¹, самый знаменитый житель — navalny, а сообщество — malyshi). Анализ показал, что в базе данных разрушены структуры и сами данные множества таблиц, и, следовательно, требуется recovery, а затем и восстановление данных с зеркалирующего сервера. Ввиду того, что этот процесс, по предварительным оценкам, прогнозировался по продолжительности на 5-6 часов, было принято решение полностью отключить кластер, дабы избежать потери данных в случае, если на самом зеркале внезапно произойдет сбой. В то время, пока восстанавливался 7-й кластер, что само по себе трудоемкий процесс, так как необходимо передать по локальной сети большое количество данных, а сеть, помимо этого, занята остальными процессами жизнедеятельности ЖЖ, система мониторинга подняла тревогу об аналогичном сбое на 9-м пользовательском кластере (имя кластера — ChickenTikka², самый знаменитый житель — adagamov.info, а сообщество — ru_politics). Для 9-го кластера потребовались те же процедуры, что и для 7-го, а сеть и так на 100% эксплуатируется ввиду активного процесса восстановления последнего. Тем самым изначально озвученные сроки значительно увеличились.

Все пользователи, находящиеся на данных кластерах, полностью потеряли доступ к ЖЖ, вне зависимости от того, куда они хотят в ЖЖ зайти. Ввиду того, что часть информации о пользователях и их записях собирается с кластеров в реальном времени, а 7-й и 9-й полностью отключены от системы, у остальных пользователей, чьи журналы не находятся на данных кластерах, ЖЖ стал вести себя в контексте ситуации. Например, если на данный момент именно на "этой" странице ленты друзей должна быть запись от пользователя с одного из двух аварийных кластеров, то лента друзей не открывается и выдает 500 или 503 ошибку. Или если в inbox есть сообщение от этого пользователя. Или есть у вас есть друг с аварийных кластеров в какой-либо группе друзей, то update.bml также не будет работать. Проще говоря, ЖЖ работал по-разному нестабильно для разных пользователей.

По состоянию на 08:12 (здесь, выше и далее все время — московское) 7-й кластер восстановлен на 35%, 9-й — на 1.5%. 09:51: UC7 — 50%, UC9 — 5%. Для оптимизации работы сети восстановление 9-го кластера было отложено до момента завершения восстановления 7-го. 7-й кластер был полностью восстановлен и введен в строй в 14:41, а для 9-го возобновлена процедура восстановления. В 19:09 система рапортует, что при восстановлении 9-го кластера возникли проблемы, требующие вмешательства. Как результат, 9-й кластер восстановлен только к 04:42 утра, а работа ЖЖ полностью восстановлена к 05:40.

Некоторые пользователи с 9-го кластера могут до сих пор частично не видеть своих записей, созданных за последний день или два. Мы работаем над их восстановлением из архивов. Если у вас пропали какие-то записи, мы будем очень признательны, если вы сообщите об этом в Службу поддержки (livejournal.com/support/submit.bml), так как это поможет нам провести этот процесс значительно быстрее.

Кроме того, на все время ЧП в ЖЖ были отключены сервисы отложенных записей и доставки уведомлений. После восстановления все эти сервисы включены вновь, так что отложенные записи опубликовались с задержкой, а в рассылке уведомлений накопилась большая очередь, которая, по расчетам на текущий момент, будет расходиться еще несколько часов.

В причинах фактически одновременного серьезного выхода из строя двух кластеров нам еще предстоит разобраться, это займет какое-то время. О результатах я сообщу отдельно.

Всем пользователям платных сервисов будет компенсирован простой в размере одной недели.

Мы приносим свои извинениях за доставленные неудобства. Не переключайтесь.

¹ Bratwurst – сарделька из телятины, говядины и/или свинины, приготовленная с большим количеством специй;
² ChickenTikka – афганское национальное блюдо, популярное во всем мире, из филе курицы, маринованной в йогурте со специями;


Subscribe
Buy for 50 tokens
Buy promo for minimal price.
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments