Настоящее суммирование интернет-каналов — OpenMPTCPRouter



Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Но настоящее суммирование позволяет пустить одно единственное TCP-подключение одновременно по всем интернет-каналам, например видеотрансляцию так, чтобы при обрыве любого из интернет-каналов вещание не прерывалось.

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

Мифы про суммирование каналов

Есть много бытовых роутеров, поддерживающих функцию Multi-WAN. Иногда производители называют это суммированием каналов, что не совсем верно. Многие сетевики верят, что кроме LACP и суммирования на L2 уровне, никакого другого объединения каналов не существует. Мне часто доводилось слышать, что это вообще невозможно от людей, которые работают в телекомах. Поэтому попробуем разобраться в популярных мифах.

Балансировка на уровне IP-подключений

Это самый доступный и популярный способ утилизировать несколько интернет-каналов одновременно. Для простоты представим, что у вас есть три интернет провайдера, каждый выдаёт вам реальный IP-адрес из своей сети. Все эти провайдеры подключены в роутер с поддержкой функции Multi-WAN. Это может быть OpenWRT с пакетом mwan3, mikrotik, ubiquiti или любой другой бытовой роутер, благо сейчас такая опция уже не редкость.

Для моделирования ситуации представим, что провайдеры выдали нам такие адреса:
WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33

То есть, подключаясь к удалённому серверу example.com через каждого из провайдеров, удаленный сервер будет видеть три независимых source ip клиента. Балансировка позволяет разделить нагрузку по каналам и использовать их все три одновременно. Для простоты представим, что мы делим нагрузку между всеми каналами поровну. В итоге, когда клиент открывает сайт, на котором условно три картинки, он загружает каждую картинку через отдельного провайдера. На стороне сайта это выглядит как подключения с трёх разных IP.



Такой режим балансировки часто несёт проблемы для пользователей. Например, многие сайты жёстко привязывают cookie и токены к IP-адресу клиента, и если он внезапно изменился, то запрос отбрасывается или клиента разлогинивает на сайте. Это часто воспроизводится в системах клиент-банка и на других сайтах со строгими правилами пользовательских сессий. Вот простой наглядный пример: музыкальные файлы в VK.com доступны только при действительном ключе сессии, который привязан к IP, и у клиентов, использующих такую балансировку, часто не проигрываются аудио, потому что запрос ушёл не через того провайдера, к которому привязана сессия.


Такая балансировка позволяет получить суммирование скорости интернет-канала, при использовании множества подключений. Например, если у каждого из трёх провайдеров скорость 100 Мегабит, то при загрузке торрентов мы получим 300 Мегабит. Потому что торрент открывает множество подключений, которые распределяются между всеми провайдерами и в итоге утилизируют весь канал.

Важно понимать, что одно единственное TCP-подключение всегда пройдёт только через одного провайдера. То есть если мы скачиваем один большой файл по HTTP, то это подключение будет выполнено через одного из провайдеров, и если связь с этим провайдером оборвется, то загрузка тоже сломается.


Это справедливо и для видео-трансляций. Если вы вещаете потоковое видео на какой-то условный Twitch, то балансировка на уровне IP-подключений не даст никакой особенной пользы, так как видео-поток будет транслироваться внутри одного IP-подключения. В данном случае, если у провайдера WAN 3 начнутся проблемы со связью, например потери пакетов или снижение скорости, то вы не сможете моментально переключиться на другого провайдера. Трансляцию придётся останавливать и переподключаться заново.

Настоящее суммирование каналов
Реальное суммирование каналов даёт возможность пустить одно подключение к условному Twitch сразу через всех провайдеров таким образом, что, если любой из провайдеров сломается, подключение не оборвется. Это на удивление сложная задача, которая до сих пор не имеет оптимального решения. Многие даже не знают, что такое возможно!

По предыдущим иллюстрациям мы помним, что условный сервер Twitch может принять от нас видеопоток только от одного source IP адреса, значит он должен быть у нас всегда постоянным, вне зависимости от того, какие провайдеры у нас отвалились, а какие работают. Чтобы этого добиться, нам потребуется суммирующий сервер, который будет терминировать все наши подключения и объединять их в одно.


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

Коммерческие решения
Эта проблема давно беспокоит тех, кто ведёт прямые трансляции мероприятий и не имеет доступа к качественному интернету. Для таких задач существуют несколько коммерческих решений, например компания Teradek делает такие монструозные роутеры, в которые вставляются пачки USB модемов:


В таких устройствах, обычно, встроена возможность захвата видеосигнала по HDMI или SDI. Вместе с роутером продаётся подписка на сервис суммирования каналов, а также обработки видеопотока, перекодирования его и ретрансляции дальше. Цена таких устройств начинается от 2к$ с комплектом модемов, плюс отдельно подписка на сервис.

Иногда это выглядит достаточно устрашающе:


Настраиваем OpenMPTCPRouter
Протокол MP-TCP (MultiPath TCP) придуман для возможности подключения сразу по нескольким каналам. Например, его поддерживает iOS и может одновременно подключать к удалённому серверу по WiFi и через сотовую сеть. Важно понимать, что это не два отдельных TCP-подключения, а именно одно подключение, установленное сразу по двум каналам. Чтобы это работало, удалённый сервер должен поддерживать MPTCP тоже.

OpenMPTCPRouter — это открытый проект программного роутера, позволяющего по-настоящему суммировать каналы. Авторы заявляют, что проект находится в статусе альфа-версии, но им уже можно пользоваться. Он состоит из двух частей — суммирующего сервера, который размещается в интернете и роутера, к которому подключаются несколько интернет-провайдеров и сами клиентские устройства: компьютеры, телефоны. В качестве пользовательского роутера может выступать Raspberry Pi, некоторые WiFi-роутеры или обычный компьютер. Есть готовые сборки под различные платформы, что очень удобно.


Настройка суммирующего сервера
Суммирующий сервер располагается в интернете и терминирует подключения со всех каналов клиентского роутера в одно. IP-адрес этого сервера будет внешним адресом при выходе в интернет через OpenMPTCPRouter.

Для этой задачи будем использовать VPS-сервер на Debian 10.

Требования к суммирующему серверу:
  • MPTCP не работает на виртуализации OpenVZ
  • Должна быть возможность установки собственного ядра Linux

Сервер разворачивается выполнением одной команды. Скрипт установит ядро с поддержкой mptcp и все необходимые пакеты. Доступны установочные скрипты для Ubuntu и Debian.
wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh


Результат успешной установки сервера.


Сохраняем пароли, они потребуются нам для настройки клиентского роутера, и перезагружаемся. Важно иметь в виду, что после установки SSH будет доступен на порту 65222. После перезагрузки нужно убедиться, что мы загрузились с новым ядром
uname -a 
Linux test-server.local 4.19.67-mptcp

Видим рядом с номером версии надпись mptcp, значит ядро установилось корректно.

Настройка клиентского роутера
На сайте проекта доступны готовые сборки для некоторых платформ, например Raspberry Pi, Banana Pi, роутеры Lynksys и виртуальные машины.
Эта часть openmptcprouter основана на OpenWRT, в качестве интерфейса используется LuCI, знакомый всем, кто когда-либо сталкивался с OpenWRT. Дистрибутив весит около 50Мб!


В качестве тестового стенда я буду использовать Raspberry Pi и несколько USB-модемов с разными операторами: МТС и Мегафон. Как записать образ на SD-карту, полагаю, не нужно рассказывать.

Изначально Ethernet-порт в Raspberry Pi настроен как lan со статическим IP-адресом 192.168.100.1. Чтобы не возиться с проводами на столе, я подключил Raspberry Pi к WiFi точке доступа и задал на WiFi-адаптере компьютера статический адрес 192.168.100.2. DHCP-сервер по умолчанию не включен, поэтому нужно использовать статические адреса.

Теперь можно зайти в веб-интерфейс 192.168.100.1

При первом входе система попросит задать пароль root, с этим же паролем будет доступен SSH.


В настройках LAN можно задать нужную подсеть и включить DHCP-сервер.

Я использую модемы, которые определяются как USB Ethernet интерфейсы с отдельным DHCP-сервером, поэтому это потребовало установки дополнительных пакетов. Процедура идентична настройке модемов в обычном OpenWRT, поэтому я не буду рассматривать её здесь.

Далее нужно настроить WAN-интерфейсы. Изначально в системе создано два виртуальных интерфейса WAN1 и WAN2. Им нужно назначить физическое устройство, в моем случае это имена интерфейсов USB-модемов.

Чтобы не запутаться в именах интерфейсов, я советую смотреть сообщения dmesg, подключившись по SSH.

Так как мои модемы сами выступают роутерами, и сами имеют DHCP-сервер, мне пришлось изменить настройки их внутренних диапазонов сетей и отключить DHCP-сервер, потому что изначально оба модема выдают адреса из одной сети, а это вызывает конфликт.

OpenMPTCPRouter требует, чтобы адреса WAN-интерфейсов были статическими, поэтому придумываем модемам подсети и настраиваем в меню system → openmptcprouter → interface settings. Здесь же нужно указать IP-адрес и ключ сервера, полученный на этапе установки суммирующего сервера.


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


По умолчанию используется режим shadowsocks + mptcp. Это такой прокси, который заворачивает в себя все подключения. Изначально он настроен обрабатывать только TCP, но можно включить и UDP.


Если на странице статуса нет ошибок, на этом настройку можно считать законченной.
С некоторыми провайдерами может возникнуть ситуация, когда на пути следования трафика флаг mptcp обрезается, тогда будет такая ошибка:

В этом случае можно использовать другой режим работы, без использования MPTCP, подробнее об этом здесь

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


https://vdsina.ru

Устанавливаем Kali Linux с графическим интерфейсом на виртуальный сервер



TL;DR в статье описывается установка Kali Linux с графической средой на виртуальный сервер с ISO-образа по VNC. Такой системой можно пользоваться как полноценным десктопом.

Большинство хостеров предоставляют только консольный доступ к виртуальным серверам и ограниченный выбор образов операционных систем. Но что, если вы хотите установить собственную ОС со своего диска, например что-то экзотическое вроде Kali Linux? У нас вы можете подключить собственный ISO-образ и установить с него любую операционную систему, которая поддерживается гипервизором.

С момента установки- управление сервером происходит по VNC в графическом окружении, точно так же, как на десктопной виртуальной машине вроде VirtualBox или Vmwarе. Пользоваться таким сервером можно прямо в браузере без установки дополнительных программ.

Создание сервера
Первым делом нужно создать виртуальный сервер. Установка операционной системы из ISO-образа происходит уже на созданный сервер, а создать пустой сервер нельзя. Поэтому при создании сервера выбираем любой образ ОС, например CentOS. Этот выбор не имеет значения, так как мы все равно будем форматировать жесткий диск.


Графическая среда требует существенно больше системных ресурсов, поэтому выбираем конфигурацию с 4ГБ оперативной памяти для комфортной работы. Могу сказать, что и с 2ГБ тоже работает сносно, но тяжелые программы вроде Burp Suite на Java съедают всю память. Чтобы ресурсов точно хватило, мы подготовили для вас бонус — 1000 рублей при пополнении баланса от 3000 рублей. Чтобы его активировать, перейдите по этой ссылке для регистрации и пополнения.


Добавлять SSH-ключи не нужно, так как мы все равно форматируем диск и все настройки предустановленной системы будут удалены.

Дожидаемся завершения установки сервера, обычно это занимает не более минуты. Если в момент создания сервера оставить вкладку открытой, вы услышите звуковое уведомление о том, что сервер создан. Так же вы получите письмо на электронную почту с реквизитами для SSH-доступа к серверу. Эти реквизиты нам не потребуются, так как мы установим пароль на этапе установки новой системы.


Подключение ISO-образа
Теперь, когда сервер создан, мы можем подключить ISO-образ с Kali Linux. Для этого его сперва нужно смонтировать в панели управления, так подключенный ISO-образ будет доступен для подключения ко всем созданным серверам. Услуга подключения ISO-образа стоит 1 рубль в день. Нам он потребуется только на время установки, после чего его можно будет удалить.


Здесь можно загрузить ISO с компьютера, выбрать из нашей библиотеки или указать ссылку на файл с образом, который будет автоматически скачан. Нам не потребуется ничего скачивать, так как в библиотеке уже есть образ с Kali Linux. Не обращаем внимания на версию, так как Kali Linux выпускается по модели «Rolling release», он не имеет определенных мажорных версий, и всегда может быть обновлен до актуального состояния простым запуском apt ugprade.


Монтирование образа займет не более минуты, после чего его статус изменится на «активно». Теперь его можно подключать к существующим серверам. Для этого заходим в свойства сервера и нажимаем кнопку «Подключить ISO». После подключения ISO система будет перезагружена и загрузка системы начнется с образа.

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


При желании, вы можете использовать свой VNC-клиент, например Realvnc. Реквизиты для подключения можно посмотреть нажав на пиктограмму раскрытия пароля. Важно помнить, что адрес VNC-сервера отличается от IP-адреса вашего сервера.


Описывать все этапы установки Kali Linux мы не будем, так как они сводятся к простому нажатию Next -> Next -> Next -> Finish. Остановимся только на неочевидных моментах.

Настройка сети вручную
Виртуальный сервер не получит IP-адрес автоматически, так как в сети нет DHCP-сервера, поэтому его потребуется ввести вручную. На этапе обнаружения DHCP можно нажать Cancel, чтобы не тратить время.


Выбираем ручную конфигурацию и вводим IP-адрес, шлюз и маску сети. Все нужные настройки для конкретного сервера сразу указаны внизу страницы VNC-клиента.


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

Аналогичным образом поступаем с вопросом о загрузчике GRUB — выбираем пункт по умолчанию.

Завершение установки
После завершения установки система автоматически перезагрузится и мы снова попадем в загрузочное меню ISO-образа. Чтобы загрузить установленную систему с жесткого диска, нужно извлечь ISO из сервера. После чего сервер автоматически перезагрузится и мы попадем уже в установленный Kali Linux.

Чтобы не платить за смонтированный ISO-образ, его можно удалить из панели управления. Он нам больше не нужен.


Заключение
Готово! Теперь у нас есть дистрибутив Kali Linux, который всегда включен и доступен. Не нужно нагружать основной компьютер виртуальным машинами и страдать, если нужно перезагрузиться.
Это особенно удобно когда нужно запустить какую-то ресурсоемкую программу вроде сканера, и оставить ее выполняться на несколько дней.


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



https://vdsina.ru

Как мы хостили скандальный имиджборд 8chan



8chan (новое название 8kun) — популярный анонимный форум с возможностью пользователей создавать собственные тематические разделы сайта и самостоятельно их администрировать. Известен своей политикой минимального вмешательства администрации в модерирование контента, из-за чего стал популярен у разной сомнительной публики.

После того как на сайте оставили свои послания террористы-одиночки, на форум начались гонения — их стали выгонять со всех хостингов, регистраторы разделегировали доменные имена и т.д.

С правовой точки зрения ситуация с 8chan достаточно спорная, так как администрация декларирует, что следует законам США и удаляет запрещённый контент с сайта, а также выполняет запросы правоохранительных органов. Претензии к 8chan носят скорее морально-этический характер: место имеет дурную репутацию.

2 ноября 2019 к нам на хостинг vdsina.ru пришёл 8chan. Это вызвало оживлённые споры внутри нашего коллектива из-за чего мы решили опубликовать этот пост. В статье рассказывается история гонений на 8chan и почему мы в итоге решили предоставить хостинг проекту 8chan (который всё равно закрылся).

Хронология событий
Мы не будем описывать конкретные эпизоды трагедий, участники которых как-либо упоминаются в контексте 8chan. Отношение к этим событиям однозначно для любого здорового человека и не является для нас предметом споров. Главный вопрос, который мы хотим поднять — это может ли поставщик услуг выступать в роли цензора и решать кому отказывать в предоставлении сервиса, основываясь не на букве закона, а на своём представлении о морали.

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

Исключение из поисковой выдачи Google
В августе 2015 сайт 8ch.net перестал показываться в поисковой выдаче Google. В качестве причины для удаления было указано «Жалобы на контент, содержащий насилие над детьми». При этом правила сайта явно запрещали публикацию такого контента и с самого сайта 8ch.net подобный медиа-контент оперативно удалялся.

Спустя несколько дней, после публикации на ArsTechnica, сайт 8ch.net частично вернулся в поисковую выдачу Google.

Отключение от CloudFlare

Сайт 8chan использовал сервис CloudFlare для защиты от DDoS-атак и в качестве CDN. 5 августа 2019 года в блоге Cloudflare был опубликован большой пост о том почему они решили прекратить обслуживание 8chan.

Вот краткие выдержки из этого поста:
… стало известно, что подозреваемый в расстрелах террорист был вдохновлён интернет-форумом 8chan. Основываясь на предоставленных доказательствах, можно утверждать, что он выложил целую речь прямо перед тем, как убить 20 человек.

...8chan не раз подтверждал звание выгребной ямы для ненависти.

— Cloudflare о прекращении обслуживания 8chan


В своём посте CloudFlare сравнивает сайт 8chan с другим скандальным сайтом, антисемитским новостным изданием The Daily Stormer, которому так же ранее было отказано в обслуживании. Однако главное отличие The Daily Stormer от 8chan в том, что первый сайт прямо позиционируется как антисемитский и контент публикуется самими авторами сайта, в то время как на 8chan весь контент является пользовательским, точно так же, как в условном facebook или twitter. При этом позиция администрации 8chan состоит в том, чтобы не вмешиваться в контент пользователей «сверх того, что требует закон США». То есть администрация сайта блокирует, к примеру, сцены насилия над несовершеннолетними, но не запрещает дискуссии.

CloudFlare явно осознают неоднозначность своего решения, когда пишут, что им оно не слишком нравится, но при этом полностью законно.
Нам по-прежнему крайне неудобно находиться в роли судей контента и мы не планируем часто делать это. Многие ошибочно предполагают, что причина тому — первая поправка США. Это не так. Во-первых, мы частная компания и мы не ограничены первой поправкой. Во-вторых, подавляющее большинство наших покупателей, и более 50% нашего дохода приходит из-за границ США, где, ни первая поправка, ни аналогичная ей либертарианская защита свободы слова не применимы. Единственное сходство с первой поправкой здесь в том, что мы имеем право выбирать с кем вести бизнес, а с кем нет. Нас не обязывают вести бизнес со всеми.

— Cloudflare о прекращении обслуживания 8chan


Новость о решении CloudFlare вызвала резонанс в интернете. Под постом появилось много возмущённых комментариев. Один из верхних комментариев, при сортировке по числу лайков, принадлежит хабраюзеру ValdikSS

Вольный перевод:
Чо? Почему вы называете 8chan сайтом ненависти и обвиняете его в «беззаконии»? Это просто движок, на котором любой может создать свою борду и самостоятельно её администрировать. Как можно сравнивать это с The Daily Stormer, новостным сайтом со своим администратором?

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


Отключение хостинга
После отключения от CloudFlare обнаружился реальный IP хостинг-площадки 8chan. Это были адреса дата-центра Voxility. Официальный аккаунт Voxility в твиттере написал, что адреса принадлежали реселлеру под названиями Epik/Bitmitigate, которого сразу отключили.


Переезд в Россию
Спустя три месяца после отключения хостинга, сайт возобновил работу под новым именем 8kun.net. Согласно расследованию CBS News, сперва сайт развернулся на площадке Selectel, но в тот же день был заблокирован. После чего переехал к нам.

Почти сразу один из наших бизнес-партнёров потребовал заблокировать ресурс, потому что 8kun нарушает их AUP. Мы начали искать возможность предоставить хостинг для 8kun, не нарушая партнёрских договорённостей и как только нашли такой, разблокировали серверы 8kun. К тому моменту ресурс успел переехать на Medialand.

Мы приняли решение не блокировать сайт, пока он не нарушает законы стран, в которых мы работаем.

Подпольный хостинг Medialand
Вскоре домен 8kun.net стал указывать на IP-адрес 185.254.121.200, который формально не должен принадлежать никому, так как находится в нераспределённом пуле адресов и официально не выделен ещё ни одному провайдеру. Однако этот адрес анонсируется из автономной системы AS206728, которая по данным Whois принадлежит провайдеру MEDIALAND. Это русский подпольный хостинг, получивший известность после расследование Брайна Кребса — Крупнейший пуленепробиваемый хостинг.

Компания «Медиа Лэнд» принадлежит россиянину Александру Воловику, и по мнению Брайана Кребса и других исследователей, используется для хостинга мошеннических проектов, контрольных панелей ботнетов, вирусов и прочих преступных целей.

Доклад на конференции BlackHat USA 2017 о сетевой инфраструктуре преступников, в которой фигурирует хостер «Медиа Лэнд».

Разделегирование доменов
За время существования сайта, у него сменился владелец. Из-за разногласий с прошлым владельцем, доменное имя 8ch.net сохранить не удалось. В октябре 2019 сайт был переименован в 8kun.net и анонсирован перезапуск проекта.

Пока домен 8kun.net был активен, посторонние люди зарегистрировали у регистратора name.com несколько доменов:
  • 8kun.app
  • 8kun.dev
  • 8kun.live
  • 8kun.org

И установили переадресацию на домен 8kun.net. Все эти домены были разделегированы Name.com якобы за нарушение правил, при этом заблокировав возможность переноса доменов к другому регистратору. Об этом сообщил владелец доменов.

Вскоре домен 8kun.net был разделегирован по заявлению бывшего владельца.

Некоторые время сайт был доступен по адресу 8kun.us, но и этот домен был разделегирован.
Забавный момент — нам писал регистратор этого домена с просьбой заблокировать хостинг, хотя сами они могли выключить домен в один клик.


На текущий момент сайт 8chan полностью недоступен в клирнете (обычном интернете) и зайти на него можно только через сеть TOR используя onion-адрес.

Заключение
Мы никоим образом не поддерживаем насилие и нетерпимость в любой форме. Целью данного поста является обсуждение технической и правовой стороны проблемы. А именно: могут ли поставщики услуг самостоятельно, не дожидаясь судебных решений, определять какой ресурс является незаконным.

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

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

Вопрос сложный и легко можно найти аргументы как за, так и против блокировки 8chan. А как вы считаете?



https://vdsina.ru

Selectel автоматизировал работу с серверами до уровня облака



Провайдер ИТ-инфраструктуры Selectel разработал и внедрил новую систему управления выделенными серверами. Время от заказа до получения доступа к серверу сократилось до 120 секунд. Все операции осуществляются в автоматическом режиме.

Серверы готовой конфигурации доступны к заказу онлайн в обновленной панели управления. Их подготовка и передача клиентам проходят без привлечения технических специалистов. На получение доступа к серверу без операционной системы уходит от 120 секунд до пяти минут. Установка выбранного заказчиком базового программного обеспечения происходит также автоматически.

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

Помимо этого, в системе управления реализована поддержка API, что существенно упрощает работу с серверами.

Константин Ансимов, директор по развитию сервиса «Выделенные серверы» Selectel
Последние полтора года мы посвятили автоматизации сервиса, чтобы полностью исключить инженеров из процесса предоставления услуги. Новая система управления превратила железные по природе серверы в bare metal cloud. Теперь выделенные серверы подходят, например, для быстрого увеличения мощностей в моменты пиковых нагрузок и для запуска проектов в сжатые сроки на короткий период времени.
Даже работая над серьезными техническими изменениями, мы не забываем о приятных мелочах. Появилась такая и в этом релизе — новым серверам присваиваются имена известных ученых. Если легендарный «Эйнштейн» вызовет относительно противоречивые чувства, его можно заменить на гениального «Хокинга» или логичного «Гаусса

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

Selectel локализует облачную платформу в регионах



Провайдер ИТ-инфраструктуры Selectel расширяет географию своего бизнеса и выходит за пределы Москвы и Петербурга. Компания начнет работать в пяти регионах России и ближнего зарубежья до конца 2020 года. Инвестиции в экспансию составят до 300 миллионов рублей. Запуск первого регионального узла облачной платформы Selectel состоялся в Новосибирске 5 декабря.

В проект в Новосибирске инвестировано около 60 миллионов рублей при ожидаемом сроке окупаемости до трех лет. В региональной точке присутствия доступны все функции и технологии облачной платформы Selectel по единым для всей сети ценам.

Олег Любимов, генеральный директор Selectel
Последние несколько лет российский облачный рынок непрерывно рос в объеме и развивался качественно, в первую очередь в столице. Однако в настоящее время мы видим большой потенциал в регионах и в среднесрочной перспективе ожидаем там появление спроса, сопоставимого с Москвой и Петербургом. Этому способствуют цифровизация на добывающих и промышленных предприятиях, развитие электронной коммерции, внедрение информационных систем в государственных сервисах

До конца 2020 года Selectel планирует открыть точки присутствия в Екатеринбурге, Хабаровске, Минске и Ташкенте. Как и Новосибирск, это удаленные от Москвы деловые центры, где локализация хранения и обработки данных имеет экономический смысл и делает работу пользователей с сервисами удобнее.

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

Олег Любимов, генеральный директор Selectel
Сегодня во многих региональных центрах трудно получить тот же опыт использования облаков федеральных провайдеров, что и в Москве с Петербургом. В ближнем зарубежье ситуация аналогична. Это обусловлено качеством каналов связи и стоимостью трафика, а также рядом причин географического характера.
Размещение в регионе облака Selectel кардинально меняет там ситуацию с ИТ-инфраструктурой и избавляет пользователей от неудобств. При этом мы предлагаем локальным провайдерам и интеграторам разные варианты партнерства по моделям revenue share и white label, чтобы совместно развивать местный рынок

Облачная платформа Selectel была представлена в 2015 году. Сегодня она предлагает широкий набор инструментов и решений — от виртуальных серверов до микросервисов и функций бессерверных вычислений. На базе облачной платформы Selectel можно развернуть простую тестовую среду или создать виртуальный дата-центр корпоративного класса.

«Путь в облако рано или поздно проделают все». ИТ-эксперт — о цифровом будущем



Федеральные игроки ИТ-рынка все чаще обращают внимание на Новосибирск, высоко оценивая его перспективы на пути к цифровизации бизнеса. Почему?
Провайдер ИТ-инфраструктуры Selectel запустил в Новосибирске первый региональный узел своей облачной платформы, инвестировав в проект около 60 млн руб.

По мнению генерального директора Selectel Олега Любимова, сегодня в Новосибирске и других городах Сибири трудно получить тот же опыт использования облаков федеральных провайдеров, что и в Москве, и это обусловлено качеством каналов связи и стоимостью трафика, а также рядом причин географического характера. «ДК» поговорил с экспертом об этих причинах, а также о том, чем федеральным игрокам становится так интересен Новосибирск, и каковы перспективы рынка облачных услуг в нашем городе.

Расскажите подробнее о причинах растущего интереса к Сибири. Как здесь изменить качество каналов связи, над чем нужно работать регионам?
В подавляющем большинстве случаев облака федеральных провайдеров развернуты в дата-центрах в Москве и Петербурге. Заказчикам из сибирского региона целесообразно выбирать эти локации, если их конечные клиенты находятся в европейской части страны. Но если сервисы ориентированы на локальные рынки Сибири, расстояние до центральной России оборачивается большими сетевыми задержками (latency) и делает работу с ними некомфортной. Изменить это невозможно, так как задержки на каналах обуславливаются ограничениями на физическом уровне (конечностью скорости света).

Например, в IP-телефонии значительные сетевые задержки приводят к «деградации голоса» — собеседники не понимают друг друга из-за помех. Различные сервисы категории SaaS (когда программное решение распространяется по подписке из облака), от мессенджеров до систем управления предприятиями, тоже находятся в критичной зависимости от latency, поскольку должны проводить десятки тысяч операций в секунду. От цены трафика и скорости передачи данных прямо зависит доступность услуг резервного копирования, которые необходимы для надежной защиты информации.

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

Какие перспективы развития рынка в Сибири вы видите — за счет чего здесь будет расти спрос? Как в связи с этим будут меняться цены?

Мы видим, что в Сибири растет объем потребления облачных услуг. Этому способствуют цифровизация на добывающих и промышленных предприятиях, развитие электронной коммерции, внедрение информационных систем в государственных сервисах. Эти категории заказчиков активно увеличивают расходы на ИТ. Но им не выгодно создавать собственную ИТ-экспертизу, и они ждут решений «под ключ» от профессиональных поставщиков.

Рост спроса будет сопровождаться ростом предложения — это естественный процесс развития рынка. Между сервис-провайдерами появится реальная конкуренция. Она гармонизирует рынок — его постепенно покинут игроки с дешевыми некачественными услугами и с необоснованно высокими ценами.

Насколько важно развивать информационные технологии в регионах, от чего зависит это развитие?
Развитие информационных технологий сегодня во многом определяет качество жизни. Поэтому для регионов, которые все активнее конкурируют между собой за человеческий капитал, это одно из приоритетных направлений. Новосибирская область находится в авангарде цифровизации. Существующий интеллектуальный и экономический потенциал способствует появлению здесь успешных технологических бизнесов. Эксперты CNews Analytics высоко оценивают и действия местных властей по созданию благоприятной налоговой среды для ИТ-компаний. Кроме того, Новосибирск входит в первую десятку субъектов с крупнейшими ИТ-бюджетами, что говорит о масштабном внедрении информационных систем в государственные сервисы.

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

Крупные ИТ-компании пока не спешат отказываться от своих on-premise инфраструктур, доверяя им критически важные информационные системы и постоянные нагрузки. В облака они обычно выносят среды для разработки и тестирования. Смелее используют облачные технологии в традиционных секторах экономики: логистике, медицине, офлайн-ритейле и т. д. Эти компании только начинают «оцифровывать» бизнес и не имеют собственной экспертизы, поэтому готовы довериться профессиональным поставщикам.

Облака потянулись из Москвы



Дата-центры развивают бизнес в регионах.

Один из крупнейших дата-центров Selectel планирует запустить облачную платформу в трех регионах РФ, Минске и Ташкенте, инвестировав до 300 млн руб. Интерес к развитию за пределами столицы проявляют и конкуренты, в том числе 3data и SberCloud. Наибольший спрос на такие услуги сохраняется в Москве, а экспансию может осложнить дефицит квалифицированных кадров, предупреждают эксперты.

Компания Selectel, основанная бывшими акционерами «ВКонтакте» Вячеславом Мирилашвили и Львом Левиевым, 5 декабря запустила в Новосибирске узел собственной облачной платформы, сообщил «Ъ» представитель компании. По его словам, в проект инвестировано около 60 млн руб., ожидаемый срок окупаемости — до трех лет. До конца 2020 года компания запустит такие узлы в Екатеринбурге, Хабаровске, Минске и Ташкенте, инвестиции составят до 300 млн руб., уточнили в Selectel. «Мы видим рост потребления облачных услуг в регионах», — сообщил гендиректор Selectel Олег Любимов. По его словам, компания будет сотрудничать с провайдерами и интеграторами по моделям разделения доходов, в том числе оказывая услуги под брендом партнера, и не исключает строительства собственной площадки.

По итогам 2018 года Selectel вошла в число 15 крупнейших компаний в РФ по объему выручки от услуг аренды облачной инфраструктуры с долей 7,4%, следует из отчета iKS-Consulting. В сегменте лидировали подконтрольный «Ростелекому» РТК-ЦОД (16,4%), входящая в группу «Айтеко» «Сервионика» (10,15%), DataLine (9,4%) и КРОК (7,6%). Рынок облачных услуг в России в 2019 году вырастет на 25%, до 86 млрд руб., а в 2020 году достигнет 106,6 млрд руб., прогнозирует iKS-Consulting.

«Предоставление услуг облачной платформы как сервиса (PaaS) достаточно новое направление для рынка и может стать востребованным региональными заказчиками, в том числе средним бизнесом», — считает ведущий консультант iKS-Consulting Станислав Мирин. Selectel потребуется локальная поддержка облака, и компания может столкнуться с дефицитом квалифицированных кадров в регионах, предупреждает он. По похожей модели в регионы выходит московская компания 3data, отмечает Станислав Мирин. 3data сотрудничает с китайской Huawei, которая вышла на российский рынок облачных услуг, и с облачной платформой Сбербанка SberCloud, напоминает он. В течение десяти лет 3data планирует расширить свою сеть дата-центров с 10 до 200, сообщал «Ъ» 26 сентября. Летом 2019 года SberCloud запустила свою франшизу в регионах, сообщала ранее компания. По оценке Станислава Мирина, наиболее активным региональным игроком на рынке является «Ростелеком». 27 ноября оператор сообщил, что ввел в эксплуатацию ЦОД в Екатеринбурге.

Судя по инвестициям Selectel, компания планирует небольшие инсталляции облака для удовлетворения минимального спроса, отмечает директор CloudMTS Олег Мотовилов. «Оказание услуг по партнерской схеме — распространенная практика», — говорит он. Работа с партнерами может быть хорошим решением для выхода на региональные рынки, если в приоритете будет ориентация на качество, указывает гендиректор IXcellerate Гай Вилнер. IXcellerate, управляющая дата-центром в Москве, не будет создавать собственную облачную платформу, добавляет он. Наибольший спрос на облачные услуги наблюдается в Москве, где сосредоточен бизнес, констатирует директор по развитию «КРОК Облачные сервисы» Максим Березин. В «Ростелекоме», 3data и SberCloud отказались от комментариев.

Введение в SSD. Часть 2. Интерфейсная



В прошлой части цикла «Введение в SSD» мы рассказали про историю появления дисков. Вторая часть расскажет про интерфейсы взаимодействия с накопителями.

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

Физическая реализация интерфейса влияет на следующие параметры:
  • пропускная способность канала связи;
  • максимальное количество одновременно подключенных устройств;
  • количество возникающих ошибок.
Дисковые интерфейсы построены на портах ввода-вывода, что является противоположностью вводу-выводу через память и не занимает место в адресном пространстве процессора.

Подробнее
blog.selectel.ru/ssd-interfaces/

Как выиграть в масштабной игре по миграции баз данных

В наших предыдущих статьях мы объясняли, почему нам пришлось переместить 800 000 баз данных из одного центра обработки данных в 300 километров. Итак, мы… Моя команда и я сделали это! Это была настоящая горелка мозгов, так что я надеюсь, что наша история поможет вам рассмотреть больше огромных технических проектов, с которыми мы любим играть.


Правила
  • Чтобы уменьшить задержку, база данных должна быть перенесена одновременно с использованием веб-сайта.
  • Поскольку базы данных распределены по всем доступным серверам MySQL, гранулярность миграции должна быть базой данных, а не экземпляром MySQL. Другими словами, мы не можем перенести весь сервер MySQL. Мы должны переместить только часть этого.
  • Поскольку на ссылку между веб-сайтом и его базой данных нет необходимости ссылаться, веб-сайт в Gravelines должен иметь возможность связаться с базой данных в Париже (например), и наоборот.
  • Чтобы связаться со своей базой данных, веб-сайт использует имя хоста, имя пользователя и пароль. Мы хотим, чтобы миграция была прозрачной, поэтому никому не нужно менять какие-либо из этих элементов для связи с их новой базой данных.
  • Платформы баз данных меняются между Парижем и Гравелином, как показано ниже.
Подводя итог, вот что мы имеем до миграции веб-кластера:

И это то, что мы хотим после миграции:


Еще несколько вещей…
  • Очевидно, что мы имели в виду одну из самых важных вещей при работе с базами данных: согласованность. Для каждой базы данных мы должны были определить точку согласованности. До этого момента на временной шкале чтение / запись производились в Париже. После этого чтение / запись были сделаны в Gravelines.
  • Мы верим в прозрачность и обратимость. Это обе ключевые части нашего облака SMART. Вот почему мы хотели предоставить вам доступ к этой точке согласованности в виде дампа на вашей панели управления OVHcloud. Для каждой перенесенной базы данных мы решили предоставить вам доступ к дампу на один месяц.
  • Миграция 800K баз данных примерно за 60 ночей означала, что мы должны быть очень быстрыми и масштабируемыми. Наш рекорд был 1 июля 2019 года, когда мы успешно мигрировали 13502 базы данных за 1 час 13 минут и 31 секунду.
  • Если вы привыкли быть на дежурстве, вы знаете, что ваше внимание и эффективность снижаются ночью. Повторение процесса миграции примерно 60 раз в год усилит это, поэтому мы хотели, чтобы все было максимально автоматизировано и максимально просто. Как мы увидим позже, чтобы запустить миграцию базы данных, нам просто нужно было выполнить одну команду на одном хосте:
migrate-p19
Теперь вы знаете правила, пора начинать игру!

1-й уровень
Первый уровень всегда легкий, где вы узнаете, как игра работает, с помощью своего рода учебника! Итак, начнем с небольшой миграции базы данных. Вот как мы это делаем:

1. У источника (Париж)
  • Установите режим только для чтения. Нам абсолютно необходимо избегать записи во время миграции, чтобы избежать знаменитого раскола мозга. Самый простой способ сделать это — перевести базу данных в режим только для чтения. В большинстве случаев веб-сайтам нужно только читать базы данных, но в некоторых случаях им нужно чтение и запись, и поэтому они будут повреждены. Это не проблема, потому что сайт в настоящее время перенесен и закрыт. Мы заблокируем доступ на запись в случае, если база данных используется другим хостом, на который не влияет ночная миграция.
  • Дамп базы данных и положить куда-нибудь дамп. Мы решили хранить дампы в общедоступном облачном хранилище (PCS) OVHcloud, поскольку мы уже используем это решение для хранения 36 миллионов дампов в месяц. Добавление 800 000 дампов в год — не проблема для этой потрясающей платформы!
  • 3 минуты и 31 секунда.
Если вы привыкли быть на дежурстве, вы знаете, что ваше внимание и эффективность снижаются ночью. Повторение процесса миграции примерно 60 раз в год усилит это, поэтому мы хотели, чтобы все было максимально автоматизировано и максимально просто. Как мы увидим позже, чтобы запустить миграцию базы данных, нам просто нужно было выполнить одну команду на одном хосте:


2. В пункте назначения (Гравелин)
Получить дамп и импортировать его.
Создайте пользователя и разрешения с правами записи.


3. Переключиться на новую базу данных
На данный момент сайт все еще вызывает базу данных в Париже. Таким образом, веб-сайт (независимо от того, находится ли он в Париже или Gravelines) может связываться с новой базой данных, мы будем обновлять DNS, чтобы имя указывало на экземпляр Gravelines MySQL, а не на Париж.
Доступ для чтения к парижской базе данных также удален.
Наконец, мы обновим нашу информационную систему, чтобы вы могли получить дамп с PCS через панель управления. Это обновление также позволяет нам перенаправить все действия, доступные из панели управления (например, изменить пароль, создать дамп), в новую базу данных на Gravelines.


Уровень 2: «Децентрализованный конечный автомат»
Чтобы подтвердить концепцию миграции, сначала мы выполнили все эти шаги вручную и последовательно. Естественный способ автоматизировать это — написать скрипт, который сделает то же самое, но быстрее. Это централизованный метод, но такие методы рано или поздно сталкиваются с узкими местами и предполагают единую точку отказа.

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


Используя этот конечный автомат, мы можем выполнить эти три больших шага на разных машинах для распараллеливания рабочей нагрузки:
  • Источник
  • Пункт назначения
  • Тот, который обновляет DNS
Эти три хоста могут выполнять свои задачи независимым и децентрализованным способом. Все, что им нужно сделать, это посмотреть граф состояний, чтобы увидеть, есть ли у них что-то, и, если да, обновить его и выполнить задачи.

Мозг миграции: CloudDB
Мы любим концепцию «ешь свою еду»! Это самый лучший контроль качества, и благодаря отзывам, которые вы нам предоставили, наш первый источник запросов по функциям. Поэтому неудивительно, что мы использовали наш собственный продукт CloudDB для хранения графиков состояний миграций баз данных.

Технически граф состояний — это строка в таблице. Упрощенная структура этой таблицы выглядит следующим образом:
- database_name VARCHAR(255) PRIMARY KEY,
- source VARCHAR(255),
- destination VARCHAR(255),
- status VARCHAR(255) NOT NULL DEFAULT 'Waiting',
- dump_url TEXT


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

Мы победили все проблемы этого уровня. Теперь пришло время победить финального монстра!

Уровень 3: Миграция 800K баз данных
Теперь, когда мы знаем, как переносить одну базу данных децентрализованным способом, давайте заполним CloudDB всеми базами данных, которые мы хотим перенести! Вот как выглядит миграция:

В Париже
Примерно раз в минуту * каждый хост из 780 серверов баз данных спрашивает CloudDB, есть ли у них что-то, что нужно выгрузить. Столбцы источника и состояния таблицы используются для получения этой информации:
SELECT … WHERE source = me AND status = 'To dump';

Если это так, они выполняют свои задачи и обновляют CloudDB о том, что они делают. Когда они закончат, они передают эстафету для этой миграции Гравелинам:
UPDATE … SET status = 'To import' WHERE database_name = '…';


В гравелинах
В то же время, в 300 километрах, сотни серверов баз данных также спрашивают CloudDB, есть ли у них что-то для импорта. Как и в Париже, они запрашивают CloudDB примерно раз в минуту *. Столбцы назначения и состояния таблицы используются для получения этой информации:
SELECT … WHERE destination = me AND status = 'To import';

Если это так, они выполняют свои задачи и обновляют CloudDB о том, что они делают. По завершении они передают эстафету третьему роботу, который изменит записи DNS для этой миграции базы данных:
UPDATE … SET status = 'DNS to update' WHERE database_name = '…';


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

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

Не так просто ...
Конечно, реальная игра была более сложной. Это была упрощенная версия миграции, в которой некоторые шаги отсутствуют или недостаточно подробны, например:
  • Предотвращение записи в исходную базу данных
  • Обновление IS (среди прочего), чтобы вы могли видеть дамп в панели управления
  • Установка пароля в пункте назначения (так же, как в источнике), не зная его
  • И многие другие
Но теперь, когда у вас есть концепция основных шагов, вы можете представить, как мы справились с остальными.

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

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

Но для этого босса есть чит-код: итерация!
  • Начните миграцию
  • Столкнуться с проблемой
  • Исправьте это окончательно (не только для конкретного случая, который потерпел неудачу, но также и для всех подобных случаев на всей платформе)
  • Тогда попробуйте еще раз, быстрее!
Этот метод возможен благодаря двум вещам:
  • Волшебная команда
  • Большая красная кнопка

Волшебная команда
Как упоминалось выше, для запуска миграции базы данных нам нужно было выполнить одну команду на одном хосте:
migrate-p19
Эта магическая команда имеет один параметр: количество параллельных миграций, которые вы хотите выполнить. Мы использовали 400 для этого параметра.
migrate-p19 --max-procs 400

Это означает, что 400 баз данных выгружаются или импортируются одновременно — не больше, не меньше.

Команда migrate-p19 является планировщиком. Он обновляет CloudDB каждые 10 секунд, поэтому мы всегда выполняем эти 400 миграций параллельно:
SELECT COUNT(database_name) … WHERE status in ('To dump', 'Dumping', 'Dump failed', 'To import', …);
42
UPDATE … SET status = 'To dump' WHERE status = 'Waiting' LIMIT (400 - 42);


Приостановить игру: большая красная кнопка
На каждой машине обязательно иметь большую красную кнопку, чтобы нажимать, когда что-то не так. Чтобы прервать миграцию по той или иной причине, нам просто нужно убить скриптigration-p19. Когда мы делаем это, текущие миграции прекращаются, после чего новые не запускаются.

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