v.3.12 rev.1
main page
russian english
Блоги » Vallefor »

Удача 90-го уровня

Удача 90-го уровня
31 июл 2019 09:01:20

Всем привет!

Много пользователей, наверное заметили, что сайт лег на полтора дня.
На самом деле мы пережили интересный коллапс :)

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

По мимо этого, раз в день, мы делаем инкрементальную копию файлов и базы на Backblaze, используем при этом Percona Xtrabackup (позволяет делать копию базы без блокирования таблиц и нагрузки на сервер) и Duplicacy (очень крутая штука для инкрементальных бекапов файлов). То есть если накроется вообще все, то придется просто заново установить и настроить, все, что у нас там было и развернуть бекап (что, платно).

Что случилось у нас:
Сначала пришло уведомление, что развалился RAID1 массив, я в это время обедал и его успешно не заметил. Не успел я вернуться с обеда, как Feba написала, что полка лежит, захожу, вижу ошибку 502 Bad Gateway (окей, по какой-то причине лег php-fpm). Захожу на сервер, пробую запустить php-fpm - говорит, что PID файл есть и возможно все уже запущено. Смотрю PID файл и правда есть, но удалить его не получается, так как файл побитый и нужно делать проверку файловой системы - что на запущенном сервере сделать нельзя и нужно делать либо на перезагрузке.

Тут закрадывается мысль проверить а что там с RAID1 (почту то я все еще не проверил). Проверяю - один хард отвалился. Ок, ничего хорошего, но не так уж и плохо.

Проверяю SMART двух хардов и вижу, что:
Первый хард начинает покрываться битыми секторами - этот хард остался в рейде и продолжал пыхтеть.
У второго харда счетчик включений/выключений достиг 6400+ (что явно аномально).

Ок, второй хард уже, можно сказать, в могиле. Интересно, когда туда отправится первый?
Пробую сделать полный бекап всего на Backblaze - бекап успешно создается.

Пишу в поддержку Hetzner (там мы сервер арендуем), отправляю логи - говорят, что ошибок достаточно и оба харда можно заменить. Окей, прошу их поменять хард, что вылетел из RAID.

Хард меняют, загружают сервер в Rescue System (это практически как со стороннего носителя загрузиться, в случае полного коллапса, у тебя есть еще возможность все исправить). Добавляю хард в RAID, запускается синронизация данных. Думаю, что сейчас все засинхронизируется на новый хард, попрошу заменить второй и засинхронизирую еще раз.
Так как хард размером в 2ТБ - синхронизация идет 4 часа. Раз в час, проверяю, что там как. На 95%+ синхронизация останавливается и mdadm (это утилита для управления программным RAID) выкидывает новый хард из массива. dmesg покрывается красными сообщениями "I/O Error" и говорит, какие сектора побились. Принудительно затираю эти сектора другой утилитой, проверяю, что они читаются, запускаю синхронизацию еще раз. Опять ошибка на 95%+ (становится понятно, что так дело не пойдет).

Синхронизирую данные с умирающего диска на новый при помощи ddrescue (по крайней мере эта утилита, в случае ошибок чтения, не останавливается), а это опять 4 часа.

Клонирование завершено, останавливаю все текущие RAID1 массивы, создаю заново новые с использованием нового диска (отмечая, что второй диск пока отсутствует). Все создается, главный раздел с файлами вполне себе живой, раздел /boot почему-то уничтожился (по факту этот раздел нужен только на старте загрузки, его довольно просто восстановить), форматирую заново /boot, восстанавливаю все файлы в нем, устанавливаю GRUB в загрузочную область, все выглядит вполне себе живым. Думаю, что мой поезд встал на рельсы удачи.

Отправляю запрос на замену второго жесткого диска. Hetzner умудряется поменять его за 2 минуты оО. Добавляю новый хард в массив, запускаю синхронизацию. Синхронизация успешно завершается. Устанавливаю GRUB в загрузочную область второго диска, проверяю, что все новые разделы монтируются куда нужно, настройки mdadm правильные, выглядит вроде бы все как надо.

Перезагружаюсь... и тишина *_*
Linux конечно дает восстановить себя из любой ситуации (GRUB не смог загрузку инициировать - вот тебе консоль GRUBа, дальше что-то не грузится - вот тебе root-консоль), но это можно сделать находясь рядом с сервером, а он далеко. Перезагружаюсь опять Rescue System, опять проверяю все, что могу, выглядит все ок и должно загружаться.
Думаю, ну вот, теперь приедтся просить KVM-over-IP и платить за нее. Если просто, то KVM-over-IP это штука, которая транслирует тебе видео с экрана удаленного сервера и транслирует обратно все клики мышкой и кнопки на клаве).

Иду смотреть цену, оказалось, что KVM теперь они могут дать бесплатно на 3 часа (но не гарантируют, что это будут именно 3 часа, могут раньше забрать). Запрашиваю KVM, где-то через час мне его выдают (время уже 00:30). Подключаюсь, выглядит так, что mdadm не может примонтировать разделы + еще небольшая ошибка с swap разделом. И тут меня ждет нечто. KVM-консоль предлагает ввести root-пароль для восстановления. Ввожу пароль - не подходит. Ввожу - не подходит. Думаю, что забыть я его вроде не мог, перезагружаюсь в Rescue System, меняю root пароль, перзагружаюсь, вводжу пароль - не подходит. Закрадывается мысль, что KVM не принимает какие-то командные клавиши или символы. Устанавливаю пароль попроще - он начинает подходить. Узнаю, что в KVM печатается вместо y - z, а вместо z - y. Символы типа | и > вообще неизвестно как напечатать. В общем, не сразу, но получилось понять, почему загрузка не шла и в 01:21 уже все работало *_*

Такие дела :)
Еще у нас есть сейчас проблема с ачивками. Это сторонняя проблема. Сегодня-завтра я ее исправлю.
111 0
Поделиться
toTetsu
toTetsu (Belarus)
31 июл 2019, 09:19:33
28 (28)
Оцени коммент!
Спасибо, что всё починили! Без Полочки пусто! Последний ламповый хобби уголок, да ещё и удобный, да и люди чудесные и коллективки!
Не падайте, если надо, мы сбросимся на новые диски или что там нужно...
Spiritist
Spiritist (Russia)
31 июл 2019, 09:25:25
26 (30)
Оцени коммент!
Я уж подумал, что ркн за фотки пластиковых лолей добрался.
HikariOsa
HikariOsa (Ukraine)
31 июл 2019, 09:36:05
8 (8)
Оцени коммент!
Фух, было волнительно, но верила, что все хорошо!
Когда полки нет включается паника, особенно из за списка просмотров
Спасибо , что все пояснили, как раз и по ачивкам вопрос отвечен =)
StineGirl
StineGirl (Russia)
31 июл 2019, 09:40:12
13 (13)
Оцени коммент!
Ачивки не надо исправлять. Мне нравятся мои новые 600 фигурок.
RubeeAmadare
RubeeAmadare (Russia)
31 июл 2019, 09:47:35
3 (3)
Оцени коммент!
Ураааааа! Рада, что удалось починить *_* А то аж панику словила, когда полка не запускалась...
Reichi
Reichi (Russia)
31 июл 2019, 10:09:02
4 (4)
Оцени коммент!
Я тоже радуюсь своей ачивке за 1000 фигурок =)

Рада, что все восстановилось! Не падайте больше, мы вас любим =)
Usagi_T
Usagi_T (Russia)
31 июл 2019, 10:13:59
6 (6)
Оцени коммент!
Twitter совсем недавно тоже перестал работать на пару часов, только там после восстановления работы причины поломки объяснять не стали, а ограничились короткой фразой: "miss us?"(скучали?), на что один из пользователей ответил: "я жить не могу без Твиттера!"
И сейчас я хочу повторить эти слова: "Я жить не могу без базы фигурок!" Спасибо, что успели всё исправить до обновления у GoodSmile, благодаря чему можно было вовремя отредактировать и добавить в базу фигурки, на которые открылись предзаказы.
linainvers
linainvers (Russia)
31 июл 2019, 10:57:16
5 (5)
Оцени коммент!
Огромное спасибо за Ваш титанический труд, я так волновалась за родную Полочку!

P.S У меня наблюдаются проблемы при отправке сообщений в чаты: отправленное не появляется в чате, пока не обновлю страницу, при этом счётчик сообщений выглядит так, будто мне пришло новое сообщение ( а не я отправила ), плюс помимо отправленного текст сообщения продолжают висеть ещё и в черновике.
No yaoi, no life! XD
Erwin x Levi, Eren x Levi, Levi x Eren ~ (눈_눈)
Vallefor
Vallefor (Russia)
31 июл 2019, 11:27:29
3 (3)
Оцени коммент!
Обновите страницу еще раз. Сейчас должно стать все ок *_*
MySQL server has gone away
linainvers
linainvers (Russia)
31 июл 2019, 11:30:24
2 (2)
Оцени коммент!
Благодарю за оперативность, заработало.
No yaoi, no life! XD
Erwin x Levi, Eren x Levi, Levi x Eren ~ (눈_눈)
StineGirl
StineGirl (Russia)
31 июл 2019, 11:28:53
2 (2)
Оцени коммент!
У меня то же самое с сообщениями (не скажу, что всегда, но бывало последнее время). При этом они иногда ещё и уходят не туда (а это уже довольно давно).
Vallefor
Vallefor (Russia)
31 июл 2019, 11:31:47
2 (2)
Оцени коммент!
Эээ.. Уходят не туда?
MySQL server has gone away
StineGirl
StineGirl (Russia)
31 июл 2019, 12:03:39
1 (1)
Оцени коммент!
Да, приходят не тому пользователю, которому отправляю, а кому-то ещё из списка чатов.
Просто нажимаю "отправить", сообщение уходит, но в чате, в который я отправляла, не появляется. Потом обнаруживаю "новое сообщение" в чате с кем-то другим, как раз то самое.
xsize
xsize (Russia)
31 июл 2019, 13:04:24
5 (5)
Оцени коммент!
ОМГ, спасибо огромнейшее за тот колоссальный труд, которого стоит функционирование нашей любимой Полочки!



У меня аж ломка началась за то время, что сайт не работал XD Даже когда я занята, и Полка открыта чисто фоном - все равно как-то спокойней, когда родной виртуальный "дом" рядом! :))

П. С.
Vallefor
Vallefor (Russia)
31 июл 2019, 13:24:12
3 (3)
Оцени коммент!
У нас был Google Adsense для не зарегистрированных, но гугл выслал предупреждение, что реклама стоит рядом с голой пластиковой фигуркой (он ее пометил как порнография). При всем при том, что я знал об этом правиле и отключал рекламу на страницах 18+, но кто-то не поставил тег/галочку и мне пришло предупреждение *_*
Спорить с гуглом стремно, так как можно доспориться до блокировки аккаунта. Конечно есть сети, которые допускают рекламу рядом с 18+ контентом, но что-то я не стал больше экспериментировать.

Еще был майнинг крипты в половину одного ядра для незарегистрированных - оказалось, что на это антивирусы ругаются и это так себе идея.
MySQL server has gone away
xsize
xsize (Russia)
31 июл 2019, 13:40:16
3 (3)
Оцени коммент!
Эх, жаль. Но лучше и правда не рисковать в таком случае :/ А навязывать себя отдельным магазинам, например, тоже не станешь (хотя некоторые вполне открыты к предложению о размещении рекламы).

А на майнинг у меня тоже антивирус ругался :/ и сайт на тот момент почему-то жутко подвисал (с разных браузеров). Не знаю, правда, связано ли было последнее с майнингом.

Ну, если что (тьфу-тьфу-тьфу), то как и написано в первом сообщении, мы всегда готовы поддержать любимый сайт денежкой *__*
Tamashi1
Tamashi1 (Russia)
31 июл 2019, 13:17:29
5 (5)
Оцени коммент!
Ух, огромное спасибо за то, что так быстро все починили, без Полочки как-то совсем грустно и плохо, даже если просто раз в пару часов проглядываешь, не появились ли обновления. Спасибо за ваш титанический труд, Полка - бесценный сайт для множества коллекционеров, и только благодаря вам мы все можем наслаждаться жизнью на нем, здоровья вам, терпения и всего самого наилучшего!
Katen_Iora
Katen_Iora (Russia)
31 июл 2019, 16:37:53
2 (2)
Оцени коммент!
Как же хорошо, что все починили, и любимая Полочка снова с нами! Спасибо вам огромное!
Выбор позитивного мышления - шаг к позитивным событиям!
Alex_Merc
Alex_Merc (Russia)
31 июл 2019, 17:44:23
4 (4)
Оцени коммент!
С воскрешением)
В самом посте я вообще ничего не понял, ибо абсолютно туп в этой сфере, но очень радует, что после столь масштабной проблемы получилось быстро вернуться в строй. Благодарности за труд и хлопоты)
Плюсую первому сообщению, если надо будет - действительно можно скинуться.
Vallefor
Vallefor (Russia)
31 июл 2019, 20:25:51
4 (4)
Оцени коммент!
Ачивки починил (надеюсь). *_*
MySQL server has gone away
xsize
xsize (Russia)
31 июл 2019, 21:06:11
3 (3)
Оцени коммент!
Увы, но не совсем :( у меня за фигурки отображаются сразу 2 ачивки - и обе не моего "ранга". 800 и 1000, когда по факту их меньше :)
Мне, конечно, не принципиально, но как факт.
Остальные ачивки, кажется, в порядке.
Vallefor
Vallefor (Russia)
31 июл 2019, 21:39:09
4 (4)
Оцени коммент!
Проклятье. Но я близок :(
MySQL server has gone away
xsize
xsize (Russia)
31 июл 2019, 21:49:16
7 (7)
Оцени коммент!
Мы в вас верим Фигурочные почему-то оказались самыми капризными :/
Капец, столько времени на это убить! Нужна специальная ачивка лучшему админу/вебмастеру! *__*
ranpatsu
ranpatsu (Russia)
31 июл 2019, 20:33:27
3 (3)
Оцени коммент!
Слава богу, что все нормализовалось..
Господи, эти сутки были для меня чем-то мучительным.) Не думала, что действительно так буду скучать по полочке. Когда она сломалась у меня прям сердце в пяточки ушло.
norfolk_s3d
norfolk_s3d (Russia)
31 июл 2019, 21:09:37
4 (4)
Оцени коммент!
Ух, ну и приключения *_*
Vallefor
Vallefor (Russia)
01 авг 2019, 07:57:39
11 (11)
Оцени коммент!
Вот теперь я точно поправил ачивки фигурок! *_*
MySQL server has gone away
Usagi_T
Usagi_T (Russia)
06 авг 2019, 09:25:48
2 (2)
Оцени коммент!
Позволите задать вопрос не совсем по теме?
Sgualo
Sgualo (Russia)
01 авг 2019, 09:02:58
4 (4)
Оцени коммент!
Аллелуя *_* Я таки так испугался, что полка легла.. (хотя, по первости я думал, что это опять что-то с моим интернетом -з-), но как же хорошо, что всё починилося :3
Люди меняют свои образы как перчатки, чтобы стать лучше в своих же глазах.
Sawada_Kira
Sawada_Kira (Russia)
01 авг 2019, 13:09:11
3 (3)
Оцени коммент!
Было страшненько и неудобненько без Полки, хорошо, что все починилось :3
RanrielSollh
RanrielSollh (Russia)
02 авг 2019, 07:01:03
2 (2)
Оцени коммент!
Почитала о том, как бэкапится Полочка, очень впечатлилась
Спасение Полочки было эпичным, Вал, ты - ГЕРОЙ!
Santachous
Santachous (Russia)
02 авг 2019, 20:49:01
1 (1)
Оцени коммент!
Я мало что понял, честно. Но знаю только, что это на немецкой раскладке символы y и z меняются местами. Забавно.
Спасибо за восстановление!
-День за днём я бурю. Таков мой путь ниндзя!
Clo
Clo (Russia)
10 авг 2019, 16:08:26
0 (2)
Оцени коммент!
Хорошо что полка на плаву. Спасибо за все!
Напомни мне написать здесь что-нибудь доброе и вечное
Vallefor
Vallefor (Russia)
11 авг 2019, 19:42:56
2 (2)
Оцени коммент!
Проклятье, пост недели!
MySQL server has gone away

Анонимное комментирование отключено.
Авторизуйтесь используя логин и пароль, либо воспользуйтесь одним из сервисов:

Так же вы можете создать новую учетную запись, заполнив форму.

Автор
Полка Профиль Фигурки Аниме Блог Фото Активность Отзывы Магазин
Отправить ПМ