Pull to refresh
58.98
Rating
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

Модернизация оперативного дата-центра

1cloud.ru corporate blog System administration *Server Administration *Data storage *Data storages *
В нашем блоге мы много пишем о построении облачного сервиса 1cloud (например, о реализации функции управления дисковым пространством сервера на лету), но немало интересного можно почерпнуть и из опыта по работе с инфраструктурой других компаний.

Мы уже рассказывали о дата-центре фотосервиса imgix, описывали историю поиска проблем с SSD-дисками проекта Algolia, а сегодня поговорим о модернизации дата-центра Stack Exchange.


/ фото Dennis van Zuijlekom CC

Stack Exchange Network — сеть вебсайтов тематики Q&A по самым разным областям знаний. Первый сайт сети был запущен в 2008 году, а уже в 2012 году сеть выросла до 90 разделов и 2 миллионов пользователей. Среди социальных функций доступно голосование за вопросы и ответы, а редактировать контент возможно в вики-режиме. Одной из самых популярных площадок является Stack Overflow, которая закрывает технологические тематики и вопросы по разработке и программированию.

Базовая инфраструктура компании расположена в Нью-Йорке и Нью-Джерси, а в силу общего подхода к обменом опытом компания решила рассказать о том, как инженеры модернизировали свой дата-центр и перевели его из Нью-Йорка.

Решение по обновлению оборудования было принято в штаб-квартире в Денвере. На той встрече был определен оптимальный жизненный цикл аппаратной части (примерно 4 года). Эта цифра основана на опыте эксплуатации самого первого комплекта, который как раз превысил отметку в 4 года работы. Конечно, принять решение помогли и привлеченные инвестиции.

Подготовка плана заняла три дня. Начало обновления совпало с предупреждением о снегопаде, но команда решила продолжить работу. Перед тем, как начать апгрейд, инженеры решили важную задачу с серверами Redis, занятыми объявлениями Targeted Job. Эти машины изначально управлялась Cassandra, а затем Elasticsearch.

Для этих систем были заказаны жесткие диски Samsung 840 Pro, которые, как выяснилось, имеют серьёзный баг в прошивке. Из-за этого бага копирование с сервера на сервер в дублированной 10-гигабитной сети производилось бы на скорости 12 МБ/сек, но было решено обновить прошивку. Когда процесс был запущен, он шел в фоновом режиме, параллельно с другой работой (поскольку для перестроения массива RAID10 с данными на борту требуется несколько десятков минут, даже если используется диск SSD). В результате удалось увеличить скорость копирования файлов до 100-200 Мбайт/сек.

В серверной стойке С планировалось заменить подключение SFP+ 10 Гбит с шириной внешнего канала 1 Гбит на интерфейс 10GBASE-T (разъем RJ45). Это делалось по нескольким причинам: кабель, используемый для SFP+, называется твинаксиальным: его очень сложно прокладывать и непросто напрямую подключить к дочерним картам серверов Dell. Также, SFP+ FEX не позволяют подключать устройства стандарта 10GBASE-T, которые могут появиться позднее (именно в этой стойке их нет, но они могут быть в других, например, в распределителе нагрузки).

В планах было упростить конфигурацию сети, уменьшить количество кабелей и количество элементов в целом, при этом сэкономив 4U свободного пространства. В ходе работ было необходимо поддерживать функционирование KVM, которые временно переместили. Далее SFP+ FEX был спущен вниз для того, чтобы установить новые 10GBASE-T FEX на свое место. Принцип работы технологии FEX позволяет нам выделить от 1 до 8 uplink портов для каждого коммутатора. В ходе апгрейда схема подключения будет изменяться следующим образом: 8/0 -> 4/4 -> 0/8.

Старые виртуальные серверы было решено заменить двумя шасси Dell PowerEdge FX2 (с двумя блейд-серверами FC630 каждый). Блейд-сервер имеет два 18-ядерных процессора Intel E5-2698v3 и 768 Гбайт оперативной памяти. Каждый аппаратный блок обладает uplink-портами со скоростью передачи 80 Гбит/с и четырьмя двухканальными 10-гигабитными модулями ввода/вывода. Агрегаторы ввода/вывода, по своей сути, являются полными коммутаторами с четырьмя внешними и восемью внутренними портами на 10 Гбит/с (по два на блейд-сервер).

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

Далее новый блок СХД EqualLogic PS6210 заменил старый PS6200 с двадцатью четырьмя 10k HDD на 900 Гбайт и трансиверами SFP+. Более новая версия поддерживает стандарт 10GBASE-T и содержит двадцать четыре 10k HDD на 1,2 Тбайт, то есть работает быстрее, обладает большим дисковым пространством и способностью подключаться/отключаться к/от СХД. Наряду с новой СХД был установлен новый сервер NY-LOGSQL01, который заменил устаревший Dell R510. Место, освобождённое из-под хостов виртуальных машин, дало возможность установить новый файловый сервер и сервер поддержки.

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

Когда все виртуальные машины заработали, СХД была настроена, а несколько проводов были выдраны, часы показывали 9:30 утра вторника. Второй день начался со сборки веб-серверов: апгрейд R620, заменя четырех гигабитных дочерних плат на две 10-гигабитные и две гигабитные.

На данном этапе оставались подключенными только старая СХД и старое сетевое хранилище для SQL R510, но тут возникли определенные трудности с установкой третьей PCIe-карты на сервер бэкапа. Все встало из-за ленточного накопителя, которому требовался еще один SAS-контроллер, о котором просто забыли.

Новый план включал в себя использование имевшихся 10-гигабитных сетевых дочерних карт (NDC), удаление адаптера PCIe SFP+ и замену его новым 12-гигабитным SAS-контроллером. Для этого потребовалось самостоятельно изготавливать замену монтажного кронштейна из кусков металла (карты поставляются без кронштейнов). Далее было решено поменять местами последние два блока SFP+ в стойке С с бэкап-сервером (включая новую DAS MD1400).

Последним элементом, который занял свое место на стойке С, был NY-GIT02 – новый сервер Gitlab и TeamCity. Далее следовал длительный процесс cable management'а, которым пришлось заниматься практически всем (и по отношению к уже ранее подключенному оборудованию). После завершения работы над двумя веб-серверами, укладки кабелей и удаления сетевой аппаратуры, часы показывали 8:30 утра.

На третий день команда вернулась в дата-центр около 5 часов вечера. Оставалось заменить серверы Redis и «сервис-серверы» (сервер для реализации tag engine, сервер индексирования ElasticSearch и другие). Одним из боксов, предназначенных для tag engine, был уже известный R620, получивший обновление до 10 Гбит чуть ранее, поэтому сейчас его не трогали.

Процесс перестроения массива выглядел следующим образом: развернуть из образа Windows 2012 R2, установить обновления и DSC, а затем специализированное ПО через скрипты. StackServer (с точки зрения сисадмина) – это просто оконный сервис, а билд TeamCity управляет установкой – для этого есть специальный флаг. Эти боксы также имеют небольшие экземпляры IIS для внутренних сервисов, которые являются простой надстройкой. Последней их задачей является организация общего доступа к DFS хранилищу.

Старое решение для веб-серверов Dell R610 с двумя процессорами Intel E5640 и 48 Гбайт оперативной памяти (обновлявшееся с течением времени) сменилось новым, имеющим два процессора Intel 2678W v3 и 64 Гбайт памяти DDR4.

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

Весь фотоотчет

Стрим #SnowOps в Twitter

Апгрейды оборудования таких масштабов не проходят без проблем. Аналогично ситуации 2010 года, когда были обновлены сервера базы данных, а повышение производительности оказалось не таким, каким его хотелось бы видеть, был обнаружен баг с системой с BIOS версий 1.0.4/1.1.4 (где просто не учитываются настройки производительности).

Другие вопросы включали в себя проблему при выполнении скриптов настройки DSC, запуск «голого» сервера с IIS, перемещение дисков из RAID-массива R610 в R630 (появление запроса загрузки через PXE) и так далее. Помимо этого выяснилось, что массивы DAS Dell MD1400 (13 поколения и 12Гбит/с) не поддерживают подключение к серверам 12 поколения, например, к бэкап-серверу R620, а диагностика аппаратного обеспечения Dell не затрагивает блоки питания. Кстати, подтвердилась гипотеза о том, что достаточно проблематично перевернуть открытый вверх ногами веб-сервер, когда из него выкручены несколько важных элементов.

В итоге команде удалось уменьшить время обработки страницы приблизительно с 30-35 до 10-15 мс, но по их словам – это лишь маленькая верхушка айсберга.

P.S. Мы стараемся не только опытом работы над сервисом по предоставлению виртуальной инфраструктуры 1cloud, но и опытом западных экспертов в нашем блоге на Хабре. Не забывайте подписываться на обновления, друзья!
Tags:
Hubs:
Total votes 22: ↑21 and ↓1 +20
Views 14K
Comments Comments 1

Information

Founded
Location
Россия
Website
1cloud.ru
Employees
31–50 employees
Registered