Páginas

quarta-feira, 23 de janeiro de 2013

[FreeBSD] - Instalando Patch e Compilando Kernel para Suporte do Integration Services no FreeBSD para Hyper-V


Bom pessoal, vou demonstrar neste post a aplicação do Patch e compilação do Kernel do FreeBSD para suportar os drivers de integração do Hyper-V do Windows Server 2012. Lembrando que atualmente este patch só possui suporte para arquitetura de 64 bits (amd64) no FreeBSD. Atualmente a Microsoft tem tratado o FreeBSD com bastante apreço, nisso a Microsoft e alguns parceiros de negócios como a Citrix e NetApp em parceria desenvolveram e passaram a dar suporte a FreeBSD no Hyper-V.

Vamos colocar a mão na massa e demonstrar como fazer a instalação do integration services no FreeBSD.


Links para download do Integration Services para versões suportadas:

FreeBSD 8.2:
https://dl.dropbox.com/s/0c5pp24lae91gll/fbsd82-hyperv.patch?dl=1

FreeBSD 8.3:
https://dl.dropbox.com/s/41o218tuu5v9v09/fbsd83-hyperv.patch?dl=1

FreeBSD 9.0:
https://dl.dropbox.com/s/h3vuqqurjpvwx1q/fbsd90-hyperv.patch?dl=1

FreeBSD 9.1:
https://dl.dropbox.com/s/khu2whbs08dcs94/fbsd91-hyperv.patch?dl=1



Primeiramente para demonstrar que o FreeBSD está utilizando o kernel padrão do FreeBSD e que atualmente não possui suporte nativo para os drivers do Hyper-V, segue a imagem abaixo demonstrando que o FreeBSD está utilizando o Kernel Genérico do Sistema.


Agora veja abaixo, que já fiz o download do patch e disponibilizei no servidor FreeBSD para aplicação do patch.


Para aplicar o patch, digite os comandos abaixo, e veja o exemplo na imagem abaixo:
# patch -p -d /usr/src/ < fbsd91-hyperv.patch


Após aplicar o patch é necessário ir ao diretório fonte do sistema e compilar o Kernel para dar suporte aos drivers do Hyper-V:
# cd /usr/src/
# make kernel KERNCONF=HYPERV_VM INSTKERNNAME=kernel.HYPERV


O Processo de compilação do Kernel do FreeBSD, irá demorar de 15 a vinte minutos. Isso acontece porque a maquina virtual que utilizei neste laboratório possui recursos limitados a 1 processador, 512 MB ram. Espere o processo terminar.


Ok, o processo de compilação do kernel do FreeBSD terminou e agora precisamos informar para o sistema utilizar o Kernel Compilado com os drivers do Hyper-V. Entre no diretório /boot do sistema e siga as instruções abaixo:
# cd /boot/

Mova o kernel genérico para kernel.old e depois renomeie o kernel compilado com suporte para Hyper-V para kernel, isso fará com que o FreeBSD utilize no boot de inicialização o Kernel compilado com suporte aos drivers do Hyper-V. Depois de efetuada a mudança , desligue o servidor FreeBSD e insira os recursos que queira utilizar , como HDs SCSI, Placas de Rede Sintética e até 4 processadores virtuais. Siga os comandos abaixo:

# mv kernel kernel.old
# mv kernel.HYPERV kernel
# shutdown -p now


Depois de iniciada a maquina virtual com o Kernel compilado com suporte aos drivers do Hyper-V, verifique que você poderá desfrutar dos recursos integrados do Hyper-V no seu servidor FreeBSD de forma prática.


Veja na imagem abaixo, a ilustração de como o FreeBSD acessa os recursos do Hyper-V utilizando o Integration Services:

Bom pessoal, o objetivo deste post é demonstrar que é possível virtualizar servidores FreeBSD em Maquinas virtuais Hyper-V com desempenho satisfatório e com suporte da Microsoft. Qualquer dúvida na implementação do post favor comentar. Que a Graça e Paz estejam com todos.

Links de referência da pesquisa:

Um comentário:

  1. Quando aplico o patch aparece essa msg:
    Hmm... Looks like a unified diff to me...
    The text leading up to this was:
    --------------------------
    |diff -urN ../src.orig/sys/amd64/amd64/io_apic.c ./sys/amd64/amd64/io_apic.c
    |--- ../src.orig/sys/amd64/amd64/io_apic.c 2012-03-03 17:15:13.000000000 +1100
    |+++ ./sys/amd64/amd64/io_apic.c 2012-08-13 13:31:59.000000000 +1000
    --------------------------

    ResponderExcluir