Завершение обновления серверной инфраструктуры
Уважаемые игроки, полагаю, что за последний месяц я утомил вас чередой технических работ на наших серверах. Знали бы вы, как они утомили меня... Об этом я сейчас и постараюсь рассказать в технических подробностях. Для тех, кому они не особо интересны, достаточно знать, что сервер, на котором расположен Tirion, перенесен на новую платформу, управляемую и более производительную, а база данных теперь работает на рейде из NVMe дисков и выдает 2 300 мегабайт линейного чтения и 750 мегабайт записи. В совокупности с некоторыми оптимизациями кода, по результатам работ серверная задержка была существенно снижена, а скачки диффа практически полностью нивелированы.
История одного (двух) апгрейда
Последние лет 8 основной сервер проекта работал на десткопной (домашней) платформе не особо для этой работы предназначенной. Причин тому было несколько, но основная - в те незапамятные времена код ядра был плохо оптимизирован и требовал высокой производительности (частоты) на каждом из ядер процессора, решения с большим количеством потоков работали плохо. Поэтому было принято решение собрать проект на процессоре i7-3960X 3.30GHz (экстрим версия) - по тем временам довольно дорогая железка (тысяч 40), но весьма производительная. Верой и правдой он отслужил много лет, за эти годы в нем трижды дох блок питания и несколько раз умирали SSD диски: минимум один раз системный и дважды под раздел проектов. Главные проблемы десткопной машины в серверной - отсутствие модулей удаленного управления и памяти ECC Registred, умеющей самостоятельно исправлять ошибки. И если проблема памяти не настолько критичная, то вот без удаленного управления машиной жилось весьма тяжело.
Для тех кому интересно, в серверных решениях есть возможность заходить через веб-интерфейс (настроенный через BIOS) и удаленно управлять настройками машины, запускать ее консоль даже в состоянии, когда она зависла физически или крашнулась ее ОС. Выглядит это примерно вот так:
Обновление платформы основного сервера
В связи с карантином и наплывом игроков я решил, что пора привести в порядок инфраструктуру и обновить ключевой сервер. Сколько стоят современные решения можете поискать сами, цены убегают далеко не за одну сотню тысяч. Поэтому у надежного поставщика была приобретена подержанная платформа из европейского ДЦ - Dell R620 с двумя процами E5-2643 v2 3.50GHz и 64Gb памяти. Что бы не трогать рабочий сервер и лишний раз не дергать пользователей было куплено три SSD от Samsung (под систему, под проекты и их логи, и отдельный диск на 500GB под кор-дампы, формирующиеся при падениях ядра). Вообще, за последний год у меня собралась уже целая коллекция из дисков, установленных в те или иные серверы проекта:
Да, железо не первой свежести, но под наши задачи его за глаза, плюс стоимость апгрейда уложилась примерно в 100 000 рублей с учетом дисков. Работая второй десяток лет с платформами Intel мы были приятно удивлены решением от Dell, начиная от внешнего вида, дисплея с настраиваемым текстом на торце и заканчивая iDRAC - интерфейсом удаленного управления, детально продуманным и очень удобным в эксплуатации. Само состояние сервера в техническом плане идеальное. Несколько фотографий платформы:
Платформа была установлена и подключена, после чего на нее был установлен свежий Debian 10, собран игровой мир, настроены скрипты для синхронизации логов со старым сервером. Миграция с одного сервера на другой заняла для вас минут 10 времени, я же на это потратил несколько дней. В итоге мы получили управляемый сервер с двумя процами уровнем выше чем наш старенький 3960x. Но на этом я решил не останавливаться.
Обновление дисковой подсистемы сервера базы данных
База данных уже много лет работала на платформе Intel S2600GZ, процессоре E5-2680 v2 2.80GHz и рейде из 4-ех SSD дисков на контроллере Adaptec. В свое время собрать ее стоило порядка 200 тысяч. И в целом все работало неплохо, но с массивом дисков были какие-то странные проблемы. Если вы помните, то в сентябре 2019 на наших мира довольно знатно колбасился дифф, плюс в рейде дважды отваливался диск по непонятным причинам. Тогда я решил это обновлением прошивки контроллера, но сама суть проблем осталась неизвестна. На дворе 2020 год, NVMe пришли в массы. Раз уж обновлять дисковую подсистему, то на M.2 диски. База данных - требовательная штука, особенно к записи, но и чтение в районе двух гигабайт не помешало бы. Сказано - сделано. В платформе, собранной году этак в 13-14, естественно, нет слотов под M.2, но это ведь не проблема? Берем PCI-E Адаптер от ASUS, парочку V-NAND 970 PRO SSD и заводимся? Звучит как план, минус 30 тысяч и железки готовы к установке.
В платформу установлен один процессор - E5-2680 v2 2.80GHz, в свое время он покупался для того, что бы запустить на нем игровые миры; он стоил бешенные 65 тысяч, но плохо оптимизированный код (о котором говорилось выше) не потянул, после чего на платформе и была собрала база данных, а миры так и остались на старом сервере. Так вот, процессор там один, а PCI-E линии - две, в одной из них стоит ADAPTEC и прекрасно работает, вставляем адаптер во второй иииии...? Ничего подобного, линии разделены на каждый из сокетов, нихрена не работает - GG, ночь пропала, апгрейд не удался. Забавно, что предварительно адаптер со стареньким NVMe M.2 тестировался на платформе, на которой размещен хостинг (она идентичная за исключением того, что 2U,а не 1) и там стоит 2 процессора... С учетом процедуры обновления BIOS`а - еще одна ночь.
Проц в свое время стоивший 65, сейчас у тех же ребят, что продали платформу, стоит 18. Суббота, звоню, договариваемся - забираю из офиса. Очередная ночь. Вставляем камень, отменно смазав его термопастой MX-4, с первого раза правильно раскидываем память - стартует, 20 ядер 40 потоков, круто.
И даже адаптер заводится, но технология разделения PCI-E шины появилась примерно в 2017 году и платформа видит только 1-ый слот адаптера, а дисков в нем стоит два. Так как запускать базу данных без резервирования - абсолютно идиотсткая идея - очередная ночь потеряна, GG, расходимся.
Потрачено уже достаточно много денег и очень много времени, не бросать же все в таком состоянии? Как решить проблему? Правильно, берем еще один такой же PCI-E - M.2 адаптер от ASUS , заодно и диск под новую ОС, 6-ой CentOS морально устарел.
Еще одна бессонная ночь. Резервируем файлы базы данных, вытаскиваем Adaptec, вставляем две новых платы с диском в каждой:
Ура, платформа видит оба NVMe диска, создаем RAID1, запускаем базу данных - работает!
Дело осталось за малым: устанавливаем Debian 10, настраиваем сервисы и включаем миры в работу. Победа!
Как я и говорил в самом начале - стабильная работа и снижение серверной задержки. Немного жаль потраченного времени и 7 бессонных ночей, но результатами я крайне доволен. Спасибо тем, кто прочел данную статью, тем же кто из нее что-то понял - отдельное уважение.
Технические работы 09.06.2020 01-30...
Уважаемые игроки, магистральный провайдер уведомил нас о проведении технических работ:
Дабы не дергать вас дважды, было решено одновременно с работами на аплинке завершить все что мы задумали на сервере базы данных, оборудование под замену лежит уже неделю. Поэтому:
В ночь со понедельника на вторник, 09.06.2020, в промежутке с 1:30 до 9:00 МСК все серверы нашего проекта будут частично или полностью недоступны. Приносим извинения за доставленные неудобства.
Обновление от 06:00: Все запланированные технические работы завершены, как на нашей стороне так и на стороне магистрального провайдера, приятной игры.
Завершение #16 сезона арены, технические работы
Уважаемые игроки, в 23-30 будет начислен последний АП текущего сезона. В 00-30 Серверы будут перезагружены для запуска нового. Около 1-30 на сервере БД начнутся еще одни технические работы по замене оборудования, примерная продолжительность 1-1.5 часа. Приносим извинения за доставленные неудобства.
Обновление от 4-00 МСК. Технические работы завершены, к сожалению, удалось сделать не все что было запланировано, из-за некоторых технических аспектов понадобилось докупить еще немного оборудования. Частичный апгрейд базы данных произведен, но технические работы придется повторить еще раз, надеемся последний.
Технические работы по обслуживанию базы данных
Уважаемые игроки, в ночь с пятницы на субботу (сегодня), около 1-30 МСК будут проводиться технические работы по обслуживанию базы данных. Примерная продолжительность 2 часа. Во время работ все сервисы и миры будут недоступны. Дополнительная информация и инсайдерские фотки будут опубликованы в нашем Discord канале, подписывайтесь. Спасибо за внимание.
Продолжительность в таких процессах вопрос открытый, нельзя исключить вероятности что все наши серверы будут отключены до 6-7 утра вторника (19 мая). Мы, конечно, постараемся сделать все максимально быстро, но убедительно просим вас не планировать на этот промежуток времени никаких мероприятий - целее будут нервы и ваше душевное спокойствие. Спасибо за внимание, не болейте.
Обновление 5-00 МСК 21 Мая. Технические работы были планово проведены, навели порядок с питанием (разбросали по разным бесперебойникам), часть серверов сняли, продули, почистили, разобрались наконец с удаленным управлением и воткнули козырные патч-корды (ПОДПИСАННЫЕ!!!). Кроме того, была установлена новая серверная платформа под Tirion, в ближайшие дни перенесем х2 туда. В общем, работы прошли продуктивно. На следующей неделе планируем заняться сервером базы данных, детальней расскажу позднее.
С днем победы...
Уважаемые игроки, не смотря на все тяготы свалившиеся на нашу страну, да и на весь цивилизованный мир - 9 мая никто не отменял. Да, придется провести его по-новому, в необычном формате - сидя дома на диване. Впрочем, к дивану многие наверное уже привыкли за прошедшие два месяца, таким нас не сломить! Сердечно поздравляем вас с великой годовщиной 75-летия Победы в Великой Отечественной войне, просим оставаться дома и желаем не болеть. Ура, товарищи!
Список обновлений 20.10.2015 - 26.10.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.
Список обновлений 13.10.2015 - 19.10.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.
Список обновлений 06.10.2015 - 12.10.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.
Список обновлений 29.09.2015 - 05.10.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.
Список обновлений 22.09.2015 - 28.09.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.
Список обновлений 15.09.2015 - 21.09.2015 WotLK
Список изменений сервера
Wrath of the Lich King
Уважаемые игроки, представляем вашему вниманию список изменений, правок и обновлений, произошедших на сервере за последнее время.