AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 754680
Accepted
Drifter104
Drifter104
Asked: 2016-02-09 02:08:18 +0800 CST2016-02-09 02:08:18 +0800 CST 2016-02-09 02:08:18 +0800 CST

Convertendo máquina Linux de XenServer para Hyper-V

  • 772

Estou convertendo as últimas VMs do XenServer em Hyper-V.

A maioria deles são máquinas Windows e fiz backup e restauração usando o Windows Backup. Para algumas das caixas do Windows, usei o processo de exportação do XenServer para criar um arquivo XVA e, em seguida, converti-o em VHDs que poderia usar no Hyper-V.

Ambas as formas funcionaram perfeitamente, mas quando tentei exportar e converter o processo para algumas caixas Linux, não funcionou tão bem.

Eu criei o XVA, usei o Xenconvert para converter e criar os VHDs, mas quando os anexei a uma VM Hyper-V, acabei de receber um cursor piscando. Tendo feito algumas pesquisas, acredito que seja por causa da maneira como os HDDs são nomeados de maneira diferente. Por exemplo, a máquina original em /dev/mostrará, xvda, xvda1.....mas no Hyper-V acredito que estes serãosda, sda1......

É aqui que estou um pouco perdido .... Inicializei uma das máquinas no menu de inicialização em uma máquina convertida e olhei para as opções de menu e argumentos, mas não consegui ver nenhuma referência a um arquivo xvda. Então, minhas suposições estão erradas acima ou estou procurando no lugar errado ou ambos?

Qualquer ajuda seria apreciada, mesmo que a sugestão seja fazer isso de uma maneira totalmente diferente.

EDIT1: (Adicionando informações do menu de inicialização)
Se eu selecionar o primeiro item no menu de inicialização e pressionar , recebo eo seguinte

root (hd0,0)  
kernel /vmlinuz-2.6.32-573.12.1.e16.x86_64 ro root=dev/mapper/VolGroup-lv_root rd_NOLUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us rd_LVM_LV=VolGroup/lv_swap SYSFONT=latacyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root rd_NO_DM
initrd /initramfs-2.6.32-573.12.1.e16.x86_64.img

EDIT2: (versão Linux e fstab)

A versão do Linux é Centos 6.7

cópia de /etc/fstab (fiz uma tentativa e tentei mudar o UUID para o UUID do novo disco mas não pareceu funcionar cópia de /etc/fstab

linux
  • 3 3 respostas
  • 7509 Views

3 respostas

  • Voted
  1. Best Answer
    Aubrey Robertson
    2016-02-11T23:22:35+08:002016-02-11T23:22:35+08:00

    RESPOSTA EDITADA: Estive pensando no seu problema e acho que rsync ou dd backup/restore pode ser sua melhor aposta. Se você estiver usando vhdds de crescimento dinâmico, o rsync é provavelmente sua melhor aposta e, se estiver usando discos definidos estaticamente, o dd provavelmente é sua melhor aposta.

    Opção 1: Primeiro, você terá que criar um compartilhamento samba ou cfs, ou anexar uma unidade física por algum outro meio para fazer backup dos dados. Depois de anexar um destino de backup, você terá que executar o comando rsync ou dd para fazer backup da unidade.

    Exemplo de Rsync (usando Arch): https://wiki.archlinux.org/index.php/full_system_backup_with_rsync

    Exemplo de DD: http://www.thegeekstuff.com/2010/10/dd-command-examples/

    Tenho certeza de que você pode canalizar o rsync para o gzip se quiser criar um arquivo portátil.

    Então você deve instalar o Centos em uma nova máquina hyper-v. Então você tem que passar pela tarefa de restaurar a imagem de backup (que será diferente dependendo do comando que você usou para criá-la).

    Opção 2: Como alternativa, você pode criar a nova VM do CentOS primeiro e, em seguida, montar o outro arquivo VHD exportado na mesma máquina virtual no Hyper-V. Como você terá ambas as unidades montadas na mesma máquina, poderá passar pelo processo de migração nesse ponto. Depois de montar a unidade de backup e migrar seu gerenciador de inicialização para ela, você pode desmontar a unidade VM de substituição. Você pode reutilizar a mesma unidade para migrar suas outras máquinas (enxágue e repita para cada VM que precisar migrar). Se você tiver muitas máquinas, poderá tentar criar um script para esse processo ou poderá encontrar um script de backup já disponível.

    Opção 3: Crie o novo arquivo VHD/VHDX com hyper-V e, em seguida, anexe e monte-o no convidado Xenserver que deseja duplicar e faça o backup diretamente dessa maneira.

    Eu sei que há muitos obstáculos para superar, existem três opções sólidas que provavelmente funcionarão sem muito barulho. Sou meio novato no Linux, mas já movi imagens HD com bastante facilidade com DD antes e não vejo por que não funcionaria bem aqui.

    RESPOSTA ORIGINAL:

    Se você estiver usando o LVM, os HDDs não devem estar causando o problema e os links do HD devem estar intactos após a conversão, mas não sou especialista. Tenho bastante experiência com Linux no Hyper-V, mas não com a conversão de máquinas XenServer para Hyper-V. Dito isto, o erro que você está vendo sugere para mim que pode ser um problema com o kernel do Linux. Seria útil saber qual distribuição Linux você está usando.

    O XenServer tem dois tipos de VM:

    VMs HVM - são iguais às VMs Hyper-V e não precisam de alterações. Essas VMs podem ser convertidas em máquinas Hyper-V por meios convencionais (copie o VHD ou use o System Center 2012 Virtual Machine Manager (VMM), conforme recomendado pela Microsoft).

    VMs PV - são VMs 'paravirtualizadas' e não possuem um kernel de inicialização completo. Eles estão vinculados ao sistema operacional da VM e compartilham parte do gerenciador de inicialização para inicializar a máquina. Você precisa substituir o kernel PV (kernel-xen) na VM pelo kernel pae (kernel-pae).

    Não sei qual distribuição Linux você está usando e isso pode ter algum efeito na solução real, mas, supondo que as VMs sejam VMs PV, o link a seguir contém instruções sobre como instalar o kernel PV na caixa do Linux, então você deseja fazer o inverso destas instruções, adaptando para sua distribuição Linux. Então o processo de exportação deve funcionar:

    http://itproctology.blogspot.ca/2009/06/pv-enabling-hvm-from-vmware-on.html

    Esta resposta pressupõe que você está usando o kernel PV em seu Xenserver vms e assume que esse é o problema que está causando a falha na inicialização. Ele também pressupõe que você já tentou usar o System Center 2012 Virtual Machine Manager (VMM) para converter o vms (conforme as práticas recomendadas da Microsoft, etapas mostradas no link a seguir):

    https://technet.microsoft.com/en-ca/library/gg610672.aspx

    Notas Finais:

    • Posso tentar desabilitar a inicialização segura e ver se isso faz diferença.
    • Certifique-se de seguir as práticas recomendadas da Microsoft para VMs do Linux (dependendo da distribuição que você está usando). Eles podem ser encontrados nos links a seguir e você pode tentar fazer essas alterações na VM antes de fazer o processo de exportação (certifique-se de fazer backup de sua máquina virtual primeiro):

    Universal Linux VM sob as melhores práticas do Hyper-V: https://technet.microsoft.com/en-ca/library/dn720239.aspx

    VM Linux específica de distribuição sob as melhores práticas do Hyper-V: https://technet.microsoft.com/en-ca/library/dn531030.aspx

    Por fim, aqui está a aparência dos meus parâmetros do kernel do Linux (Ubuntu/Debian) para minhas máquinas virtuais (em /etc/default/grub, certifique-se de executar sudo update-grub depois):

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768 elevator=noop numa=off"
    

    A opção video=hyperv_fb só funcionará quando as ferramentas de integração do hyper-v estiverem instaladas na VM (específica da distribuição).

    • 4
  2. user440188
    2017-10-18T23:38:08+08:002017-10-18T23:38:08+08:00

    Sei que essa resposta chega tarde, mas pensei em compartilhar como contornei isso. Eu também estava procurando uma resposta para migrar as VMs do CentOS7 do XenServer 6.5 para o Hyper-V 2016. Tentei de tudo, desde Starwind até exportar como dispositivo XVA e convertê-lo usando o XenConvert 2.3.1, sem sucesso.

    A solução é realmente muito simples e funcionou na primeira vez: Baixe este ISO - https://sourceforge.net/projects/boot-repair-cd/

    Etapas de alto nível que realizei:

    1. Exporte XEN VM para OVA (ou converta .xva XEN appliance usando qualquer ferramenta, como Starwind)
    2. Crie uma NOVA VM no Hyper-V e anexe o VHD exportado anteriormente
    3. Monte o ISO do link acima na unidade de DVD/CDROM da nova VM do Hyper-V e inicialize a partir dele.
    4. Siga as instruções (NB!!! Certifique-se de que a VM tenha uma NIC anexada que se conecte a uma rede externa que forneça DHCP e acesso à Internet)
    5. Selecione reparo automático (NB !! na etapa em que reinstala o GRUB, talvez seja necessário modificar o comando yum; no meu caso, tive que usar - "yum erase grub *" em vez de "yum erase grub *-common"
    6. Reinicie e aproveite sua VM Linux rodando no Hyper-V :)
    • 2
  3. Maxiko
    2016-02-09T02:30:26+08:002016-02-09T02:30:26+08:00

    A referência ao xvda está na sua configuração do xen.

    Por exemplo:

    # Created Mon Oct 12 08:38:43 CEST 2015
    
    name='clone0'
    
    kernel='/etc/xen/vm-kernels/vmlinuz-3.2.0-4-amd64'
    ramdisk='/etc/xen/vm-kernels/initrd.img-3.2.0-4-amd64'
    
    memory=256
    
    # Networking
    nics   = 1
    vif = [ 'bridge=xenbr0' ]
    disk  = [ 'phy:/dev/vg0/clone0.root,xvda1,w', # there you can rename device name
              'phy:/dev/vg0/clone0.swap,xvda2,w'  # in you VM
            ]
    
    root   = '/dev/xvda1 ro'  #this tell boot device 
    
    on_reboot = 'restart'
    on_crash = 'restart'
    
    vcpus = 1
    
    • 0

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve