Migração open source de VMs: VMware e OpenStack para RHOSO 18.0 ou OpenStack da comunidade. Mantenha suas VMs no ar.
Faça a virada em minutos.
O Seamless Migrate leva VMs do RHOSP 17.1, do OpenStack e do VMware vSphere para o RHOSO 18.0 ou o OpenStack da comunidade. Os discos são copiados enquanto a VM atende o tráfego; ela só é desligada para o delta final.
Apache 2.0 A demo não precisa de credenciais de nuvem
INATIVIDADE
Uma VM, três formas de migrá-la.
Um volume de 200 GiB com 120 GiB em uso, 2 MiB/s de escrita no convidado, em um link de 125 MiB/s. O modelo de planejamento do plano de controle estima o tempo de inatividade de cada estratégia:
Cópia a frio
cold20 min 53 s de inatividade
A VM fica desligada durante toda a cópia dos dados em uso.
Migração warm
warm11 min 20 s de inatividade
3 passagens de cópia são executadas enquanto a VM atende o tráfego (31 min 32 s); ela só é desligada para o delta final.
Transferência do armazenamento
storage_handover4 min 20 s de inatividade
Nenhum dado é copiado: em Ceph ou NetApp ONTAP compartilhado, o Cinder transfere cada volume para o destino.
PLATAFORMAS
Origens diferentes. O seu destino.
Um só modelo de planos, ondas e aprovações para todas as origens. O Seamless se comunica com cada nuvem pelas APIs públicas dela e, nos bastidores, move os dados com a coleção Ansible os-migrate.
Red Hat OpenStack Platform 17.1
A última versão baseada em TripleO. Migre lado a lado quando a adoção in-place não atender.
coldwarmstorage_handover
OpenStack da comunidade e Kolla-Ansible
Qualquer versão com Keystone v3, Nova 2.60 ou posterior, Cinder v3 e Neutron v2.
coldwarmstorage_handover
VMware vSphere 7.0U3 e 8.x
Gerenciado pelo vCenter. Migração warm com Changed Block Tracking e conversão pelo virt-v2v.
vmware_coldvmware_warm
Destinos
RHOSO 18.0
Red Hat OpenStack Services on OpenShift, a plataforma de destino; a validação da versão em laboratório ainda está pendente. O Seamless usa as APIs públicas do OpenStack e nunca toca em recursos do OpenShift.
OpenStack da comunidade
Todas as séries de versões, de 2023.1 Antelope a 2026.2 Hibiscus, implantadas com Kolla-Ansible, OpenStack-Ansible ou qualquer outra ferramenta, pelo mesmo caminho de código. A verificação de provedores informa a série, o nível de suporte e o perfil de política do destino.
- Redes, sub-redes, roteadores e grupos de segurança recriados
- Flavors, imagens, pares de chaves, projetos e usuários migrados
- MTU verificada em relação às redes do destino, incluindo o Geneve no ML2/OVN
- TLS verificado em todos os endpoints por padrão
Todos os sistemas convidados comuns
Origens OpenStack levam convidados KVM para KVM, então tudo o que inicializa na origem inicializa no destino: RHEL, CentOS, Rocky, AlmaLinux, Oracle Linux, Ubuntu, Debian, SLES e Windows. A partir do VMware, o virt-v2v no host de conversão RHEL 9 converte o convidado. Versões legadas recebem um aviso com a correção, nunca um bloqueio silencioso.
ESTRATÉGIAS
Cinco estratégias, uma escolha por VM.
O Seamless estima todas as estratégias elegíveis para cada VM e escolhe a de menor tempo de inatividade; em caso de empate, vence a mais simples. Você pode alterar a escolha.
Do OpenStack
coldCópia a frio
Desligar, copiar os dados em uso via SSH, inicializar no destino.
warmWarm
Passagens de snapshot com a VM em execução; após o desligamento, só o delta final.
storage_handoverTransferência do armazenamento
Cinder unmanage na origem, manage no destino. Nenhum dado é copiado.
Requisito: As duas nuvens no mesmo cluster Ceph ou na mesma SVM NetApp ONTAP.
Do VMware
vmware_coldVMware a frio
Cópia completa e, depois, conversão com virt-v2v.
vmware_warmVMware warm
Passagens de Changed Block Tracking e, depois, o delta final e uma conversão in-place.
Requisito: Changed Block Tracking habilitado na VM.
TECHNOLOGY PREVIEWS
VMs com GPU migram. Os endereços podem ir junto.
Versão candidata, sem certificação de produção. Ainda não há testes de laboratório da versão registrados. Novidade do 0.4.0-rc.1, cada uma opcional por plano e validada em simulação: as duas rodam na demo, e os testes de laboratório em hosts com GPU e em nuvens reais ainda não foram feitos. O rótulo sai quando eles passarem.
Cargas com GPU
Technology Preview, validada em simulação
VMs com uma vGPU NVIDIA, por time-slicing ou baseada em MIG, ou com uma GPU inteira em passthrough migram em vez de ficarem bloqueadas. Os discos se movem como os de qualquer VM; nenhum estado da GPU é transferido, e a VM inicia no destino como depois de um desligamento.
- GPUs lidas do flavor do OpenStack ou do vCenter, e exibidas no inventário
- Cada GPU associada pelo plano a um flavor com GPU do destino, nunca por tamanho ou nome; uma VM com GPU sem associação continua bloqueada
- Capacidade livre lida no Placement na validação e de novo antes de parar a origem; enquanto o pool estiver cheio, a origem continua em execução
- A verificação confere o flavor com GPU e sua alocação no Placement, e as constatações indicam o driver e o servidor de licenças de que o convidado precisa
Virada de rede
Technology Preview, validada em simulação
Uma migração pode levar a identidade de rede da VM. Cada parte é opcional por plano, e um plano que não a ativa migra como antes.
- Hooks: playbooks Ansible e webhooks HTTPS registrados por um administrador, executados em pre_stop, post_create, post_verify, on_rollback e on_finalize, cada um com tempo limite e reversão opcional
- IPs flutuantes que mantêm o endereço em todas as estratégias do OpenStack, movidos depois que a origem para e devolvidos em um rollback
- Uma troca de DNS no Designate ou em um servidor RFC 2136, por compare-and-swap, desfeita em um rollback
- Uma espera de acessibilidade contada no tempo de inatividade, e um assistente do Octavia que esvazia o membro de origem e inclui a VM migrada
A validação prévia aponta o que continua com a equipe de operações, com runbooks: stacks do Heat e grupos de autoescalonamento, pools do Octavia que as ondas dividiriam, portas com address pairs e nomes DNS que o destino não consegue publicar.
Próximo: 0.5.0
Planejado: notificações por e-mail, Slack e webhooks assinados; fixação de chaves de host SSH no caminho dos dados; e, como Technology Previews, um plano de controle de alta disponibilidade, credenciais por tenant e rastreamento de extents alterados, que elimina a varredura dos discos da passada final warm em volumes Ceph RBD.
Notas da versão 0.4.0-rc.1 (abre em uma nova aba)COMO FUNCIONA
Uma jornada. Cada etapa nas suas mãos.
Um só fluxo de trabalho para todas as origens. Cada migração percorre uma máquina de estados explícita, sobrevive a uma reinicialização do plano de controle retomando do seu checkpoint e deixa uma trilha de auditoria de cada ação.
- 01
Conecte as duas nuvens
Adicione como origem o RHOSP 17.1, o OpenStack da comunidade, o Kolla-Ansible ou o vCenter, e como destino o RHOSO 18.0 ou uma nuvem OpenStack da comunidade, com uma predefinição para cada plataforma. As credenciais são somente de escrita: vão para o repositório de segredos da plataforma, nunca para o banco de dados nem para uma resposta da API. Com um clique, você verifica cada conexão e o que ela pode fazer, e a verificação informa a série de versões, o nível de suporte e o perfil de política de um destino.
- 02
Planeje ondas, começando por um piloto
Descubra o inventário com discos, NICs, sistema operacional convidado e indicadores de prontidão. Selecione VMs, mapeie redes, flavors, tipos de volume e projetos, e deixe o planejador ordenar as ondas por risco, com um pequeno piloto primeiro. Uma onda só começa quando a anterior estiver concluída.
- 03
Valide antes de mover qualquer coisa
As verificações prévias apontam bloqueios, avisos e informações, com a correção para cada um. Cada VM recebe uma estimativa para cada estratégia elegível e uma escolha automática que você pode alterar.
- 04
Copie enquanto as VMs continuam em execução
Na migração warm, as VMs são copiadas em passagens de snapshot enquanto atendem o tráfego. Após a primeira passagem, só os blocos cujo hash BLAKE2b mudou passam pela rede, e cada passagem termina com o hash do manifesto verificado. Uma VM convergida aguarda a sua janela, mantida atualizada por sincronizações keep-warm.
- 05
Faça a virada dentro da janela
Uma virada (cutover) só começa com a aprovação de um segundo aprovador, dentro da janela de mudança e com um slot de virada livre. A VM é desligada, o delta final é sincronizado e ela inicializa no destino. A contagem do tempo de inatividade vai do desligamento até a inicialização verificada.
- 06
Verifique e depois finalize
O Seamless verifica o estado ACTIVE do servidor, as portas, os testes TCP e os padrões no console. Se uma verificação falhar, o rollback é automático: a instância no destino é removida, os volumes dela são mantidos e a VM de origem é iniciada novamente. A finalização, a única etapa que não pode ser desfeita, exige um aprovador e o nome da VM digitado por completo.
PAINEL
Cada migração, à vista.
O painel vem junto com o plano de controle: planos e ondas, cada relógio de inatividade contra seu SLO, aprovações e a trilha de auditoria, atualizados ao vivo por server-sent events. Estas são suas telas reais, capturadas na demo com nuvens simuladas.

Todo o rollout de relance
Migrações por estado, inatividade média e conformidade com o SLO, cada VM parada neste momento com seu relógio, e as aprovações que esperam por uma pessoa: aprovações de cutover e decisões do assessor, cada uma ligada ao lugar onde se decide.

Ondas, aprovações e a fila de finalização
O estado e os números de um plano, uma migração retida à espera de uma decisão do assessor com Approve e Override, as VMs verificadas no destino que aguardam a finalização, onda por onda, e as ações que seu estado permite: editar, validar, planejar ondas, pausar, cancelar.

Uma VM através do seu cutover
O próximo passo e as ações disponíveis agora; as indisponíveis dizem por quê. O indicador de fases, o progresso da cópia final, o relógio de inatividade contra o SLO com as partes da estimativa, e quem pediu e quem aprovou o cutover.

Cada VM, com sua prontidão
As VMs da origem com projeto, estado de energia, vCPUs e RAM, GPUs, discos, espaço usado e sistema operacional convidado, um indicador de prontidão com sua orientação, e o plano que detém cada VM. Filtre, selecione e inicie um plano daqui.

As duas nuvens, verificadas
Cada origem e destino com sua saúde, endpoint, região, estado de login e TLS, host de conversão, papéis, versão da API Compute e backends de armazenamento, e, para um destino, sua série de versões, nível de suporte, perfil de política e capacidade de GPU livre. Verifique todos com um clique; as credenciais são somente de escrita.

Recomendações com suas evidências
O que o assessor recomendou, com sua confiança contra o limiar da política, e o que foi decidido e por quê: aplicada, substituída por uma pessoa ou aguardando aprovação. Incidentes passados e suas correções, pesquisáveis.

A trilha de auditoria, acompanhada ao vivo
Cada ação em planos, migrações, assessor e provedores com seu autor, hora e ids, filtrada por categoria e plano. Baixe o que está em exibição ou exporte a trilha inteira como JSON Lines para um armazenamento de escrita única.
- Ao vivo, sem polling
- Mudanças de fase, passagens, aprovações e eventos chegam por server-sent events. Depois de uma queda de conexão, o painel retoma do último evento que viu.
- Diz por quê, nunca só não
- Quatro papéis, de viewer a admin. Uma ação que você não pode fazer agora continua na página e diz pelo que espera: um papel, uma aprovação, uma janela, uma fase.
- WCAG 2.2 AA
- Teclado em primeiro lugar, progresso e resultados anunciados a leitores de tela, alvos de 44 px, movimento reduzido respeitado, nenhum estado só por cor.
- Nada de outro host
- Fontes e scripts vêm com o plano de controle e nada é carregado de terceiros, então uma instalação isolada da rede fica igual.
SEGURANÇA
Reversível até você dizer que é definitivo
Aprovações, janelas e rollbacks são regras do plano de controle, não convenções de um runbook. A VM de origem fica onde está até que um aprovador finalize.
- Travas que o plano de controle impõe
- Uma virada só começa quando a aprovação foi dada, a janela de mudança está aberta e há um slot de virada livre.
- Solicitante e aprovador
- Quem solicita ou força uma virada não pode aprová-la. Isso cabe a um segundo aprovador.
- Rollback até a finalização
- Um rollback remove a instância no destino, mantém os volumes dela, devolve o endereço de IP flutuante ou o registro DNS que a virada moveu e inicia novamente a VM de origem. Uma verificação com falha o dispara automaticamente.
- Confirmação digitada para a etapa irreversível
- Nada apaga dados da origem antes da finalização, e a finalização exige um aprovador e o nome da VM digitado por completo.
- Retoma após uma reinicialização
- As migrações em andamento continuam do seu checkpoint quando o plano de controle volta. Uma parada planejada pode drenar primeiro: os planos entram em pausa e as viradas em andamento terminam antes que qualquer coisa pare.
- Nenhuma VM de origem abandonada
- Cada etapa tem um tempo máximo de execução, então um playbook travado nunca deixa uma VM desligada indefinidamente.
- Toda ação registrada
- Toda chamada que altera estado é auditada. Exporte a trilha ou faça o expurgo conforme o seu prazo de retenção.
IMPLANTAÇÃO
Em casa na sua infraestrutura.
Uma imagem de container e PostgreSQL. Implante no cluster OpenShift ao lado do RHOSO, em qualquer Kubernetes ou em um único host: o Docker Engine do próprio servidor Linux, o Colima em um Mac ou o Podman.
Linux
Docker Engine 20.10+ com Compose v2.20+: Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux, Fedora
$ scripts/compose-init.shscripts/compose-init.sh$ make seamless-upmake seamless-up$ curl -fsS http://127.0.0.1:8080/api/v1/healthcurl -fsS http://127.0.0.1:8080/api/v1/health$ ssh -L 8080:127.0.0.1:8080 you@your-serverssh -L 8080:127.0.0.1:8080 you@your-serverO Docker Engine do próprio servidor, sem Colima e sem Node.js: a própria imagem compila o painel. O plano de controle escuta apenas em 127.0.0.1:8080, então nenhuma porta é aberta no firewall e o painel é acessado por um túnel SSH; os containers voltam após uma reinicialização, e o SELinux pode continuar em modo enforcing.
macOS
Colima, ou Docker Desktop com um contexto nomeado
$ make seamless-colima-upmake seamless-colima-up$ scripts/compose-init.shscripts/compose-init.sh$ make seamless-upmake seamless-up$ make seamless-logsmake seamless-logsUm perfil dedicado do Colima (4 CPU, 6 GiB, 40 GiB) que nunca altera o seu contexto ativo do Docker. Docker Desktop ou qualquer outro contexto: adicione SEAMLESS_DOCKER_CONTEXT=desktop-linux a cada make.
Podman
4.7 ou posterior
$ scripts/compose-init.shscripts/compose-init.sh$ make seamless-up SEAMLESS_ENGINE=podmanmake seamless-up SEAMLESS_ENGINE=podman$ make seamless-logs SEAMLESS_ENGINE=podmanmake seamless-logs SEAMLESS_ENGINE=podmanO podman compose executa a mesma stack, com o docker-compose como provedor quando ele está instalado. Em hosts com SELinux, o rótulo da montagem do token é ajustado automaticamente.
Kubernetes
1.28 ou posterior: EKS, AKS, GKE, RKE2, k3s, kubeadm
$ kubectl apply -k deploy/kuberneteskubectl apply -k deploy/kubernetes$ kubectl -n seamless-migrate rollout status deploy/seamlesskubectl -n seamless-migrate rollout status deploy/seamless$ kubectl -n seamless-migrate get ingress seamlesskubectl -n seamless-migrate get ingress seamlessUm overlay Kustomize dos manifestos do OpenShift, com um Ingress. Antes, crie os Secrets a partir do secret-example.yaml e o secret TLS seamless-tls.
OpenShift
4.16 ou posterior
$ oc apply -k deploy/openshiftoc apply -k deploy/openshift$ oc -n seamless-migrate rollout status deploy/seamlessoc -n seamless-migrate rollout status deploy/seamless$ oc -n seamless-migrate get route seamlessoc -n seamless-migrate get route seamlessPostgreSQL 16, um Deployment de réplica única com hardening, uma Route com TLS edge e NetworkPolicies que negam tudo por padrão. Os Secrets ficam fora da kustomization.
FAQ
Perguntas e respostas.
O que as equipes perguntam antes de migrar a primeira VM.
O que é o Seamless Migrate?
O Seamless Migrate é um plano de controle open source, sob a Apache License 2.0, que migra máquinas virtuais (VMs) do Red Hat OpenStack Platform 17.1, do OpenStack da comunidade (incluindo o Kolla-Ansible) e do VMware vSphere para o Red Hat OpenStack Services on OpenShift (RHOSO) 18.0 ou uma nuvem OpenStack da comunidade, de 2023.1 Antelope a 2026.2 Hibiscus. Ele planeja ondas, estima o tempo de inatividade de cada VM, copia os discos enquanto as VMs continuam em execução, condiciona cada virada a uma aprovação e a uma janela de mudança, verifica cada VM no destino e faz o rollback automaticamente quando uma verificação falha.
Como migrar VMs do VMware vSphere para o OpenStack?
Adicione o vCenter (vSphere 7.0U3 ou 8.x) como origem e o RHOSO 18.0 ou uma nuvem OpenStack da comunidade como destino; depois, planeje as ondas e valide-as. VMs com Changed Block Tracking (CBT) usam a migração warm: passagens de CBT copiam os discos enquanto a VM está em execução e, na virada, só o delta final é copiado antes de uma conversão in-place com virt-v2v. VMs sem CBT usam a migração a frio: uma cópia completa e, depois, a conversão. Os dados passam pelo vmware-migration-kit do os-migrate e por um host de conversão com VDDK na nuvem de destino.
Posso migrar cargas de trabalho do RHOSP 17.1 para o RHOSO 18.0 sem uma adoção in-place?
Sim. O procedimento de adoção da Red Hat converte uma implantação 17.1 in-place. Quando isso não atende, seja por hardware novo, por um novo backend de armazenamento, por um redesenho de rede como ML2/OVS para ML2/OVN ou por várias nuvens a consolidar, o Seamless Migrate migra as cargas de trabalho lado a lado: recria redes, grupos de segurança, flavors, imagens, pares de chaves, projetos e usuários no RHOSO e, então, migra cada VM com cópia a frio, migração warm ou transferência do armazenamento.
Posso migrar para uma nuvem OpenStack da comunidade em vez do RHOSO?
Sim. Além do RHOSO 18.0, toda série de versões do OpenStack da comunidade, de 2023.1 Antelope a 2026.2 Hibiscus, é um destino, tenha sido implantada com Kolla-Ansible, OpenStack-Ansible ou outra ferramenta: registre-a com a predefinição OpenStack Community ou Kolla-Ansible, e as mesmas estratégias de cópia a frio, migração warm e transferência do armazenamento são executadas nela. A verificação de provedores informa a série de versões, o nível de suporte e o perfil de política de cada destino, e a validação prévia bloqueia um plano quando falta uma capacidade, antes de mover qualquer coisa. Hoje, o RHOSO 18.0 é a plataforma de destino; a validação da versão em laboratório ainda está pendente; a validação em laboratório de cada série da comunidade mantida pelo upstream ainda não foi feita e vem antes de uma versão final.
Quanto tempo de inatividade uma migração exige?
Depende da estratégia e da VM. Para um volume de 200 GiB com 120 GiB em uso, 2 MiB/s de escrita no convidado e um link de 125 MiB/s, o modelo de planejamento estima 20 min 53 s para uma cópia a frio, 11 min 20 s para uma migração warm e 4 min 20 s para uma transferência do armazenamento. Na migração warm, o tempo de inatividade depende do delta final e de uma varredura do disco, não da cópia completa.
Qual é a diferença entre migração a frio, migração warm e transferência do armazenamento?
Uma migração a frio desliga a VM e copia os dados em uso, então o tempo de inatividade cresce com o disco. Uma migração warm copia os discos em passagens de snapshot enquanto a VM continua em execução, e a VM só é desligada para o delta final. Uma transferência do armazenamento (storage handover) não copia dado algum: quando as duas nuvens compartilham um cluster Ceph ou uma SVM NetApp ONTAP, o Cinder faz o unmanage de cada volume na origem e o manage no destino, então o tempo de inatividade é de poucos minutos, qualquer que seja o tamanho.
É possível migrar VMs com GPU?
Sim, como Technology Preview validada em simulação. VMs com uma vGPU NVIDIA, por time-slicing ou baseada em MIG, ou com uma GPU inteira em passthrough migram assim que o plano associa cada GPU a um flavor com GPU do destino; uma VM com GPU sem associação continua bloqueada. A validação compara as GPUs do plano com a capacidade livre do destino no Placement, e o portão da virada a lê de novo antes de parar a origem: sem espaço, a migração espera e a origem continua em execução. Uma VM do VMware com GPU em passthrough só se move a frio, desligada. Os testes de laboratório em hosts com GPU ainda não foram feitos.
As VMs migradas mantêm seus endereços IP e nomes DNS?
IPs fixos e endereços MAC são mantidos por padrão. Como Technology Preview validada em simulação, um plano também pode manter o endereço de cada IP flutuante, movido depois que a origem para e devolvido em um rollback, e trocar um registro DNS no Designate ou em um servidor RFC 2136 quando um endereço muda. A verificação espera até que cada endereço movido responda e conta essa espera no tempo de inatividade; o Seamless não fala BGP por conta própria. Hooks registrados por um administrador, playbooks Ansible ou webhooks HTTPS, cobrem o resto, e a validação prévia aponta o que continua com a equipe de operações, como stacks do Heat, grupos de autoescalonamento e pools do Octavia.
Posso fazer rollback de uma migração?
Sim, até você finalizar. Um rollback remove a instância no destino, mantém os volumes dela e inicia novamente a VM de origem, e uma verificação com falha o dispara automaticamente. Nada apaga dados da origem antes da finalização, e a finalização exige um aprovador e o nome da VM digitado por completo.
Quais sistemas operacionais convidados podem ser migrados?
A partir do OpenStack, convidados KVM vão para KVM, então tudo o que inicializa na origem inicializa no destino: RHEL 5 a 10, CentOS, Rocky, AlmaLinux, Oracle Linux, Ubuntu, Debian, SLES, openSUSE, Windows Server 2003 a 2025 e Windows 7 a 11. A partir do VMware, o virt-v2v converte o convidado: RHEL 7 a 10 e Windows Server 2016 a 2025 têm suporte da Red Hat; os demais convidados funcionam após uma cópia de teste ou precisam ter os drivers virtio instalados antes.
Onde o Seamless Migrate roda?
É uma imagem de container mais o PostgreSQL 16. Implante no OpenShift 4.16 ou posterior, ao lado do RHOSO, no Kubernetes 1.28 ou posterior (EKS, AKS, GKE, RKE2, k3s, kubeadm) ou em um único host: o Docker Engine do próprio servidor Linux, 20.10 ou posterior, com Compose v2.20 (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux, Fedora; sem Colima, sem Node.js), um Mac com Colima ou o Podman 4.7 ou posterior. Um só script de operações, o seamless-ctl.sh, sobe, derruba, reinicia e escala uma implantação da mesma forma em todas as plataformas, e drena os planos em execução antes de uma parada planejada. Uma demo com nuvens simuladas roda em um notebook e não precisa de credenciais de nuvem.
O Seamless Migrate é gratuito?
Sim. É open source sob a Apache License 2.0, e o código-fonte está no GitHub.
O Seamless Migrate é um produto da Red Hat?
Não. É um projeto open source independente, não afiliado, patrocinado ou endossado pela Red Hat, pela OpenInfra Foundation ou pela Broadcom, e não é coberto por nenhuma subscrição da Red Hat. Ele se baseia na coleção Ansible upstream os-migrate, que continua responsável por mover os dados.
Qual é a diferença entre o Seamless Migrate e o os-migrate?
O os-migrate exporta e importa recursos de tenants e copia cargas de trabalho a frio, com a VM desligada durante toda a cópia. O Seamless Migrate se baseia nele e acrescenta um caminho warm para origens OpenStack, transferência do armazenamento, orquestração warm para VMware e um plano de controle com planos, ondas, estimativas de tempo de inatividade, aprovações, verificação, rollback, um dashboard, uma REST API e uma CLI.
COMECE AGORA
Grandes possibilidades.
Primeiro, um pequeno piloto.
A demo executa todas as fases, da pré-cópia à virada, à verificação e ao rollback, com nuvens simuladas no seu notebook. Você não precisa de OpenStack para experimentar.
Docker em um servidor Linux, ou Colima em um Mac
$ git clone https://github.com/imransetiadi/seamless-vms-migrationgit clone https://github.com/imransetiadi/seamless-vms-migration$ cd seamless-vms-migrationcd seamless-vms-migration# só no macOS: desnecessário no Linux$ make seamless-colima-upmake seamless-colima-up # só no macOS: desnecessário no Linux$ scripts/compose-init.shscripts/compose-init.sh# nuvens simuladas, todas as fases$ make seamless-demomake seamless-demo # nuvens simuladas, todas as fasesExperimente a demo local (abre em uma nova aba)Faça login em /login com o token de administrador que o compose-init.sh exibiu. O Podman também funciona: SEAMLESS_ENGINE=podman.