Instalando os Serviços de Integração do Hyper-V no CentOS 5.8 e 6.3 e Kernel 2.6.32+

Publicado por Eduardo Mozart de Oliveira em 02/03/2018

[ Hits: 10.680 ]

Blog: http://www.eduardomozartdeoliveira.wordpress.com/

 


Instalando os Serviços de Integração do Hyper-V no CentOS 5.8 e 6.3 e Kernel 2.6.32+



Os Serviços de Integração do Hyper-V possibilita aos computadores virtualizados acesso à internet e a discos SCSI.

Ele não acompanha o Windows, sendo necessário baixar a ISO no Centro de Downloads da Microsoft em:
Antes de instalá-lo no CentOS 5.8 e 6.3, recomendo atualizar o sistema operacional usando o comando:

# yum update

Se estiver sem internet, use o adaptador de rede herdado.

Você pode identificar a versão do Linux Integration Services instalada no sistema lendo as informações de um dos módulos instalados no sistema com o comando:

# modinfo hv_vmbus

Após o download, inicie o computador virtual e, no menu superior, expanda **Mídia > Unidade de DVD > Inserir disco...** e selecione o arquivo ISO baixado.

Agora, precisamos montar o leitor virtual para podermos acessar o instalador.

# mount /dev/cdrom /media

Se você está atualizando o Serviço de Integração, é possível que esteja sem acesso ao Drive de CD/DVD. Isso por que a Microsoft desinstalou o módulo IDE padrão do CentOS (ata_piix) substituindo-o pelo dela (hv_storvsc), removendo o suporte ao Drive de CD/DVD. (O serviço de integração não era para aumentar a compatibilidade ao invés de diminuí-la?). Se a mensagem "mount: você precisa especificar o sistema de arquivos" aparecer, restaure o módulo antigo usando o comando:

# insmod /lib/modules/$(uname -r)/kernel/drivers/ata/ata_piix.ko

Precisamos acessar o diretório de acordo com a versão do CentOS usada. Acessaremos o diretório RHEL63. Você pode usar o comando **ls -la** para exibir todos os diretórios disponíveis.

# cd /media/RHEL63 # ou RHEL58
Linux: Instalando os Serviços de Integração do Hyper-V no CentOS 5.8 e 6.3 e Kernel 2.6.32+
Use ./install.sh ou ./upgrade.sh dependendo da operação que você está realizando (você pode listar os arquivos disponíveis no diretório com o comando **ls**). Após a instalação, reinicie o sistema e pronto! Estamos com os módulos instalados e com acesso aos recursos do Hyper-V!

Distribuições com Kernel 2.6.32+

Nota: a partir do Ubuntu 12.04 LTS, os módulos do Hyper-V (2.1) são instalados por padrão. Sim, há uma versão mais recente (3.4) disponível, mas ela é destinada apenas ao Red Hat (e distribuições derivadas) e SUSE Linux, únicas distribuições suportadas oficialmente pela Microsoft conforme a documentação oficial no TechNet: http://technet.microsoft.com/en-us/library/cc794868(v=ws.10).aspx

Você pode habilitar os módulos (“drivers“) do Hyper-V no Ubuntu lendo o post escrito pelo pessoal do TechNet, da Microsoft, disponível em: http://social.technet.microsoft.com/wiki/contents/articles/961.aspx

Mas toda vez que iniciava os módulos, o Linux deixava de iniciar.

Se isso acontecer com você, use o Adaptador de rede herdado (a internet funcionará se o módulo "Tulip" estiver disponível) e não use o Serviço de Integração.

Se puder, atualize o sistema antes de continuar com os comandos:

# apt-get update (atualiza lista de servidores com atualizações)
# apt-get upgrade (realiza atualização dos componentes encontrados)

A versão mais recente do Kernel pode ser instalada com os comandos:

# apt-get install linux-headers-server linux-image-server linux-server
# apt-get autoremove
(remove versão antiga do Kernel)
# reboot

O comando pode mudar de acordo com a versão do Ubuntu instalada (desktop ou servidor), mas a lista de sugestões de atualizações pode ser vista ao executamos apt-get upgrade no terminal.

Pensava que era devido a falta do Serviço de Integração que a tela ficava lenta, na qual "linha por linha" era escrita no terminal. Mas não, é devido ao módulo de vídeo utilizado por padrão. Precisamos desabilitá-lo para que o Ubuntu procure por outro, para que cada linha seja escrita instantaneamente e pare a lentidão! Para isso, abra o arquivo "/etc/modprobe.d/blackilist-framebuffer.conf" e adicione na lista de exclusão de módulos de vídeo a linha:

# blacklist vga16fb

Se a mensagem abaixo aparecer na parte superior da tela de logon após a reinicialização:

piix4_smbus 0000.00.07.0: SMBus base address uninitialized – upgrade bios or use force_addr=0xaddr

É por que o driver "hv_vmbus" substituiu o driver SMBus padrão do Ubuntu pelo do Hyper-V. Podemos desabilitar o driver padrão e usar apenas o disponibilizado pelo Hyper-V editando o arquivo "/etc/modprobe.d/blacklist.conf" e adicionando a linha:

blacklist i2c_piix4

Você pode verificar quais módulos do Hyper-V estão disponíveis usando o comando:

# lsmod |grep hv

Pode usar o comando "modinfo [resultado encontrado]" para ver as informações sobre o módulo, como versão, por exemplo.

Se você recebe, antes de aparecer a tela de logon, a mensagem "error: no such disk", pode desconsiderar a mensagem, ok? Ela ocorre devido ao fato do Hyper-V não nos deixar remover o disquete nas opções da VM. Como não há disco presente, o grub retorna a mensagem acima.

Com a atualização para o kernel "2.6.32-279.11.1.el6" (i686), o CentOS não iniciava, mostrando uma mensagem de **kernel panic**. Isso não ocorreu quando a atualização foi feita no CentOS x86_64.

Ele ocorre devido ao módulo IDE padrão do CentOS (ata_piix) ser substituído pelo do Hyper-V (hv_storvsc) e, por este não ser compatível com a nova versão do Kernel, a VM deixou de iniciar.

Antes da versão 3.1 dos Serviços de Integração, toda vez que atualizássemos o Kernel precisávamos desinstalar os Serviços de Integração, atualizar o Kernel e então reinstalar os Serviços. Se não fizéssemos isso, teríamos "tela-azul" (kernel panic), conforme a KB2387594 da Microsoft: http://support.microsoft.com/kb/2387594

Para não precisarmos fazer todo este processo, precisávamos instalar os Serviços de Integração manualmente usando o DKMS (Dynamic Kernel Module Support). Como o nome indica, ele permite que adicionemos módulos ao Linux sem que estes estejam integrados ao Kernel. Assim, eles se mantém mesmo após a atualização do Kernel. Com os pacotes RPM, este processo é automático e não precisa ser realizado.

Para solucionarmos o problema, precisamos refazer o pacote RPM para o novo kernel.

Primeiro, instale o grupo "Development Tools" com o YUM. Ele possui todas as dependências que o rpm-build (utilitário que usaremos para refazermos o pacote) necessita para funcionar, como o "make", "gcc" e "kernel-devel".

# yum groupinstall "Development Tools"
# yum install rpm-build


Se está sem acesso a internet, use o adaptador de rede herdado.

Após a instalação, precisamos criar os diretórios que o rpm-build usa com o comando:

# mkdir ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

Precisamos definir a macro para o rpm-build. Podemos comparar uma macro com a variável %PATH% do Windows, que indica ao Windows onde procurar um executável quando executamos um comando no prompt. No caso, precisamos definir uma macro que indique o diretório onde o rpm-build se encontra. Mais informações sobre macros e o rpmbuild podem ser encontradas em: http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-customizing-rpm.html

# echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

Com o rpmbuild instalado e configurado, podemos começar!

Coloque o disco de integração do Linux na unidade de CD-ROM, acesse o diretório de acordo com a versão da sua distribuição e instale o código fonte do Hyper-V com o comando:

# rpm -ivh microsoft-hyper-v-rhel63.3.4-1.20120727.src.rpm

Após a instalação, será criado um arquivo **spec** no diretório ~/rpmbuild/SPECS. Este arquivo é um arquivo de instrução, que indica como um determinado pacote RPM tem que ser feito, sendo que o rpmbuild somente segue as instruções presentes neste arquivo.

Para refazermos o pacote, acesse o diretório SPECS em rpmbuild e use o comando:

# rpmbuild -bb microsoft-hyper-v.spec

O argumento -bb indica que queremos apenas refazer o pacote de instalação sem fazermos um pacote rpm que contém o código-fonte. Uma lista de opções disponíveis pode ser encontrada em: http://www.rpm-based.org/how-to-create-rpm-package-p4-building-the-package 

Agora, precisamos apenas instalar os novos pacotes. Para isso, acesse o diretório ~/rpmbuild/RPMS e use os comandos (necessário usar nesta ordem):

# rpm -ivh kmod*
# rpm -ivh microsoft*


Após a instalação, reinicie o sistema e pronto!

Referências

* Installing Linux on Hyper-V. Disponível em: <http://codechief.wordpress.com/2012/04/13/installing-linux-on-hyper-v/>

* CD-ROM device is no longer accessible after installing the Hyper-V Linux Integration Services in a Red Hat or CentOS virtual machine. Disponível em: <http://support.microsoft.com/kb/2600152>

* Serious issues with Kernel 2.6.32-279.11.1.el6. Disponível em: <http://mail.blueonyx.it/pipermail/blueonyx/2012-October/011639.html>

* Fix: piix4_smbus error in Virtual Machines. Disponível em: <http://automation.binarysage.net/?p=1466>

* Fix: Slow Refresh Rate On Hyper-V console running Ubuntu 10.04 LTS. Disponível em: <http://jasonbos.co/fix-slow-refresh-rate-on-hyper-v-console-runn>

* Install Ubuntu10.04 on LVM :: error: no such disk. Disponível em: <https://askubuntu.com/questions/179360/install-ubuntu10-04-on-lvm-error-no-such-disk>

* RHEL 6.x / Linux IC 3.x + dkms. Disponível em: <http://social.technet.microsoft.com/Forums/en-US/linuxintegrationservices/thread/65486bf2-34a7-4d1a-8eea-6b0066373451>

Outras dicas deste autor

Miniatura de arquivos SWF no Linux

Alterar mapeamento de teclas da extensão Media Keys do Firefox

Como lidar com arquivos de imagem .WIM

Configurando Proxy no Eclipse IDE

Instalando e Configurando o Google Earth

Leitura recomendada

Novo vídeo do LinuxTips - Descomplicando o Docker e Containers

Idioma Português no Fedora KDE Spin

Configurar placa de rede Atheros Communications L2 100 Mbit Ethernet Adapter (rev a0) - CentoOS

Telegram Desktop parou de funcionar após atualização ou troca de idioma? Corrija isso já!

Unity 3D Plugin no Ubuntu e Linux Mint

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts