Mdadm перенос на другой компьютер

Обновлено: 01.07.2024

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Цели статьи

  1. Рассказать поучительную историю о том, какие могут быть проблемы при аренде серверов в ЦОД.
  2. Показать на примере, как надо действовать при выходе из строя диска в рейде mdadm.
  3. Простыми словами объяснить, в чем разница между программным и аппаратным рейдом.

Введение

Когда первый раз сталкиваешься с рукожопством сотрудников техподдержки дата центра, впадаешь в ступор и думаешь, ну как так то? Сейчас я спокойно отношусь к таким ситуациям и действую исходя из самых худших ожиданий. На днях я столкнулся с ситуацией, когда мне заменили не тот диск в сервере с RAID1. Вместо сбойного диска вынули рабочий и заменили чистым. К счастью все закончилось хорошо, но обо всем по порядку.

Не скажу, что у меня прям большой опыт аренды серверов, но он есть. Я регулярно обслуживаю 10-15 серверов, расположенных в разных дата центрах, как российских, так и европейских. Первый негативный опыт я получил именно в Европе и был очень сильно удивлен и озадачен. Я, как и многие, был под влиянием либеральной пропаганды на тему того, что у нас все плохо, а вот Европа образец надежности, стабильности и сервиса. Как же я ошибался. Сейчас отдам предпочтение нашим дата центрам. По моему мнению и опыту, у нас тех поддержка и сервис в целом лучше, чем там, без привязки к стоимости. В Европе дешевле схожие услуги, так как там масштабы сервисов в разы больше.

Приведу несколько примеров косяков саппорта, с которыми сталкивался.

Было много всяких инцидентов помельче, нет смысла описывать. Хотя нет, один все же опишу. Устанавливал свой сервер в ЦОД. Решил пойти в маш зал и проконтролировать монтаж. Если есть такая возможность, крайне рекомендую ей воспользоваться. Местный рукожоп неправильно прикрепил салазки и сервер во время монтажа стал падать. Я его поймал, тем спас его и сервера других клиентов. В итоге помог с монтажом. Сам бы он просто не справился. Я не представляю, что было, если бы я не пошел в машзал. К чести руководства, я написал претензию, где подробно описал данный случай и попросил бесплатно месячную аренду. Мне ее предоставили. Советую всем так поступать. Зачастую, руководство может быть не в курсе того, что происходит в реальности. Надо давать обратную связь.

Уровень моего доверия к тех поддержке дата центров и хостингов вы примерно представляете :) Ну и вот случилось очередное ЧП. Подробнее остановлюсь на этой ситуации, так как она случилась вчера, свежи воспоминания.

Замена диска в рейде mdadm

Речь пойдет о дешевых дедиках от selectel. Я их много где использую и в целом готов рекомендовать. Это обычные десктопные системники за скромные деньги. Свое мнение об этих серверах, а так же сравнение с полноценными серверами сделаю в конце, в отдельном разделе.

На сервере была установлена система Debian из стандартного шаблона Selectel. Вот особенности дисковой подсистемы этих серверов и шаблона.

  • 2 ssd диска, объединенные в mdadm
  • /boot раздел на /dev/md0 размером 1G
  • корень / на /dev/md1 и поверх lvm на весь массив

В целом, хорошая и надежная разбивка, чему будет подтверждение дальше. На сервере был установлен proxmox, настроен мониторинг mdadm. Мониторинг дисков не сделал. В какой-то момент получил уведомление в zabbix, что mdadm развалился. Сервер при этом продолжал работать. Ситуация штатная. Пошел в консоль сервера, чтобы все проверить. Посмотрел состояние рейда.

Убедился, что один диск выпал из массива. В системном логе увидел следующее.

Замена диска в mdadm

Попробовал посмотреть информацию о выпавшем диске.

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

Я не стал разбираться, что там к чему с диском. Если вижу проблемы, сразу меняю. Предупредил заказчика, что с диском проблемы, нужно планировать замену. Так как железо десктопное, "сервер" надо выключать. Согласовали время после 22 часов. Я в это время уже сплю, поэтому написал тикет в тех поддержку, где указал время и серийный номер диска, который нужно было оставить. Я сделал на этом акцент, объяснил, что сбойный диск не отвечает, поэтому его серийник посмотреть не могу. Расписал все очень подробно, чтобы не оставить почвы для недопонимания или двойного толкования. Я в этом уже спец, но все равно не помогло.

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

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

Я создал тикет и попросил вернуть рабочий диск на место. К счастью, он сохранился. К нему добавить еще один полностью чистый. Хостер оперативно все сделал и извинился. В завершении прислал скриншот экрана сервера.

You are in emergency mode

И самоустранился. Дальше решать проблему загрузки он предложил загрузившись в режиме rescue. Этот режим доступен через панель управления сервером в админке, даже если сервер не имеет ipmi консоли. Как я понял, по сети загружается какой-то live cd для восстановления. Я в нем загрузился, убедился, что данные на месте, но понять причину ошибки не смог. Может быть и смог бы, если бы дольше покопался, но это очень неудобно делать, не видя реальной консоли сервера. Я попросил подключить к серверу kvm over ip, чтобы я мог подключиться к консоли. Тех поддержка без лишних вопросов оперативно это сделала.

К слову, мне известны случаи, когда техподдержка selectel потом сама чинила загрузку и возвращала mdadm в рабочее состояние. Видел такие переписки в тикетах у своих клиентов до того, как они обращались ко мне. Но я не стал настаивать на таком решении проблемы, так как боялся, что будет хуже. К тому же это было утро воскресенья и специалистов, способных это сделать, могло просто не быть. Плюс, я не думаю, что они обладали бы большими компетенциями, чем я. Я бы за их зарплату не пошел работать в ЦОД.

После того, как я подключился к консоли сервера, восстановление загрузки было делом техники.

You are in emergency mode

У меня много примеров того, как я восстанавливал загрузку сломавшихся linux дистрибутивов.

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

Дальше нужно ввести пароль root и вы окажетесь в системной консоли. Первым делом я проверил состояние массива mdadm.

Состояние массива md0, на котором располагается раздел /boot - inactive. Вот, собственно, и причина того, почему сервер не загружается. Судя по всему, когда был подключен сбойный диск, mdadm отключил массив, чтобы предотвратить повреждение данных. Не понятно, почему именно на разделе /boot, но по факту было именно это. Из-за того, что массив остановлен, загрузиться с него не получалось. Я остановил массив и запустил снова.

После этого массив вышел из режима inactive и стал доступен для дальнейшей работы с ним. Я перезагрузил сервер и убедился, что он нормально загружается. Сервер фактически был в рабочем состоянии, просто с развалившимся массивом mdadm, без одного диска.

Если вам это не поможет, предлагаю еще несколько советов, что можно предпринять, чтобы починить загрузку. Первым делом проверьте файл /etc/fstab и посмотрите, какие разделы и как там монтируются. Вот мой пример этого файла.

Вам нужно убедиться, что указанные lvm разделы /dev/mapper/vg0-root и /dev/mapper/vg0-swap_1 действительно существуют. Для этого используйте команду:

Подробно об этой команде, о работе с lvm и вообще с дисками я рассказываю в отдельной статье - настройка диска в debian. Если с lvm разделами все нормально, проверьте /boot. У меня он монтируется по uuid. Посмотреть список uuid всех разделов можно командой.

Как вы видите, у меня uuid раздела для загрузки полностью совпадает с тем, что указано в fstab. Если по какой-то причине uuid изменился (разобрали и собрали новый массив), отредактируйте fstab.

Все дальнейшие действия я делал уже по ssh. Скопировал таблицу разделов с рабочего диска sda на чистый sdb.

Проверил таблицы разделов и убедился, что они идентичные.

Копирование разделов с одного диска на другой

Скопировал раздел BIOS boot partition с рабочего диска на новый.

Потом добавил разделы диска sdb2 и sdb3 в рейд массив.

Дождался окончания ребилда и убедился, что он прошел. Проверил состояние массива.

cat /proc/mdstat

В завершении устанавливаем загрузчик на оба диска.

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

Вот и все по замене диска в массиве mdadm. После доступа к консоли сервера, мне потребовалось минут 10, чтобы вернуть сервер в рабочее состояние.

В чем отличия программного и аппаратного рейда

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

  1. Рейд контроллер оповещает о том, что с диском проблемы и выводит его из работы. В случае с софтовым рейдом система может зависнуть в случае проблем с диском, прежде чем пометит его как проблемный и перестанет к нему обращаться.
  2. Я оставляю тикет в тех поддержку, где прошу заменить сбойный диск. Информацию о нем я посмотрю в панели управления рейд контроллером.
  3. Сотрудник тех поддержки видит сбойный диск, так как индикация на нем, скорее всего, будет мигать красной лампочкой. Это не гарантия того, что рукожоп все сделает правильно, но тем не менее, шансов, что он ошибется, меньше. Я сталкивался с ситуацией, когда и в этом случае диск меняли не тот.
  4. При появлении нового диска raid контроллер автоматически начинает ребил массива.

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

  1. При выходе из строя диска, контроллер помечает его как сбойный, вводит в работу запасной диск и начинает ребилд.
  2. Вы получаете оповещение о том, что вышел из строя диск и оставляете тикет в тех поддержку на замену запасного диска.

И это все. В обоих случаях у вас вообще нет простоя. Вот принципиальная разница между mdadm и железным raid контроллером. Стоимость полноценного сервера с контроллером и постоянным ipmi доступом к консоли в среднем в 3 раза выше, чем у сервера на десткопном железе с софтовым рейдом при схожей производительности. Это все при условии, что вам достаточно одного процессора и 64G памяти. Это потолок для десктопных конфигураций. Дальше считайте сами, что вам выгоднее. Если возможен простой в несколько часов на замену диска или других комплектующих, то смело можно использовать десктопное железо. Mdadm обеспечивает сопоставимую гарантию сохранности данных в сравнении с железным контроллером. Вопрос лишь в простое и производительности. Ну и своевременные бэкапы добавляют уверенности в том, что вы переживете неполадки с железом.

При использовании железного рейда на hdd дисках, есть возможно получить очень значительный прирост скорости за счет кэша контроллера. Для ssd дисков я особо не замечал разницы. Но это все на глазок, никаких замеров и сравнений я не делал. Нужно еще понимать, что десктопное железо в целом менее надежное. К примеру, в том же селектеле на дешевых серверах я ловил перегрев или очень высокую температуру дисков. Прыгала в районе 55-65 градусов. Все, что ниже 60-ти, тех поддержка футболила, говоря, что это допустимая температура, судя по документации к дискам. Это так и есть, но мы же понимаем, что диск, постоянно работающий на 59 градусах с бОльшей долей вероятности выйдет из строя.

Вот еще пример разницы в железе. Если у вас в нормальном сервере выйдет из строя планка памяти, сервер просто пометит ее как сбойную и выведет из работы. Информацию об этом вы увидите в консоли управления - ilo, idrac и т.д. В десктопном железе у вас просто будет постоянно виснуть сервер и вам придется долго выяснять, в чем же проблема, так как доступа к железу у вас нет, чтобы проще было запланировать тестирование сервера. А если вы закажете это у тех поддержки, то есть ненулевая вероятность, что станет хуже - сервер уронят, перепутают провода подключения дисков и т.д. В общем, это всегда риск. Проще сразу съезжать с такой железки на другую.

Заключение

Надеюсь, моя статья была интересной. Для тех, кто никогда не работал с ЦОДами будет полезно узнать, чего можно от них ожидать. Я скучаю по временам, когда все сервера, которые я администрировал, были в серверной, куда никому не было доступа и куда я мог в любой момент попасть и проверить их. Сейчас все стало не так. И твои сервера уже не твои. Их может сломать, уронить, что-то перепутать сотрудник тех поддержки дата центра.

Сейчас большой тренд на переход в облака. Я смотрю на эти облака и не понимаю, как с ними можно нормально взаимодействовать. Заявленная производительность не гарантированная, нагрузка плавает в течении суток. Упасть может в любой момент и ты не будешь понимать вообще в чем проблема. Твои виртуалки могут быть по ошибке удалены и кроме извинений и компенсации в 3 копейки ты ничего не получить. Каждое обращение в ТП как лотерея. Думаешь, что сломают в этот раз. Если сервера железные, то когда пишу тикет на доступ к железу, я морально и технически всегда готов к тому, что этот сервер сейчас отключится и я больше не смогу к нему подключиться.

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

Я про облака заговорил, потому что тенденции к тому, что от железных серверов надо отказываться и все переносить в облака. С одной стороны удобно должно быть. Как минимум, не будет указанных выше в статье проблем. А с другой стороны добавляется куча других проблем. Я пока сижу на железяках разного качества и стоимости. А у вас как?

Приветствую.
Если перенести жесткие диски с raid1 с одного пк с linux на другой пк с linux, система корректно распознает массив и будет достаточно просто смонтировать его? Несовместимости м-ду разными версиями mdadm нету? Имя устройства, например было /dev/md1, останется прежним? Что будет если на новом ПК устройство с таким именем уже существует?


достаточно одной части

вы похоже ответили не в той теме.

Несовместимости м-ду разными версиями mdadm нету?

В случае зеркала (RAID1) проблем быть не должно.

Имя устройства, например было /dev/md1, останется прежним?

Зависит от конфигурации системы. В общем случае сохранение нумерации не гарантируется.

Что будет если на новом ПК устройство с таким именем уже существует?

Кто-то из массивов изменит нумерацию. Кто именно, зависит от порядка инициализации дисков при загрузке. Чтобы избежать подобных проблем, лучше в fstab указывать UUID дисков, а не конкретные устройства.

вы похоже ответили не в той теме.

Ответ был по теме. Речь о том, что в случае зеркала для доступа к информации достаточно смонтировать один диск, переносить массив целиком необязательно.


перенести жесткие диски с raid1 с одного пк с linux на другой пк с linux

неплохо бы добавить его /etc/mdadm/mdadm.conf, но ЕМНИП это уже не обязательно

система корректно распознает массив

если mdadm установлен и автообнаружение включено ( по умолчанию включено )

Несовместимости м-ду разными версиями mdadm нету?

тебя интересует версия метаданных ( mdadm metadata version )

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

Имя устройства, например было /dev/md1, останется прежним? Что будет если на новом ПК устройство с таким именем уже существует?

На имена устройств глубоко пофиг, они динамические, уже лет пятнадцать всё работает по uuid

Если тебе зачем-то нужно постоянное имя, добавить в /etc/mdadm/mdadm.conf

Если ты вручную доабавил два рейда с одним именем, это уже точно твои проблемы. Скорее всего, первый обнаруженный получит имя, а конкурент станет чем-то вроде md127. Никогда не интересовался, что будет, если выстрелить себе в ногу. Просто не стрелял - по мне так отличное решение ;)

router ★★★★★ ( 18.02.20 22:02:54 )
Последнее исправление: router 18.02.20 22:03:09 (всего исправлений: 1)

Спасибо всем за ответы. Последний вопрос, имя устройства задаваемое при создании массива, например md1, хранится на диске в спец. области или только в конфигах системы на которой был создан массив?


Последний вопрос, имя устройства задаваемое при создании массива, например md1, хранится на диске в спец. области или только в конфигах системы на которой был создан массив?

В общем случае - нигде. Получает рандомное при загрузке, как например диски именуются sda, sdb и т.д.

У меня есть недавно построенная машина со свежей установкой Gentoo Linux и программным массивом RAID 5 с другого компьютера (4 диска IDE, подключенных к внешним PCI-контроллерам). Я успешно переместил контроллеры на новую машину; диски обнаруживаются ядром; и я использовал mdadm --examine и проверял, что один раздел RAID обнаружен, чист и даже в «правильном» порядке (hde1 == привод 0, hdg1 == диск 1 и т. д.).

У меня нет доступа к исходным файлам конфигурации с более старой машины. Как я должен продолжить активацию этого массива без потери данных?

3 ответа

Вам действительно нужен оригинальный файл mdadm.conf. Но, поскольку у вас его нет, вам придется его воссоздать. Прежде всего, прежде чем что-либо сделать, зачитайте mdadm на странице руководства . Почему вероятность потери данных в ситуации или команде, которую вы не понимаете?

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

Вы можете попробовать следующее:

Это должно дать вам некоторую информацию, чтобы начать работать вместе с идентификатором. Он также создаст новое устройство массива /dev /md , оттуда вы сможете найти любые крепления. Не используйте опцию --auto , формулировка man-страницы подразумевает, что при определенных обстоятельствах это может привести к перезаписи настроек вашего массива на диски. Это, вероятно, not случай, и, вероятно, страница должна быть переписана для ясности, но почему это возможно?

Если массив собран правильно и все «нормально», обязательно запишите свой mdadm.conf, записанный и сохраненный в /etc , поэтому вы будете иметь его во время загрузки. Включите новый идентификатор из массива в файл, чтобы помочь ему.

Сканировать все разделы и устройства, перечисленные в разделе /​​proc /partition, и собрать /dev /md0 из всех таких устройств с суперблоком RAID с меньшим числом 0.

Если conf был успешным, вы можете добавить --detail --scan>> /etc/mdadm/mdadm.conf, чтобы он ловил его при загрузке

Просто хотел добавить мой полный ответ для Debian по крайней мере.

В этот момент мне нравится проверять BLKID и монтировать рейд вручную для подтверждения.

Яркой проблемой является то, что я не уверен, как активировать неактивный RAID без моих усилий, необратимых. Попытайтесь собрать неразрушающую. Возможно ли это?

Перенос RAID 5 на новый компьютер при сбое ЦП.

Перенос RAID 5 на новый компьютер, если ЦПУ не работает.

UBUNTU 16.04 запуск программного обеспечения mdadm RAID 5 завершился с ошибкой и перезагрузится, нажав ctrl D, чтобы продолжить. Я думаю, что мой RAID-массив кажется неповрежденным. См. Распечатки ниже. Я хочу переместить мой RAID 5 с одного компьютера на другой, если проблема связана с оборудованием. Проблема с загрузочным разделом UBUNTU может заключаться в том, что на загрузочном разделе закончилось свободное пространство. Загрузочный раздел был всего 10G, и хотя установка Ubuntu изначально была минимальной установкой сервера, я также расширил ее, чтобы запустить рабочий стол. 10G, возможно, не было достаточно, но так продолжалось 2 месяца. Мне просто нужен графический интерфейс. Также недавно я прочитал, что разделы RAID 5 не должны превышать 1,5 Т на каждом диске. В то время я не знал, что это работает примерно 6 месяцев, хотя в последнее время оно, возможно, превысило этот предел. Сейчас он работает примерно в 6Т. Мой план состоит в том, чтобы переместить RAID 5 на новый компьютер с новой установкой Ubuntu 16 на новый диск 'sde' и перемонтировать RAID в новой системе.

UBUNTU 16.04 запуск программного обеспечения mdadm RAID 5 завершился с ошибкой и перезагрузится с нажатием клавиши ctrl D.

UBUNTU 16.04 запуск программного обеспечения mdadm RAID 5 не удалось и перезагрузится с помощью клавиши CTRL D, чтобы продолжить.

Я думаю, что мой RAID-массив кажется неповрежденным. См. Распечатки ниже. Я хочу переместить мой RAID 5 с одного компьютера на другой, если проблема была в аппаратном обеспечении.

Я думаю, что мой RAID-массив кажется неповрежденным. См. Распечатки ниже. Я хочу переместить мой RAID 5 с одного компьютера на другой, если проблема была в аппаратном обеспечении.

«Собирает» перезаписывает разделы RAID? Будет ли это необратимым?

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

Дисклеймер: автор текста не несет никакой ответственности за выши данные на серверах. В конце статьи приведены ссылки на гайды, откуда кусочно был скомпонован алгоритм, опробованный в деле.

Процесс настройки будет производится с учетом используемого в текущий момент диска /dev/sda и свежего незадействованного диска /dev/sdb. Помимо всего прочего в системе используется LVM. Диск разбит на 2 части: первый раздел /boot небольшого размера, остальное отдано под LVM.

Для начала установим mdadm.

После установки необходимо проиницализировать все необходимые модули. Это избавит нас от необходимости лишний раз перезагружать сервер:

Теперь скопируем структуру разделов с действующего диска на новый

Делаем RAID1 для первого раздела на новом диске

Повторяем для остальных

Форматируем партиции в нужные файловые системы

Теперь перенесем содержимое первого раздела в зеркало, так как там только папка /boot, скопируем её

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

Так как существующий раздел /dev/sda5 расположен на LVM, создаем LVM физический том в рейде

Расширяем существующую группу томов с учетом md1

Переносим туда наш текущий раздел с данными

Выбрасываем из группы томов одиночный раздел

Добавляем освободившийся раздел к зеркалу, дожидаемся сборки массива

После всех этих процедур, если система не предложила сделать это ранее, вносим изменения в файлы конфигурации mdadm, добавляя туда данные о созданных нами массивах

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

Читайте также: