Администратор
В ноябре мы писали о том, что наша техника уже не молода, и сейчас расскажем про нее подробнее, потому что день серьёзного апгрейда настал.
В конце марта многие пользователи столкнулись с проблемой доступа к дневникам, избранному, дискуссиям (им выдавался код ошибки: #1:0). Причина была в том, что вышел из строя один из серверов базы данных, потому были недоступны дневники, располагающиеся на этом сервере, а также избранное с этого сервера. Нам удалось в срочном порядке и без потери данных переключиться на резервный сервер (sql-backup), а сам процесс бэкапа данных временно отключить.
На рисунке ниже показана упрощенная архитектурная схема наших серверов. Некоторые узлы здесь не отображены, поскольку в целях нашей общей с вами безопасности полную схему выкладывать нельзя.
![](http://static.diary.ru/userdir/4/7/3/3/4733/thumb/85638091.jpg)
Что мы имеем.
У нас четыре сервера баз данных: sql-main, sql-1, sql-2, sql-3 и резервный sql-backup, на котором 1) ежедневно, 2) еженедельно, 3) ежемесячно и 4) один раз в полгода создаются резервные копии базы данных — каждая из этих копий периодически требуется для восстановления базы данных после каких-нибудь сбоев.
Ночью 27 марта из строя вышел совсем старый сервер sql-1 (и сейчас его заменяет sql-backup). Два других сервера базы данных — sql-2 и sql-3 — такие же старые и могут рухнуть в любой момент.
1. Диски в них — древние SCSI, стоят неоправданно дорого, так как производятся малыми партиями.
2. Купить новые диски и вставить в старые сервера нельзя.
3. Покупать дорогие SCSI и вставлять их в старые маломощные сервера, в которых к тому же в любой момент может выйти из строя память, процессор и другие части, не имеет никакого смысла, ибо через полгода-год придется все это выбрасывать и покупать новый сервер.
4. Сервер sql-backup — это, если помните, четырехлетний относительно свежий (бывший сервер "Юга.ру", который мы освободили после переноса Югов в облако) с новыми дисками, которые мы с вами купили осенью.
5. sql-main — еще бодрый сервер с достаточно прочной дисковой системой SAS, мы покупали его для Дайри лет 5-6 назад.
Тщательно взвесив все за и против, в очередной раз рассмотрев дорогой для нас вариант перехода в облако (аренда по нашим запросам стоит ~350 тыс. рублей в месяц), мы пришли к выводу, что оптимальным решением будет покупка двух новых мощных серверов по 250 тыс. руб. каждый, которые с большим запасом заменят нам три старейших сервера базы данных: sql-1, sql-2, sql-3, а если в будущем выйдет из строя sql-main, то и его тоже.
В итоге:
— sql-1 будет лежать на складе, пригодный только на запчасти,
— по sql-2, sql-3 проведем ревизию и будем использовать для разработки и целей системного администратора.
Серверам be-2, be-3, be-4 тоже по 11 лет, be-5, be-6 посвежее (~6 лет). Выход одного из них не остановит работу сайта, его нагрузка перераспределится между остальными, как это было в свое время с умершим be-1.
Сервер userdir (это второй "юговский" сервер с купленными осенью новыми дисками) хранит и выдает "статику" — картинки и стили с адресом static.diary.ru.
Есть еще сервер fe-1 и не показанный в схеме сервер общего назначения. Они также не молоды, но работают надежно, с нагрузкой справляются и... дай бог им здоровья, в общем.
В новые сервера мы ставим не самые производительные процессоры, так как вычислительная мощность для баз данных — не главное, зато важны скорость дисков и размер оперативной памяти. Вот что мы покупаем за 503 тыс. руб,
![](http://static.diary.ru/userdir/4/7/3/3/4733/thumb/85638508.png)
Мы уверены, что после запуска новых серверов Дневники станут работать быстрее и надежнее.
Если у вас есть какие-то вопросы, пожалуйста, задавайте их в комментариях.
В конце марта многие пользователи столкнулись с проблемой доступа к дневникам, избранному, дискуссиям (им выдавался код ошибки: #1:0). Причина была в том, что вышел из строя один из серверов базы данных, потому были недоступны дневники, располагающиеся на этом сервере, а также избранное с этого сервера. Нам удалось в срочном порядке и без потери данных переключиться на резервный сервер (sql-backup), а сам процесс бэкапа данных временно отключить.
На рисунке ниже показана упрощенная архитектурная схема наших серверов. Некоторые узлы здесь не отображены, поскольку в целях нашей общей с вами безопасности полную схему выкладывать нельзя.
![](http://static.diary.ru/userdir/4/7/3/3/4733/thumb/85638091.jpg)
Что мы имеем.
У нас четыре сервера баз данных: sql-main, sql-1, sql-2, sql-3 и резервный sql-backup, на котором 1) ежедневно, 2) еженедельно, 3) ежемесячно и 4) один раз в полгода создаются резервные копии базы данных — каждая из этих копий периодически требуется для восстановления базы данных после каких-нибудь сбоев.
Ночью 27 марта из строя вышел совсем старый сервер sql-1 (и сейчас его заменяет sql-backup). Два других сервера базы данных — sql-2 и sql-3 — такие же старые и могут рухнуть в любой момент.
1. Диски в них — древние SCSI, стоят неоправданно дорого, так как производятся малыми партиями.
2. Купить новые диски и вставить в старые сервера нельзя.
3. Покупать дорогие SCSI и вставлять их в старые маломощные сервера, в которых к тому же в любой момент может выйти из строя память, процессор и другие части, не имеет никакого смысла, ибо через полгода-год придется все это выбрасывать и покупать новый сервер.
4. Сервер sql-backup — это, если помните, четырехлетний относительно свежий (бывший сервер "Юга.ру", который мы освободили после переноса Югов в облако) с новыми дисками, которые мы с вами купили осенью.
5. sql-main — еще бодрый сервер с достаточно прочной дисковой системой SAS, мы покупали его для Дайри лет 5-6 назад.
Тщательно взвесив все за и против, в очередной раз рассмотрев дорогой для нас вариант перехода в облако (аренда по нашим запросам стоит ~350 тыс. рублей в месяц), мы пришли к выводу, что оптимальным решением будет покупка двух новых мощных серверов по 250 тыс. руб. каждый, которые с большим запасом заменят нам три старейших сервера базы данных: sql-1, sql-2, sql-3, а если в будущем выйдет из строя sql-main, то и его тоже.
В итоге:
— sql-1 будет лежать на складе, пригодный только на запчасти,
— по sql-2, sql-3 проведем ревизию и будем использовать для разработки и целей системного администратора.
Серверам be-2, be-3, be-4 тоже по 11 лет, be-5, be-6 посвежее (~6 лет). Выход одного из них не остановит работу сайта, его нагрузка перераспределится между остальными, как это было в свое время с умершим be-1.
Сервер userdir (это второй "юговский" сервер с купленными осенью новыми дисками) хранит и выдает "статику" — картинки и стили с адресом static.diary.ru.
Есть еще сервер fe-1 и не показанный в схеме сервер общего назначения. Они также не молоды, но работают надежно, с нагрузкой справляются и... дай бог им здоровья, в общем.
В новые сервера мы ставим не самые производительные процессоры, так как вычислительная мощность для баз данных — не главное, зато важны скорость дисков и размер оперативной памяти. Вот что мы покупаем за 503 тыс. руб,
![](http://static.diary.ru/userdir/4/7/3/3/4733/thumb/85638502.png)
![](http://static.diary.ru/userdir/4/7/3/3/4733/thumb/85638508.png)
Мы уверены, что после запуска новых серверов Дневники станут работать быстрее и надежнее.
Если у вас есть какие-то вопросы, пожалуйста, задавайте их в комментариях.
06.04.2018 в 13:05
06.04.2018 в 13:07
Интерес профессиональный, как от инженера по производительности. Мы просто наоборот перебрасываем старые проекты в облако по возможности, потому что в общем и целом это выходит сильно дешевле, чем самим хостить, админить и поддерживать железо в рабочем состоянии.
06.04.2018 в 14:19
У нас сейчас используется два типа сертификатов, первый от CloudFlare, второй wildcard-сертификат от LetsEncrypt. Сертификационные центры этих сертификатов считаются надёжными в современных браузерах. https обеспечивает шифрование между пользовательским браузером и серверами, т.е. никто по пути данные не сможет перехватить.
Гегемон, что вы имеете ввиду под "защищённым сертификатом"?
06.04.2018 в 15:23
06.04.2018 в 21:38
07.04.2018 в 15:40
Спасибо Вам за эти сведения -когда узнаёшь, что происходит, и как с этим справляются, жить становиться спокойней и легче -спасибо за заботу о нас.
08.04.2018 в 19:14
09.04.2018 в 02:29
Вообще говоря, может и стоит. Потому что параллельно всем этим работам - в очереди стоят тыщи дневников и ночами грузят сервера ...созданием монстров. Которые по сути ни на что не применимы - в силу своей чудовищности, и всё равно будут впоследствии заменены нормальными бэкапами. Если или когда они будут переделаны. Может быть, лучше действительно всё отложить, объявить о временной отмене архивации до ее переделки (это сразу снимет часть нагрузки). Ударными темпами сделать новую систему архивации. Выдать новые нормальные архивы всем стоявшим в очереди перед перерывом. Выдохнуть - и заняться всеми остальными запланированными работами.
Чисто как вариант ). Он бы снял этот постоянный фоновый прессинг. Мне представляется такая огромная чугунная гиря на ноге, которая тормозит все движения. Было бы неплохо остановиться и перепилить цепь - пусть это займет время, силы, и в период пиления ничего другого нельзя будет делать... зато потом - можно хоть танцевать, хоть в баскетбол, хоть на велосипеде! )))
Сразу прошу прощения, если идея несвоевременная и противоречит планам администрации. Меня просто эта мысль давно погладывает
10.04.2018 в 04:01
Он ведет Дайри последние 10 или 13 лет, уже не помню точно.
Я ему доверяю в этих вопросах больше, чем себе. Если у кого-то из пользователей есть вопросы или претензии по хостингу или архитектуре системы, пожалуйста, задавайте здесь. Он на все ответит.
10.04.2018 в 04:02
10.04.2018 в 04:05
10.04.2018 в 04:34
Но конечно, старым проектам сложно переезжать. Там надо и код переписывать, и инфраструктуру переделывать, чтоб реально экономить.
10.04.2018 в 04:54
Я этого даже не могу представить. Это полностью рвет шаблон.
Ему выгоднее было купить кусок земли в Австралии, построить и оборудовать свой дата-центр!
BaHbka
10.04.2018 в 06:00
13.04.2018 в 00:50
13.04.2018 в 01:45
15.04.2018 в 15:16
18.04.2018 в 02:33
Однако, сервера мы все еще не получили. Обещают выдать в конце текущей недели.
Они их собрали и тестируют, гоняют по-максимуму, чтобы под нагрузкой выловить тухлую детальку и заменить ее до того как отдадут нам. Возможно, что-нибудь уже выявили и заменили, так как срок уже получается втрое больше обычного.
08.05.2018 в 14:45
Как там успехи?
08.05.2018 в 14:48
Сервера получили, установили в дата-центр, сейчас настраиваем и скорее всего в эту субботу-воскресенье будем переезжать.
13.05.2018 в 06:33
Ну, с переездом нас? Пока вроде даже летает и без постоянной выдачи 51 ошибки, но сейчас раннее утро, посмотрим как при большей нагрузке пойдут дела.
Ура =)
13.05.2018 в 09:30
Ура =)
Сейчас переехала лишь та часть, которая была на вышедшем из строя сервере, и она действительно летает как ракета на новом сервере
13.05.2018 в 09:35
отличная новость. )
13.05.2018 в 22:42
13.05.2018 в 22:51
13.05.2018 в 22:55
13.05.2018 в 23:04
18.07.2018 в 07:21