
Привет, постоянные и не очень читатели!
Недавно на Хабре вышел лонгрид «Поймай меня, если сможешь [часть 1]: облако на Huawei Cloud Stack — что это, как используют и лицензирование», в котором я рассказал про платформу Huawei Cloud Stack (HCS) — как она устроена и почему крупные компании вообще смотрят в её сторону, лицензирование и многое другое.
Что ещё было:
Там же было немного про архитектуру и сценарии использования платформы в продакшене: пулы ресурсов, мультиоблачность, варианты отказоустойчивости, высокой доступности и аварийного восстановления, edge-инфраструктура (периферийная), различно ПО, вроде ManageOne (центр управления ЦОДом и облачными ресурсами), и прочие радости корпоративной жизни с Huawei Cloud Stack. В общем, есть что почитать.
Но платформа HCS больше, чем сумма её частей: первый лонгрид (при всех моих стараниях) всё равно получился лишь аннотацией к Сильмариллиону. Той теории достаточно для поверхностного знакомства, теперь же обсудим подготовку к миграции: аудит инфраструктуры, разберёмся с RPO и RTO, посмотрим на совместимость виртуальных машин и образов, а самое главное — обсудим стратегии миграции по методологии AWS, которые можно применить не только к HCS, но и к любому другому облаку.
|
Дисклеймер! Информации по сабжу очень много, поэтому я собрал только самую важную (по моему мнению) информацию и разбил её на В первой части, доступной по ссылке, я рассказал, что такое Huawei Cloud Stack, почему его выбирают, как применяют в проде (основные сценарии) и как там устроено лицензирование. Во второй части (то бишь в этой) — про подготовку к миграции рабочих нагрузок на Huawei Cloud Stack. Часть информации, особенно про стратегии миграции, будет полезна при в любых других облаках, а не только для HCS. В третьей части — практические моменты, как подготовить сеть в HCS, перенести физические серверы и виртуальные машины, организовать миграцию данных и баз данных, а затем — пара слов про тестирование и валидацию. |
Если что-то интересующее вас в материал не попало, то задавайте вопросы в комментариях. Я или хабравчане, которые уже работали с Huawei Cloud Stack, дадим ответ. А в крайнем случае всегда можно изучить официальную документацию — у Huawei она более чем подробная.
Миграция на Huawei Cloud Stack

В целом все актуальные облачные платформы, будь то платные или опенсорс, частные, гибридные или публичные, умеют одно и то же: пулы ресурсов, виртуалки, сети, SDS, контейнеры, высокая доступность, аварийное восстановление и т.д. И, разумеется, они предоставляют ресурсы и сервисы по запросу в рамках своих границ, а потому облако — это в неком роде XaaS (Everything-as-a-Service aka всё как услуга). На даже при схожем конечном результате под капотом у разных облаков и конкретных IT-инфраструктур всё по-своему.
Это значит, что миграция между экосистемами облаков — это всегда столкновение двух океанов: разных моделей управления и подходов к автоматизации, сетевых архитектур, гипервизоров, форматов, систем хранения и различного ПО.
Где-то миграция пройдёт легко, пока админ будет попивать сок у себя на квартале. А где-то её вообще нет смысла проводить — дешевле, надёжнее и быстрее поднять сервисы с нуля, чем переносить легаси-хвосты из сомнительных или устаревших решений. Отдельное удовольствие админов и всех причастных — миграция высоконагруженных сред и сред, где простой (не антоним к сложному, а вынужденная остановка работы) даже на несколько минут обходится организациям неприлично дорого: банкам, телекому, промышленности, госам или облачным провайдерам и различным гиперскейлерам. Всё это — целевая аудитория частных/гибридных облаков в целом и Huawei Cloud Stack в частности.
Huawei, конечно, пишет в маркетинговых буклетах и документации про бесшовную миграцию, но это касается лишь редких частных случаев. Глобальная миграция всего и вся — это вопрос критичный и крайне сложный. На один лишь аудит зависимостей могут уйти месяцы, а ещё нужна подготовка, планирование, тесты, закупка решений и инструментов, найм/обучение персонала и много другое.
|
Ремарка! В этой статье я не буду затрагивать ТЭО (технико-экономическое обоснование) таких проектов. Тема миграции и без этого огромна, а если ещё и экономику добавить, то можно сразу методичку страниц на 100-200 расписывать. Также в статье не будет расчётов совокупной стоимости владения (TCO) облака на базе HCS. Я буду исходить из того, что вы уже проделали домашнюю работу и расписали предпроектный документ, который доказывает финансовую выгоду и целесообразность миграции в облако. А я помогу вам с частью про техническую реализацию такого проекта. P.S. Удачи в защите проекта 🙂 |
То, насколько сложно или гладко всё пройдет, зависит от качества предварительного аудита.
Давайте этим и займёмся.
1. Аудит и сбор данных — ваше всё

Без аудита миграцию начинать нельзя — и провести его нужно по всей строгости регламентов IT-инфраструктуре и всему контуру администрирования.
Вам предстоит весёлая работа по инвентаризации всех виртуалок и аппаратных серверов, по описанию лицензий, сервисов и их зависимостей, сетевых конфигов и конфигов хранилищ, различных проблем и рисков. Вы должны четко знать, на каких локалках и подсетях работают сервисы, какие бэкапы уже настроены, какие версии ОС и приложений используют виртуалки, насколько длинный софтовый и аппаратный легаси-хвост у вашей инфраструктуры и с каких годов он тянется. Без этого не получится определить, какие сервисы можно перенести сразу (или нельзя в принципе), а какие позже — после адаптации.
А контур администрирования — это все системы, отвечающие за управление, мониторинг, резервное копирование, безопасность, аварийное восстановление и работу инфраструктуры: Active Directory, DNS, DHCP, PKI, системы мониторинга, логирования, наблюдаемости, SIEM, CMDB, резервное копирование, сервисы автоматизации, средства управления виртуализацией, системы удалённого низкоуровневого доступа к серверам (iLO, iDRAC, IMM, IPMI), а также различные внутренние порталы, скрипты и интеграции. Вы же не хотите получить несовместимости и коллизии?

Другой момент — если раньше у вас не было требований по RPO (Recovery Point Objective, сколько данных можно потерять) и RTO (Recovery Time Objective, сколько времени допускается на восстановление) хотя бы для критичных сервисов, то самое время этим заняться, так как от них напрямую зависят сроки и методы миграции.
|
ПРИМЕР! Бывает инкрементальная миграция с репликацией данных для околонулевого RPO (Recovery Point Objective) и минимального RTO (Recovery Time Objective). Допустим, у компании есть производственная база данных объёмом 20 ТБ. Её копируют в Huawei Cloud Stack несколько дней, а пока идёт перенос, пользователи продолжают работать в штатном режиме. Все новые изменения — транзакции, записи и файлы — непрерывно реплицируются в целевую среду. Поэтому во время финального переключения остаётся синхронизировать лишь последние секунды или минуты изменений. Профит: потеря данных стремится к нулю, а простой сервиса не превысит пары минут. Другой сценарий — миграция внутреннего файлового архива или тестовой среды разработки, где требований как таковых может и не быть (сделайте когда-нибудь, главное — не забудьте). Например, компания переносит в Huawei Cloud Stack старый архив проектной документации объёмом 5 ТБ. В таком сценарии не нужно усложнять перенос непрерывной репликацией и дорогими механизмами переключения: данные можно перенести элементарным пакетным копированием — дёшево и сердито. То есть перед миграцией надо оценить скорость изменения данных. От этого зависит стратегия (холодная, горячая или живая миграция) и требования к сети. |
После этого можно разбить перенос системы на этапы — их называют миграционными волнами. Очевидно, что начинать надо не с ERP или CRM. Сначала разворачивают базовую инфраструктуру в целевой среде (сети, каналы, VPN, бэкапирование, площадку виртуализации или облако и т.д.), а уже потом переносят изолированные (или наименее зависимые) и самые простые системы, чтобы проверить сети, процессы миграции, резервное копирование: у команды будет время протестировать новую платформу, внести правки или, если надо, откатить изменения. Только после этого переходят к среднекритичным сервисам. И если всё хорошо — к критичным бизнес-системам, вроде ERP, CRM и т.п.

Шаги аудита перед миграцией в облако:
-
Проводим инвентаризацию физической инфраструктуры + контура администрирования;
-
Составляем карту зависимостей;
-
Определяем RPO/RTO (хотя бы для критичных систем);
-
Определяем этапы миграции (миграционные волны);
-
Разрабатываем план отката с тестами (он же rollback);
-
Оцениваем совместимость старого с новым (опционально — про это дальше).
И помните: для любого переключения нужно заранее подготовить и протестировать план отката на исходную платформу (это не на время тестов, а на первое время после миграции, когда уже весь прод работает в новом облаке). Даже если вы продумали и протестировали миграцию 10 раз (и тестовая среда работала без сбоев несколько недель). Когда речь о бизнес-процессах, простоях, финансовых и репутационных потерях, нужно учитывать закон подлости Мёрфи, который гласит: если что-то может пойти не так, то оно пойдёт не так. В аудит это не входит — скорее в управление рисками.
В конце аудита у вас должна получится карта зависимостей (её лучше нарисовать), требования по RPO/RTO, очередность миграционных волн. Я приведу таблицу для примера, но ваш документ должен получится ещё подробнее.
|
Система / сервис |
Где работает сейчас |
Критичность |
RPO / RTO |
Зависимости |
Проблемы и риски |
План/стратегия миграции (расскажу про это отдельно дальше) |
|
Active Directory |
VMware ESXi cluster A |
Критичная |
RPO: 0-15 мин / RTO: 30 мин |
DNS, DHCP, файловые сервисы |
Старые Windows Server 2012, легаси GPO (Group Policy Object) |
Репликация, перенос в первую волну |
|
1С + MSSQL |
VMware + SAN FC |
Критичная |
RPO: 15 мин / RTO: 1 час |
SQL Cluster, резервные копии, лицензии HASP |
Жёсткая привязка к сетевым путям и FC-хранилищу |
Пилотный перенос, тесты производительности |
|
CRM-система |
Hyper-V |
Высокая |
RPO: 1 час / RTO: 2 часа |
Почта, LDAP, API телефония |
Неизвестные зависимости со старыми API |
Перенос после аудита интеграций |
|
Почтовый сервер |
VMware |
Критичная |
RPO: 0 / RTO: 15 мин |
AD, DNS, антиспам-шлюзы |
Требуется непрерывная синхронизация |
Репликация + поэтапная миграция |
|
Dev/Test контур |
Локальные серверы |
Низкая |
RPO: 24 часа / RTO: 1 день |
GitLab, CI/CD |
Нет документации |
Перенос без приоритета |
|
Сервер видеонаблюдения |
Физический сервер |
Средняя |
RPO не критичен / RTO: 4 часа |
NAS, VLAN видеокамер |
Старые драйверы и PCIe-карты |
Можно оставить локально |
|
Система резервного копирования |
VMware |
Критичная |
RPO: 0 / RTO: 1 час |
Все ключевые сервисы |
Несовместимость резервного прокси с новой средой |
Перенос до основных сервисов |
|
ERP |
VMware + Oracle |
Критичная |
RPO: 15 мин / RTO: 1 час |
Oracle DB, API складов, LDAP |
Не поддерживается текущая версия ОС |
Сначала обновление, потом миграция |
Тут-то вы и увидите, что одна маленькая виртуалка на Windows Server 2008, развёрнутая бывшим админом в лохматых годах, отвечает за авторизацию половины сервисов компании, а старый резервный прокси вообще не умеет работать с новой платформой. Поэтому аудит перед миграцией в Huawei Cloud Stack (да и в любое другое облако) — штука архиважная.
|
ВАЖНО! Если вы уже работаете с виртуализацией (локально или в облаке: VMware, Hyper-V, Proxmox, OpenStack и т.д.), то в аудит должна входить оценка совместимости виртуальных машин, образов и приложений с целевой платформой, в нашем случае — с Huawei Cloud Stack. Для таких читателей будет полезно почитать следующий раздел статьи. Если же вы разворачиваете новые сервисы с нуля или планируете миграцию физических серверов (и связанных с ними сервисов) в HCS, то можете переходить сразу ко второму пункту. |
1.1 Категоризация и оценка совместимости виртуальных дисков и конфигураций виртуалок (если у вас нет виртуализации, переходите сразу ко 2 пункту)

Чтобы мигрировать с VMware или Hyper-V на Huawei Cloud Stack, нужно привести виртуальные диски и конфигурации виртуалок к форматам целевой платформы. Для этого в HCS есть служба управления образами IMS (Image Management Service), через которую можно импортировать внешние образы, а следом сделать из них шаблонные private image для массового развёртывания сервисов ECS (Elastic Cloud Server). Дальше эти шаблоны уже подключаются к Auto Scaling, DR-сценариям и автоматизации инфраструктуры.
|
Ремарка! Private image — это пользовательский шаблон виртуальной машины, доступный только конкретному проекту, тенанту (изолированное логическое пространство внутри облака) или организации. Что-то вроде золотого образа преднастроенной виртуалки, из которого потом можно за минуты развернуть сотни серверов или DR-инфраструктуру. |
Итак, VMware и ESXi использует VMDK формат файлов виртуального жесткого диска, а гипервизор Hyper-V — VHD/VHDX. Ну а поскольку HCS основан на архитектуре виртуализации OpenStack/KVM (ныне сильно модифицированной), то основными форматами в нём исторически были QCOW2 и RAW. В ранних версиях HCS образы из VMware или Hyper-V обычно приходилось сначала конвертировать руками, а уже потом импортировать в IMS/ECS.
|
Ремарка! Ранние версии HCS плохо дружили с прямым импортом образов из этих платформ. Для ручной конвертации виртуальных дисков VHD или VHDX в RAW/QCOW2 и VMDK в QCOW2 использовали утилиту qemu-img — она и сейчас подходит для любого KVM-облака: Huawei Cloud Stack, OpenStack или Yandex Cloud. Но в крупных проектах редко занимаются ручной конвертацией образов. Чаще, если установка с чистого листа невозможна и нужен именно перенос — используют миграционные инструменты, которые автоматически считывают данные с исходной платформы, либо выполняют перенос через резервные копии и последующее восстановление в целевой среде (про это ещё будет дальше) — одинаково работает как для виртуалок, так и для физических серверов. А переносить можно не только содержимое дисков, но и часть конфигураций приложений, что снижает риск ошибок ручной конвертации. |
Особенно весело было со старыми Windows Server 2008/2012. VMware использовала свои SCSI-контроллеры и драйверы паравиртуализации, а KVM/OpenStack хотел VirtIO или IDE/SATA. Если внутри гостевой ОС нужного драйвера не было, то виртуалка просто не видела системный диск после переноса. А это что? Правильно — гарантированный синий экран смерти.
Миграция на современные версии HCS стала в разы удобнее. Особенно после развития IMS, появления Rainbow (про него будет позже), HCC, автоматизированных инструментов и перехода многих инсталляций на OBS (Object Storage Service).
Сейчас Huawei Cloud Stack поддерживает гораздо больше форматов внешних образов.
|
Тип хранилища |
Поддерживаемые форматы |
|
Swift |
QCOW2, ZVHD, OVF |
|
OBS |
VMDK, VHD, QCOW2, ZVHD, ZVHD2, OVF |
Учтите, что ZVHD (а также ZVHD2) — это проприетарные форматы образов виртуальных жестких дисков от Huawei. И вдобавок они не взаимозаменяемы при импорте. ZVHD не поддерживает ленивую загрузку (lazy loading), поэтому для быстрого импорта больших файлов (до 1 ТБ) нужен ZVHD2. Если файл в формате ZVHD и больше 128 ГБ — его всё равно придётся конвертировать в ZVHD2 или RAW с bitmap.
В общем, жизнь новый HCS (8.x) облегчил, но форматы виртуальных дисков — это полбеды. Вам всё ещё нужно учитывать версии гостевых ОС, специфическое ПО (всякие антивирусы и EDR-агенты), поддержку виртуальных адаптеров (например, отсутствие драйверов VirtIO в старых Windows), формат загрузки (UEFI/BIOS), BitLocker и прочее шифрование, OEM-драйверы, привязку лицензий к железу, старые VMware Tools/Hyper-V Integration Services, разметку GPT/MBR, наличие VirtIO-драйверов и другое.
|
ВАЖНО! Перед миграцией нужно проверить поддержку операционных систем, СУБД, middleware, систем резервного копирования, мониторинга и безопасности в целевой среде. Важно (для вашего бюджета) проверить и лицензии. В первой части я рассказывал, что HCS поддерживает BYOL (Bring Your Own License) для части сценариев и сервисов. То есть вы можете перенести и использовать купленные лицензии (например, базы данных, операционные системы, СУБД, и сторонний софт) на выделенные физические серверы или виртуальные инстансы в контуре облака. Отдельно проверяйте сетевые зависимости, требования к производительности и интеграциям с Active Directory, LDAP, DNS, PKI и другими корпоративными сервисами. Дело в том, что виртуалка может нормально запускаться в новой среде, но бизнес-приложение внутри неё работать не будет из-за старой/несовместимой версии ОС, нехватки драйверов, перелопаченной сетевой архитектуры или вендорских ограничений. Например, Huawei не проверяет ваши внутренние лицензии, но вот какая-нибудь Oracle может запретить перенос лицензий в облако HCS. |
И Huawei отдельно напоминает, что образ не должен быть зашифрован; загрузочный и системный разделы должны лежать (физически или логически) на одном диске; базовая ОС должна поддерживать полную аппаратную виртуализацию; OEM-образы сторонних производителей могут не работать в принципе, гетерогенные хранилища (объединение накопителей с радикально разными характеристиками или интерфейсами) не поддерживаются.
А кто говорил, что тащить легаси добро в другое облако легко? Но раньше, с ручной конвертацией образов и импортом в IMS, было ещё сложнее. Перекрестились, свечку поставили, идём дальше.
2. Стратегии миграции в облако — у вас должна быть какая-то тактика

RTO и PRO подскажут вам, как лучше выполнять миграцию: с остановкой сервиса, с минимальным простоем или практически без него.
-
Cold migration (холодная миграция) — сервис полностью останавливается на время переноса;
-
Warm migration (горячая миграция) — данные предварительно реплицируются, а на переключение требуется короткое окно простоя;
-
Live migration (живая миграция) — перенос выполняется практически незаметно для пользователей.
Эти сценарии идеально бы дополнить отраслевым стандартом 6R (а лучше 7R). Например, одну систему можно мигрировать по стратегии Rehosting (дальше расскажу) через cold migration, а другую — по той же стратегии, но уже через warm migration с репликацией и коротким окном переключения.
6R — это модель миграции IT-инфраструктур, систем и приложений в облако, которую разработала AWS (Amazon Web Services) на основе пяти принципов от Gartner (ведущая мировая исследовательская и консалтинговая компания). У AWS даже проприетарный фреймворк есть — AWS 6Rs, который помогает компании оценить портфель своего ПО и выбрать лучший путь переноса каждой отдельной системы.
Итак, что за Rehosting и 6R такие?
|
Стратегия |
Суть |
Подход |
Пример миграции |
|
Rehosting (1R) |
Перенос без изменений (Lift and Shift). |
Приложение и его окружение переносятся в облако практически без изменений архитектуры, кода и логики работы. |
Перенос виртуальных машин из VMware или Hyper-V в сервис ECS (Elastic Cloud Server) Huawei Cloud Stack с сохранением существующей архитектуры приложения. |
|
Replatforming (2R) |
Перенос с минимальной модернизацией (Lift, Tinker, and Shift). |
Приложение адаптируется к отдельным облачным сервисам, но без серьёзной переработки архитектуры и бизнес-логики. |
Перенос приложения на ECS с переводом базы данных на управляемый сервис Huawei Cloud Stack или перенос данных в объектное хранилище OBS. |
|
Repurchasing (3R) |
Замена решения на SaaS-сервис (Drop and Shop). |
Существующее приложение выводится из эксплуатации и заменяется готовым облачным сервисом. |
Отказ от локального почтового сервера Exchange в пользу корпоративного SaaS-сервиса или переход с собственной CRM на облачную CRM-платформу. |
|
Refactoring / Re-architecting (4R) |
Переработка архитектуры приложения. |
Приложение существенно модернизируется для использования облачно-ориентированной архитектуры и сервисов платформы. |
Преобразование монолитного приложения в набор микросервисов, развёрнутых в Cloud Container Engine (CCE) Kubernetes-кластере Huawei Cloud Stack. |
|
Retire (5R) |
Отказ от ненужного решения. |
Устаревшие, дублирующие или неиспользуемые приложения отключаются вместо переноса в облако. |
Во время аудита инфраструктуры выводится из эксплуатации старая система отчётности или архивный портал, которыми больше никто не пользуется. |
|
Retain (6R) |
Оставляем как есть. |
Приложение остаётся в старой инфраструктуре и не участвует в миграции из-за технических, финансовых или комплаенс-политик. А иногда просто берут время на подумать (что с этим делать вообще). |
Критичная производственная система или АСУ ТП продолжает работать на локальных серверах предприятия, а остальные сервисы мигрируют в HCS. |
А мы ещё и седьмой вариант прикрутим (7R) — Relocate, он же быстрый перенос из кофейни на Патриарших в кофейню в Тбилиси платформы виртуализации целиком. Виртуалки/контейнеры в таком сценарии перемещают без изменений и переустановки. Например, массовая миграция виртуальных машин из VMware vSphere в среду Huawei Cloud Stack с использованием инструментов миграции и конвертации образов. Тот самый частный случай с, цитирую, «бесшовной миграцией».
Седьмое и другие правила отлично накладывается на таблицу, что я приводил — выше в разделе про аудит. Так что в правом столбце к плану миграции можно добавить и стратегию (например, 6R, если пронумеруете и не забудете, что есть что). Или выделить в отдельный столбец — по желанию.
|
Система / сервис |
Где работает сейчас |
Критичность |
RPO / RTO |
Зависимости |
Проблемы и риски |
План миграции |
|
Сервер видеонаблюдения |
Физический сервер |
Средняя |
RPO не критичен / RTO: 4 часа |
NAS, VLAN видеокамер |
Старые драйверы и PCIe-карты |
Можно оставить локально — Retain (или 6R) |
|
ERP |
VMware + Oracle |
Критичная |
RPO: 15 мин / RTO: 1 час |
Oracle DB, API складов, LDAP |
Не поддерживается текущая версия ОС |
Сначала обновление, потом миграция — Replatforming (или 2R) |
Выбирайте одну из семи стратегий для каждого сервиса с учётом бизнес-требований. Их можно (и нужно) совмещать, исходя из RPO и RTO каждого — в этом и есть смысл. Например, часть виртуалок перемещают по стратегии Rehosting, бизнес-критичные приложения модернизируют через стратегии Replatforming или Refactoring, от древних систем отказываются (Retire), а отдельные сервисы оставляют как есть на локальных серверах (Retain).
Кстати, если вы ещё не занимались ТЭО и пока только читаете статьи, изучаете платформу, то после аудита, выбора стратегий, оценки и категоризации, самое время заняться этим.
Краткий подытог
Миграция в Huawei Cloud Stack не ограничивается переносом виртуальных машин. Если вы уже работаете с PaaS облачными сервисами, то часть систем можно вообще не переносить.
Например, базы данных можно перенести из собственных виртуальных машин в управляемые сервисы БД Huawei Cloud Stack, а контейнеризированные приложения — в Kubernetes-кластеры с помощью сервиса Cloud Container Engine (CCE). Это уже не просто перенос образов виртуальных машин, а миграция данных, конфигураций и приложений между сервисами разных платформ.
Поэтому во время аудита и важно классифицировать не только серверы, но и сами рабочие нагрузки: что останется на виртуалках, что переедет в контейнеры, а что можно перевести на управляемые сервисы.
Спасибо, что дочитали до конца и ожидайте в ближайшее время третью статью из цикла.
ссылка на оригинал статьи https://habr.com/ru/articles/1048042/