Серверы
  • Готовые серверы
  • Конфигуратор
  • Серверы с 1CPU
  • Серверы с 2CPU
  • 4 поколение AMD EPYC
  • Серверы с AMD Ryzen и Intel Core i9
  • Серверы для хранения данных
  • Cерверы с портом 10 Гбит/c
  • Премиальные серверы
  • Серверы с большим объемом RAM
  • GPU
  • Распродажа
  • VPS
  • VPS / VDS серверы
  • Хостинг с ispmanager
  • GPU
  • Выделенные серверы с GPU
  • Виртуальные серверы с GPU
  • GPU-серверы с Nvidia RTX 5090
  • GPU-серверы с Nvidia RTX 6000 PRO
  • GPU-серверы с AMD Radeon
  • Распродажа
    Маркетплейс
    Colocation
  • Размещение серверов в дата-центре в Москве
  • Обслуживание серверов в других ЦОД
  • Прокат
    Услуги
  • Аренда сетевого оборудования
  • Защита L3-L4 от DDoS атак
  • IPV4 и IPV6 адреса
  • Администрирование серверов
  • Уровни технической поддержки
  • Мониторинг сервера
  • BYOIP
  • USB диск
  • IP-KVM
  • Трафик
  • Коммутация серверов
  • AI-чат-бот Lite
  • AI-платформа
  • О нас
  • Работа в HOSTKEY
  • Панель управления серверами и API
  • Дата-центры
  • Сеть
  • Тест скорости
  • Специальные предложения
  • Отдел продаж
  • Для реселлеров
  • Гранты для специалистов по Data Science
  • Гранты для научных проектов и стартапов
  • Документация и Частые вопросы
  • Новости
  • Блог
  • Оплата
  • Документы
  • Сообщите о нарушении
  • Looking Glass
  • 16.09.2022

    Настраиваем распределенную систему управления образами ISO с использованием BitTorrent

    server one

    Мы в HOSTKEY сдаем клиентам в аренду вычислительные мощности на площадках в Амстердаме, Нью-Йорке и Москве, при этом набор инструментов (в т. ч. список доступных образов ISO) должен быть одинаковым во всех локациях. Дистрибутивы могут потребоваться для ручной установки операционной системы на сервер, для выбора особой разметки и/или набора ПО, для восстановления системы, изменения разбивки загрузочного диска, либо если инсталляцию нужной системы мы еще не автоматизировали. Рассказываем, как проблема решается в нашей распределенной инфраструктуре с помощью протокола BitTorrent.

    HOSTKEY
    Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

    Проблема

    В современных серверах есть модули IPMI, позволяющие загрузить файл ISO с компьютера клиента через веб-интерфейс или Java-апплет, но в случае значительной удаленности и/или медленного клиентского канала установка операционной системы может затянуться на часы. Для ускорения процесса логично держать пул наиболее популярных образов в непосредственной близости от сервера, а поскольку большинство модулей IPMI поддерживают монтирование ISO, на каждой из трех площадок у нас есть такое хранилище. Команда на IPMI для монтирования конкретного файла отправляется из клиентской панели управления.

    Пример списка образов:

    Для поддерживаемых нашей HTML5-консолью серверов внутри контейнера доступен идентичный список файлов ISO.

    Еще есть виртуальные серверы, где загрузочный образ монтируется с ISO storage domain соответствующего кластера oVirt, и в итоге мы получаем минимум три хранилища только на одной площадке. Необходимо, чтобы списки образов везде были одинаковыми (так проще поддерживать их актуальность), а также нам нужна уверенность, что выбранный в панели конкретный файл существует и будет смонтирован. Даже если пожертвовать отказоустойчивостью и попытаться повесить все функции по раздаче ISO в пределах датацентра на один сервер, все равно их потребуется не менее трех (по числу локаций).

    Решение

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

    Для использующегося в нашей инфраструктуре дистрибутива CentOS (да и под остальные популярные платформы) есть отличная программа Resilio Sync (бывш. BTSync). Процесс ее развертывания довольно прост: ставим на каждый сервер по экземпляру из пакета rpm и генерируем конфигурационный файл, а также секретный ключ для шифрования трафика между хостами (это мы делаем уже с помощью Ansible).

    Также возможна установка бинарного файла из архива:

    wget https://download-cdn.resilio.com/stable/linux-x64/resilio-sync_x64.tar.gz
    tar -xf resilio-sync_x64.tar.gz
    cp rslsync /usr/local/bin
    ln -s /usr/local/bin/rslsync /usr/local/bin/btsync
    btsync --dump-sample-config > btsync.config
    btsync --generate-secret

    Правим конфигурационные файлы под наши нужды и раскладываем их по серверам. Для каждого сервера задаем "device_name" и актуальный путь к директории с образами: веб-интерфейс для настройки общих директорий нам не нужен, ее можно сразу прописать в блоке shared_folder.

    Пример конфигурации для нашего случая:

    # cat btsync.config
    {
    	"device_name": "isoserver01.example.com",  // уникальное имя для каждого сервера
    	"listening_port" : 58889,
    	"pid_file" : "/var/run/resilio.pid",
    	"use_upnp" : false,
    	"disk_low_priority" : true,
    	"lan_encrypt_data" : true,
    	"lan_use_tcp" : true,
    	"folder_rescan_interval" : 60,
    	"download_limit" : 0,
    	"upload_limit" : 0,
    	"shared_folders" :
    	[
    	{
    		"secret" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX",  // сгенерированный нами ключ
    		"dir" : "/PATH/TO/ISO/",  // путь к синхронизируемой директории
    		"use_relay_server" : false,  // relay-сервера нам не нужны
    		"use_tracker" : false,  // чтобы ничего не отправлялось в BitTorrent Inc
    		"use_dht" : false,  // аналогично
    		"search_lan" : false,  // тоже не нужно, ниже мы зададим хосты списком
    		"use_sync_trash" : true, // удалённые на другом сервер файлы будут попадать в «корзину»
    		"known_hosts" : // список хостов нашей сети P2P 
    		[
    			"isoserver01.example.com:58889",
    			"isoserver02.example.com:58889",
    			"isoserver03.example.com:58889"
    		]
    	}
    	]
    }

    Также необходимо открыть порт в настройках межсетевого экрана (пример для firewalld):

    firewall-cmd --zone=internal --add-port=58889/tcp --permanent
    firewall-cmd --reload

    Чтобы развернуть решение, остается только создать сервис, обеспечивающий автоматический запуск программы при старте ОС. Теперь достаточно добавить файл на любом из хостов (например, в локации, из которой поступил клиентский запрос на новый образ), и через короткое время он появится на остальных. Если файл удалить, на остальных хостах он попадет в поддиректорию .sync/Archive/, и при необходимости образ легко восстановить.

    Что в итоге?

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

    Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

    Другие статьи

    05.09.2025

    Обзор NetFlow-коллектора с визуализацией Akvorado: от развертывания до практического использования

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

    02.09.2025

    Хватит ли мне недорогой VPS? Сравнение VPS по производительности

    Стоит ли экономить на VPS или лучше взять тариф с запасом? Мы протестировали четыре недорогих конфигурации HOSTKEY и наглядно показали, для каких задач хватит минимального тарифа, а где разумнее сразу инвестировать в более мощный сервер.

    31.08.2025

    Foreman в изоляции: как мы построили отказоустойчивую и безопасную систему для массового деплоя ОС

    Делимся опытом трансформации нашей инфраструктуры: от децентрализованных экземпляров Foreman с публичными IP до защищённой, изолированной архитектуры с централизованным управлением через GitLab, повышенной безопасностью и легкой масштабируемостью.

    27.08.2025

    WordPress - путь от простой блог-платформы до лидирующей экосистемы на рынке CMS

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

    27.08.2025

    RTX PRO 6000 Blackwell Server Edition — как NVIDIA запутала всех с новым поколением своих профессиональных GPU

    NVIDIA выпустила сразу три версии RTX 6000 Blackwell — и именно Server Edition оказалась самой загадочной. Мы протестировали её в задачах LLM и генерации видео и сравнили с RTX 5090, A5000 и H100. Результаты вас удивят.

    Upload