Тележка, витая пара, три свитча: как я перевозил сервер с нулевым даунтаймом

Автор оригинала: Reddit
  • Перевод

Самое тупое, что я делал за всю свою жизнь.

Один из моих клиентов купил новое офисное помещение в том же бизнес-комплексе и захотел, чтобы его сервер виртуального хостинга (7 виртуальных машин Windows) переместили в новую «серверную». Сначала я подумал: «Отлично! Быстро управлюсь. Просто отключу всё, сниму, пронумерую, упакую накопители, перетащу, а затем соберу, как было. Займёт максимум пару часов».

(Вчера)

Не-а… Я начал излагать свой план владельцу, и он прервал меня на первом же шаге:

Владелец: Постойте, нельзя ничего отключать. Наши клиенты заходят на сервер весь день.

Я: Вы не сообщили им о плановом техобслуживании, как мы договаривались в пятницу?

В: Нет, у нас не может быть никакого даунтайма.

Я: Придётся потерпеть даунтайм.

В: Если он будет, я вам не заплачу.

Я: Ладно, есть другой способ, но потребуется примерно 5 минут даунтайма. Мы можем поднять новый виртуальный хост в новом месте и провести миграцию через временный VPN.

В: Ни за что! Никакого даунтайма!

Я: Ладно, до свидания.

Несколько часов спустя мне позвонил друг и сказал: «У меня клиент, которому нужно перевезти сервер. Он сказал, что его ИТ занимаешься ты, но на этот раз отказался?»

Я рассказал ему историю и мы договорились о плане, который позволит перевезти сервер и хорошо заработать нам обоим.

(Сегодня)

Мы встретились с другом в офисе и приступили к работе. От шкафа до новой «серверной» примерно 215 метров, поэтому мы взяли 3 бухты кабеля cat6 и 3 коммутатора. Мы подключили коммутаторы в своих грузовиках на парковке и соединили их кабелем cat6.

После необходимых обновлений DNS для внешних сервисов и успешной настройки нового фаервола настроили две сетевые платы на сервере на случай аварийного переключения и подключили кабель cat6 с парковки. Отключив кабель сервера и немного потестировав соединение, мы убедились, что даунтайма нет.

Затем мы отключили один из двух блоков питания и подключили его к монтируемым в стойку UPS, которые находились на тележке. Снова никакого даунтайма.

Затем мы отключили ещё один блок питания и очень аккуратно поставили работающий сервер на тележку. Подключили второй блок питания во второй UPS, тоже стоявший на тележке.

Дальше началось самое интересное. Потребовалось чуть больше двух часов на аккуратную перевозку сервера в новое офисное пространство. По дороге мы меняли настройки аварийного переключения сетевых карт на каждом коммутаторе.

В новом офисе мы успешно снова всё собрали. Протестировали и убедились, что даунтайм нулевой.

Друг выставил клиенту счёт за 4,5 часа работы, 2 часа консультирования и 4,5 часа помощи консультанта (мою).

Вопросы и ответы


В: Вы ведь откажетесь от этого клиента?

О: Это уж точно! Как только мне заплатят, я расторгну договор. Или, может быть, когда мне заплатят за замену HDD на новые 2-терабайтные Seagate по 400 долларов…

В: Почему вы не использовали vMotion или Live Migrations?

О: Это был сервер Hyper-V с 2012r2. И я, и мой друг имели дело с Hyper-V начиная с 2003 года, и множество раз предпринимали попытки Live Migrations. Впервые у меня получилось реализовать Live Migration без даунтайма в 2019 году. Так как мы не могли в здравом уме гарантировать такой абсурдный аптайм, то отказались от этой идеи. Однако я всё-таки попробую теперь Live Migrations в своей домашней лаборатории.

В: Почему бы не проложить через всю парковку очень длинный оптоволоконный кабель?

О: Самое длинное оптоволокно, которое у нас было, имело длину всего около 45 метров. Мы работали с тем, что есть.

В: Как насчёт AirFiber или внешних точек доступа?

О: Ни того, ни другого у нас не было.

В: Какой счёт вы выставили?

О: Общая сумма составила чуть меньше 17 тысяч долларов. Мы взяли 5 тысяч авансом и поставили свой утроенный почасовой ценник.

В: RAID состоял из SSD?

О: Нет… Пока жду завершения сканирования дисков, чтобы оценить возможный ущерб.

В: Были ли какие-нибудь сбои системы?

О: Пока нет.

В: Это была какая-то халтура? Если да, то зачем браться за такой головняк?

О: Да. Однако мне осталось найти всего 3-4 постоянных клиента, чтобы сделать свою повседневную работу подработкой. Поэтому, хотя я изначально отказался от этой работы, позже решил помочь другу, потому что оба пытаемся перейти на такой режим.

В: Кто-нибудь получал доступ к серверу во время его перемещения?

О: Да, судя по логам веб-сервера, доступ получало примерно 2200 уникальных IP-адресов примерно с 30000 запросов. Три сотрудника, работавшие в то время (несмотря на то, что мы рекомендовали этого не делать), сказали, что у каждого было открыто с файлового сервера от 5 до 8 файлов.

В: Что если бы всё пошло наперекосяк?

О: Оставили бы перевёрнутую тележку на парковке и пошли домой… А если серьёзно, то мы проверили, что резервные копии сделаны и готовы к замене за считанные минуты. Если бы это произошло, мы бы справились. Во время переноса сервера мы потратили много времени на обдумывание.

В: Почему бы не взять временный сервер и не выполнить миграцию между двумя машинами?

О: По прошлому опыту нет гарантий отсутствия даунтайма.

В: Почему сервер нужно было перевозить сейчас?

О: Истекал срок аренды в другом здании и «из-за независящих от него обстоятельств» клиенту нужно было переезжать вчера.

Средняя зарплата в IT

120 000 ₽/мес.
Средняя зарплата по всем IT-специализациям на основании 9 370 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
Реклама
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

Комментарии 71

    +4
    17 тыс., деньги конечно хорошие, но другое интересно. Никакого даунтайма и 1 сервер? Кажется автор стал жертвой какого-то пари.
      +3
      В русскую рулетку играют
      0

      Я не ослышался, два часа сервер висел на упсах? Или упсы во время транспортировки подзаряжались от попадающихся на дороге розеток? PS: амортизатора не хватает в описаниях, не думаю, что сервер ехал неподрессоренным. И ещё не раскрыта тема смены этажей — на лифте подключенный по витой паре сервер переехать не может. А так вполне кулстори.

        0
        Ну, два часа для одного сервера — это не так уж и много с нормальным ИБП.
          0

          А нормальный ИБП это сколько? 10кВА или больше? Просто по мне сервер жрет от 300 Вт, тем более под нагрузкой, даже если она была меньше обычной, плюс это сервер с жесткими дисками, которые крутятся и тоже жрут, неясно, сколько их было, но похоже, отдельной полки с дисками не было, и то хорошо. Но если у них был 10кВА ИБП — да, наверно, могли и обеспечить бесперебойное питание на все два часа без плясок с силовыми проводами.

            0
            Из личного опыта — штук 5 супермикр + штук шесть единиц сетевого железа + АТС живут час на старом комплекте 2U ИБП Smart-UPS RT 5000 XL + 2U Battery Pack к нему. Один сервер без прочего барахла на новом ИБП подобном проживёт прекрасно и больше двух часов.
              0

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

                0

                В статье говорится, что упсов было 2. Вместе с сервером тележка уже далеко за 50 кило получается...
                А ведь её, судя по всему, тащили по лестницам 2 парня...

                Даже представлять эту картину страшно...

                  +1
                  Вопрос во всю эту ветку комментариев: а лестница/лифт вообще были? Судя по тексту, что во всех перемещениях были задействованы грузовики с парковки, по-моему речь о какой-то этажности вообще не идёт.
                    0

                    Хмм... Ну да - в статье не говорится, что это за здания были... Вполне возможно, что и датацентр какой. А там всё на первом этаже находится + есть спец. подъёмники для загрузки крупных грузов с улицы или из грузовиков...

                    Но тогда непонятно, что это за хостеры такие - в 200 метрах друг от друга? (Конкуренция? Не, не слышали?)

                      0

                      Но тогда непонятно, что это за хостеры такие - в 200 метрах друг от друга? (Конкуренция? Не, не слышали?)

                      Чем 200 метров мешает конкуренции?

                      Из киевской практики что я лично видел: ТУМС - 3-4 провайдера в одном здании, периодически то мирились с протягиванием пиринговых шнурков друг к другу, то выключали их; когда погнали с ТУМСа - переехали через стену к биохимикам (оккупировав в итоге два корпуса полностью, куда забегали в гости белые мыши с электродами в голове), создав попутно UA-IX - и там конкуренты просто в соседних стойках могли стоять; новая точка на Гайдара, где 2-3 этажа сдавались в аренду и там тоже сидели вплотную. А сколько было в крупных коло субарендаторов которые выкупали шкафы и размещали кого хотят...

                        0
                        Но тогда непонятно, что это за хостеры такие — в 200 метрах друг от друга? (Конкуренция? Не, не слышали?)

                        Я так понял, железо стояло просто в арендованном офисе, и переезд был в другой офис.
                        0

                        Там речь про truks и подозреваю это про пикапы авторов.

                        0

                        Когда нам меняли батареи в UPS, выполнявшие это работники сервиса рассказывали, как они тащили на 16й этаж без лифта оборудование базовой станции сотовой связи. При этом больше ~150 кг весь агрегат и ограничения на наклон в процессе. Заняло два рабочих дня. Но там 4 человека работали...

                          0

                          А мне наоборот - довелось спускать с 14ти этажки 2 серверных шкафа телекомуникационного оборудования + 2 UPS'а с 4мя (кажется) блоками доп. батарей. Плюс 2 тонны, порезанных в металлолом, спутниковых тарелок. Благо нас было человек 15... Но все 14 этажей мы бегали туда-сюда на своих двоих (Лифт был сломан)...

                    0

                    UPS на 1000 VA + 4 шт АКБ 60 А/ч вместо штатных.

                  0
                  > на лифте подключенный по витой паре сервер переехать не может

                  Почему собственно? Берем много кабеля с запасом…
                    0
                    «Осторожно двери закрываются» пережимают кабель и приехали! Так же кабель может просто зацепиться, а скорость лифта скорей всего не контролируется.
                      0
                      а скорость лифта скорей всего не контролируется.

                      Ммм, скоростной свободно падающий лифт.
                        –1
                        Последний раз, когда я видел двери лифта — сегодня утром — на них были резиновые уплотнители. У вас в офисе вместо лифта стоит «стандартная советская разрезалка пополам»?
                          0

                          Вы, наверное, и метро считаете таким медленным телепортом? Зашёл на станцию, вышел из другой.

                          0

                          Примотать к подвеснику в лифте витую пару и вуаля. )

                        +1
                        Ну как бы какой-нибудь условный ШВВП для временного питания намного дешевле витухи cat6. Так что никто им не мешал рядом с витой парой проложить и питание — коммутаторы в промежутках же они тоже запитывали от чего-то. А ИБП уже для подстраховки.
                          0
                          На самом деле 2 часа не так уж и запредельно много. На одной из работ был APC 5000 c тремя внешними блоками аккумуляторов. Так эта конструкция 2 сервера держала больше 4 часов.
                          Правда такая конструкция не сильно мобильная. Каждый внешний блок весил что-то около 80 кг + сам бесперебойник не сильно легче.
                          0
                          Наверное давно клиенту стоило подумать о втором сервере в другом месте. По крайней мере задуматься об этом звоночке.
                            0
                            Что очень смущает — это проблемы с миграцией на 2012r2. Даунтайм там несколько секунд максимум, во время самого момента переключения. Автор, может, путал Live Migration и Quick Migration?
                              0

                              Даже если так, 30 тыс. запросов за 4.5 часа (судя по счёту) — это почти 2 запроса в секунду. Достаточно, чтоб заметить downtime и развоняться.

                                +2

                                Смотря сколько это "несколько" секунд. Если меньше периода TCP connection timeout, могут заметить только лаг, а лаг это не даунтайм.

                                  +2
                                  Такой даунтайм не вызовет таймаута для большинства соединений — пользователи этого даже не заметят (кроме каких-нибудь RDP или стримов видеопотока).
                                  +1

                                  Не будет там даунтайма вовсе по идее, небольшая задержка только если. Там вроде даже tcp сессии остаются висеть при live migration (ну или vMotion у вмвари).

                                  +2

                                  Это был сервер Hyper-V с 2012r2. И я, и мой друг имели дело с Hyper-V начиная с 2003 года, и множество раз предпринимали попытки Live Migrations.

                                  ох неправда... он появился в 2008, до этого был Virtual Server если не ошибаюсь, без hardware virtualization. С live migration проблем не видел, уж на 2012 R2 она точно работает.

                                    0

                                    Опыт - говорит обратное - M$ как не странно тоже не дают гарантий на Без перебойную миграцию.....

                                      0
                                      Опыт говорит, что всё работает. А гарантию даёт только росгосстрах (с)
                                        0
                                        ХЗ — я не видел в Живую реально Больших(более 100 хостов) внедрений на Hyper-V.
                                        пока не увижу в живую и не поговорю под Джека с Админом(Если что Джек с меня) кто это обслуживает не поверю что Это возможно заставить работать стабильно — личный опыт 25 Хостов На Hyper-V и как результат 3 месяцев геммороя, суточные простои разваливающиеся без причины кластера и разбирательств с участием вендора — Переезд на vSphere и идеальную Работу уже пару лет с минимальным участием.
                                          0

                                          Vmware тоже имеет свои приколы и ограничения. Особенно если еще VSAN там поднимать. И иногда узнаешь о таких приколах постфактум, когда пытаешь понять - почему по логике оно должно работать, а не работает(например миграция виртуалок - выключенная виртуалка мигрирует через Managment интерфейс, а включенная через vMotion) . С другой стороны, пока такие внезапные приколы не всплывают, после настройки и тюнинга кластера - все просто работает. А с настроенным HA, DRS и общим хранилищем(хранилка либо vsan) - даже внезапно вышедшие из строя сервера не заставляют напрягаться.

                                          В свое время был выбор - либо переходить на vmware 6, либо переходить на hyper-v кластер. В общем после обучения на MS SCVMM, решили остаться на vmware.

                                            0

                                            Да есть тонкости как и везде(и в XEN и в KVM и в Nitro)

                                            С варей проще - всё что ты можешь словить почти всегда упирается в Железо - а Всякие исключения в кривизну конфигурации.... Ну и ЛОГи в Отличии от винды ОНИ есть они понятные, простые и ПОЛНЫЕ!!!!

                                        0

                                        Если есть траблы миграция просто не происходит на конечном этапе обычно и старая машинка на старом хосте продолжает работать.

                                          0
                                          ну-ну, а повесившийся входящий хост Hyper-V не хотите? а машина Которая зависла в статусе миграция и Жрет все больше и больше памяти? или Когда внезапно оборвалась Связь на последних 3-х процентах и Машина Не работает ни там, ни там?
                                          и это только Сюрпризы которые наблюдал Лично…
                                            0
                                            Солидарность. Если миграция на какой то платформе не отработана регулярной и актуальной практикой, то запускать её было бы, в данном случае, риском ценой в 17 т. у.е. :)
                                      0

                                      Заказчик в состоянии заплатить 17 тысяч долларов за перемещение сервера, но не хочет делать конфигурацию с несколькими серверами. Я бы от такого сбежал сразу.

                                        +3

                                        да хз, 17 тысяч не лишние же )

                                          0

                                          Ну тут же посчитать надо сколько будет стоить простой в случае поломки, а она рано или поздно будет.

                                            0

                                            ну так это уже проблемы клиента, а не подрядчика

                                        0

                                        Перевозили процессинговый центр в другой ЦОД без простоя, никаких размотанных по улице кабелей, тупо растянули кластер vSphere на 2 ЦОД и перетягивали виртуалки по одной + свитчовер БД.

                                          0

                                          Мы еще виртуальные микротики подняли, через которые L2 между цодами прокинули. Чтобы после миграции спокойно уже ночью адресацию поменять

                                            0

                                            Огурец, как сетевик, нервно вздрагивает при упоминании растянутых между датацентрами l2.

                                              0

                                              Все упирается в задержку. А 3-ное инкапсулирование (eoip,gre,ipsec) вполне себе неплохо работает. Да, падает полоса пропускания примерно в 2 раза, но все работает. Хотя у нас некоторое время жил вариант еще на vpls/mpls.В принципе тот же Vmware NSX умеет делать L2 между всеми DC, правда умный вариант. Обычно от L2 между цодами вздрагивают цисководы.

                                                0

                                                Дело не в задержке полосе, а в том, что L2 домены в принципе нужно стараться делать настолько маленькими, насколько получается. Как в плане количества хостов, так и в географическом. Куда как изящнее выглядит, например, схема с виртуалкой, получающей на сетевой интерфейс по dhcp адрес из какой-то /30 подсети и анонсирующей через какой-нибудь протокол динамической маршрутизации наверх свои "главные" ip, которые повешены в виде /32 на лупбэки внутри виртуалки. Никаких растянутых на кучу железа l2 доменов, возможность тягать машину куда угодно. Или в какой-нибудь vxlan прямо на гипервизоре заворачивать если уж так нужно именно l2 подтягивать. Но не вланы поверх L2 туннелей, я умоляю.

                                                  0

                                                  Тут были на один влан - один туннель. Если у вас софт не работает на бродкасте (был у меня такой в прошлой конторе, он нам ядро сети положил), и вам не нужен promission mode, то разницы между L2 и L3 нету, при достаточно умном построителе туннелей. Если он будет подавать трафик только между конкретными MAC адресами между конкретными туннелями, а не спамить на всех. Мы тогда мигрировали внутренние сервисы, нам такое решение было приемлемо, а время внедрения заняло минут 10.

                                                  Я видел схему на L3 из примерно того как вы описываете (плюс между коммутаторами была L3 маршрутизация) и мы ее в итоге похоронили при замене железа. Поддерживать ее было дико неудобно.

                                          +5

                                          вроде на башорге была история, как похожим обрахом перемещали сервер с нулевым даунтаймом внутри помещения бегом на тележке под писк УПСов и расставленных по пути движения WiFi Ad-hoc точками доступа.

                                            +2
                                            Я такое ноу-хау в году 2011 видел. Значит работал на монтаже интернет провайдера, захожу проблему у человека поправить. А он мне проходите на кухню, думаю видать ноутбук сейчас принесет. Был удивлен когда на самопальной тумбочке на колесиках вкатился ПК с монитором еще лучевым. Вот только у человека УПСа не было, он старый корпус пылесоса приспособил под самосматывающийся удлинитель, сразу под 220 и витуху.
                                              0

                                              В древние времена делал разок также. Правда без вайфая - просто 30 метровый ethernet кабель

                                              –2
                                              Общая сумма составила чуть меньше 17 тысяч долларов

                                              Есть подозрение, что просто купить новый сервер, установить его на новом месте, и спокойно мигрировать туда виртуалки возможно было бы дешевле, или как минимум не сильно дороже.
                                                +8

                                                Ну вот. Ужо и на хабре появились вечора ахренительных историй

                                                  +5

                                                  Вспоминается старое видео из 2010 года, как какие-то ребята перевозили сервер в другой дата-центр без остановки. 3 километра, в метро и под дождём.
                                                  https://youtu.be/vQ5MA685ApE

                                                    0

                                                    Огонь

                                                      0
                                                      Ох, с метро конечно любопытно, но неужели не проще было найти авто и медленно доехать? В метро ещё 3G, наверное, лагал постоянно, т.е. сервер так себе онлайн был в это время.
                                                        0

                                                        Вот ты сидишь, котиков в интернете рассматриваешь и даже не догадываешься, откуда они к тебе прилетели ;)

                                                        0

                                                        Трэшак. Если есть критикал сервисы то понятно, что нужно как минимум дублирующее оборудование, чтоб мэинтененс проводить и сервисы бесшовно мигрировать. Ну как минимум свитчи в стэке, lacp, гипервизор с живой миграцией, ибп с резервом, кластер роутеров (и желательно lacp от провайдера).

                                                        ps. Есть вероятность, что без выключения виртуалок они бы всё равно не смогли использовать живую миграцию (если бы пытались) без включенных "Migrate to a physical computer with a different processor version" в опциях cpu, которая по умолчанию отключена в этой версии винды.

                                                          +1

                                                          Судя по всему они просто не освоили кластер 2012r2. С другой стороны хорошо развели заказчика на деньги.

                                                            +1

                                                            Сервер был весь на SSD или можно ожидать что через пару дней после переезда диски начали сыпаться?

                                                              0
                                                              Знаю что автор меня не прочитает, но хочется спросить, чем питались промежуточные коммутаторы? Cat6 поддерживает максимальную длинну 100м, а кабеля было 300м — тогда почему коммутаторов было 3 а не 2? В общем, было очень интересно, но не получается разобраться досконально.
                                                                0
                                                                150м даже Cat5e удержит более-менее. так что думаю 150 там и было.
                                                                  0

                                                                  От пикапов: We plugged the switches into our trucks in the parking lot and connected them with the cat6.

                                                                  0

                                                                  Новая сказка братьев Гримм. 1) 7 виртуальных ОС, хостинг судя по рассказу, плюс файлопомойка, номинал БП 700-1000 Вт (2а проца/256 ГБ ОЗУ, 12 винтов шасси), вес плюс минус 35 КГ, потребляемая мощность 400-500 Вт, пороговое значение температур....в общем, рассказчику хорошего отдыха и кармы

                                                                  2) Стоимость, 17 т. гринов ~1 млн рублей, безусловно у каждого свои расценки. Круто заработали.

                                                                  3) Не верю

                                                                    0

                                                                    1) 17К зелени за отсутствие 5-10 минутного даунтайма? Сервер "майнит" золото килограммами? Даже для среднего ентрепрайса даунтайм так дорого не стОит. Автор явно чего-то не договаривает.

                                                                    2) Я не знаю как рентеру с лэнд-лордом надо было разоср поссориться, чтобы он не дал 1-2 экстра ночей на нормальный переезд серверной.

                                                                    3) HDD вместо SSD. Хард: Трясёт? Автор: Да не, тебе кажется. Хард: Ой, бэдблок кажись.

                                                                      +1
                                                                      Я тут мимо проходил, но
                                                                      1) 17К зелени за отсутствие 5-10 минутного даунтайма? Сервер «майнит» золото килограммами? Даже для среднего ентрепрайса даунтайм так дорого не стОит. Автор явно чего-то не договаривает

                                                                      Например, люди поступили неумно и в контракте понта ради вписали что-нибудь типа «круглосуточного доступа» без конкретного процента доступности, и теперь им дешевле отдать 17к, чем рисковать судами с заказчиками, за которые адвокаты сдерут еще больше. А были бы умные — развернули бы два сервака и отмигрировали как нормальные люди

                                                                      2) Я не знаю как рентеру с лэнд-лордом надо было разоср поссориться, чтобы он не дал 1-2 экстра ночей на нормальный переезд серверной.

                                                                      Может и дал, но см п.1
                                                                      0

                                                                      В 2005 «переносил» один тестовый сервер. Не важный, но аптайм >1000 дней! Жалко. Один одмин нес сервер, а второй ups… На середине пути из БП выпал провод. Жаль.

                                                                        0
                                                                        Отключив cat6 сервера


                                                                        Я бы перевёл как Ethernet
                                                                          0
                                                                          мы договорились о плате, который позволит
                                                                          ху из мистер плата?

                                                                          И я, и мой друг имели дело с Hyper-V начиная с 2003 года
                                                                          ух ты!
                                                                            0
                                                                            Спасибо, исправил.

                                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                          Самое читаемое