Pull to refresh
100.45
Oxygen Cloud Platform
Облака, дата-центры, кибербез

В поисках ПАК: импортозамещаем немецкое «железо» в российском ЦОД

Level of difficultyMedium
Reading time5 min
Views6.6K

Привет, Хабр! Меня зовут Артем, я инженер по виртуализации в Oxygen Data Centres & Clouds. Любой облачный провайдер и оператор ЦОД может столкнуться с задачей проброса USB-портов виртуальным машинам, которым нужен доступ к определенным устройствам. И чем серьезнее требования к безопасности этих флешек – тем сложнее реализовать такое решение на практике. Сегодня я расскажу о нашем пути к выбору ПАК (программно-аппаратного комплекса) для решения задач с флешками и чем нас обрадовало найденное российское решение, когда немцы решили больше не поставлять свою технику.

Все началось с того, что у нас появился клиент, который массово использовал флешки RuToken. Ему нужно было запускать огромное количество лицензированных рабочих мест 1С, каждое из которых сопровождалось соответствующим ключом на 512 Кб. Казалось бы, дело несложное — достаточно лишь вставить эти ключи в нужные серверы. Но…

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

Мы используем умную балансировку нагрузки, между 60 хостами ВМ остаются на сервере и штатно съезжают при балансировке нагрузки или выводе хоста на обслуживании – будь это рабочее место бухгалтера или интерфейс входа на корпоративный портал. Вообще manual mode действительно возможен, но только если у вас, скажем, всего 3 хоста и нет никакой балансировки.

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

Что делать? Использовать ПАК с большим количеством USB-портов, который будет максимально быстро предоставлять доступ к ключу. Сначала мы нашли решение от DIGI. Оно неплохое, но не позволяет раскидывать USB по разным VLAN. То есть построить экосистему на DIGI можно, но только под одного клиента — если какой-то компании нужно пробрасывать много ключей.

Но у нас стало появляться все больше и больше клиентов, которым нужно работать с электронными подписями (ЭЦП) в рамках нашей инфраструктуры. И мы выбрали SEH dongleserver ProMAX. Какое-то время мы работали с ними, но в 2023 году эти устройства вообще пропали с российского рынка — нельзя ни купить, ни получить поддержку.

Импортозамещение в действии

И мы начали искать российские решения. И ведь нашли! Это оказалась модель NIO-EUSB 16EPCL. Мало того, что эта система позволяет провести разделение по VLAN, она еще и отличается большей отказоустойчивостью.

Итак, что у нее есть:

  • два порта Ethernet;

  • 16 портов USB, в которые мы можем вставлять любые ключи;

  • скорость передачи одного потока USB — 14 Мбит/с;

  • скорость всех потоков USB — 33 Мбит/с;

  • шифрование трафика —- SSL.

В ЦОД Oxygen (посмотреть на него можно вот здесь) с безопасностью все строго – чужие здесь не ходят. Поэтому внешнее размещение флешек нас устроило. Но у NIO Electronics есть и более защищенные версии ПАК – на случай, если чужие все-таки зайдут.

Этот метод защиты, кстати, ничем не уступает немецкой железке ProMAX. Если предположить, что условный Том Круз или любой другой любитель невыполнимых миссий залезет в ЦОД с целью похитить флешку с очень важной ЭЦП (например, с лицензионными ключами к 1С), в специальной версии NIO он встретит настоящий сейф из металла. Утащить получится только вместе со стойкой!

Итан Хант, ты уволен!
Итан Хант, ты уволен!

Но вернемся к более реалистичным сценариям. В NIO-EUSB мы нашли очень полезный функционал, которого, кстати, не было в SEH ProMAX. Маркировка EPCL отличает высокодоступную версию, два носителя информации – SD-карты.

Контроллеры объединены в кластер с единым IP. Клиент подключается к кластерному IP и при возникновении проблем с основным контроллером (мало ли что может быть — неисправность, проблема с сетевым подключением до L3 уровня включительно и так далее) переключение USB-портов на резервный контроллер происходит быстро.

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

Преимущества российского вендора

Внутри самого устройства установлен процессор ARM, а также специальная версия Linux. Есть среда разработки, так что, в принципе можно посмотреть на то, как работает устройство и при необходимости допилить что‑то под себя.

Некоторые доработки «железа» под наши задачи пришлось проводить вместе с вендором. Они касались поддержки прошивкой нужных нам функций — то есть изоляции ключей по различным VLAN, разделение флешек по портам TCP и выделенный доступ к интерфейсу управления. Но команде NIO Electronics потребовалось всего неделя, чтобы выкатить новую прошивку и обеспечить соответствие своего ПАК нашим запросам.

«Собственная экспертиза по разработке прошивки позволила нам быстро реализовать нужные коллегам из Oxygen функции — разделение USB устройств по пулам (пулы в нашей терминологии — выделенный TCP‑порт для группы USB устройств), а также дополнен плагин конфигурации сетевых настроек — добавлено конфигурирование VLAN», — рассказал Роман Воронцов, генеральный директор NIO Electronics.

Когда процесс был завершен, стало понятно, что получить нужные функции на контакте с вендором намного удобнее, чем искать железку, которая поддерживает «хотя бы 2 из 3». ПАК NIO-EUSB – аналог ProMAX и DIGI, который при этом отличается большей гибкостью и более высокой надежностью. В принципе, учитывая высокую скорость USB-портов, это решение вполне можно использовать и для других задач.

Сейчас Oxygen использует два ПАК NIO-EUSB 16EPCL — в кластерах ФЗ и МСК-3, но в любой момент мы можем добавить еще этих комплексов, если нашим клиентам потребуются новые USB-ключи. При этом разделение по VLAN не требует добавления нового железа под каждого заказчика. Вообще мы оценили удобство работы с российским вендором, который идет навстречу, и в итоге получили даже более гибкое решение, чем было у нас раньше. Функция отказоустойчивости тоже радует — хотя в ЦОД O2C ни разу не было отказа подобного оборудования, понимание, что оно зарезервировано служит поводом для дополнительного спокойствия. Кстати, коллеги продолжают активно развивать свою платформу. 

«Сейчас мы работаем над обновлением web-панели, возможностями включения/отключения портов по расписанию, расширением функционала для плагина событий. Также запланировано обновление аппаратной платформы для поддержки USB3.0 и 10Gb/s Ethernet, что позволит подключать даже самые высокопроизводительные устройства с распределением по VLAN», — говорит глава NIO Electronics.

Спасибо за уделенное статье время! Надеюсь, наш опыт вам пригодится.

А с какими ПАК вы работаете? И как вы замещали импортное железо и софт, удалось ли найти отечественные аналоги? Расскажите об этом в комментариях к статье!

В Telegram-канале Oxygen мы пишем про «железо», его поиски и прочие интересные штуки, подписывайтесь!

Tags:
Hubs:
Total votes 26: ↑24 and ↓2+25
Comments12

Articles

Information

Website
oxygen.cloud
Registered
Founded
Employees
201–500 employees
Location
Россия
Representative
vvroschin