Browsing articles in "Sem categoria"
jul 21, 2016
marllus

Instalar Xenserver Tools (xen-tools) em Debian 5 (Lenny) (HVM para PV)

Olá, tudo bem?

Hoje falarei sobre como instalar o XenServer Tools em uma VM Debian 5.0 (Lenny) em um Xenserver que não tem suporte a mesma (support guests), como ocorre a partir da versão 6.2.

Bem, instalar o xen-tools vai habilitar o administrador a realizar diversas operações com a VM, como gerenciar a network da mesma, monitorar o uso de memória RAM, realizar Xen Motion além de fornecer drivers para otimização de I/O de disco e rede.

As vezes, ocorre de você ter um sistema legado (ex. Debian 5.0), exportado de um outro hypervisor ou de uma máquina física, no seu ambiente de virtualização. Baseado nesse tipo de situação, deixo aqui um tutorial de como facilmente você pode instalar o xen-tools nessa VM e de quebra realizar a paravirtualização da mesma (HVM para PV).

Os passos a seguir mostram como instalar o xen-tools em um Debian 5 estando em um XenServer 7 – Dundee. Pode ser feito também em outras versões do XenServer, como 6.2 e 6.5.

Primeiro, vamos baixar o xen tools do XenServer 6.0 (Não é fácil encontrá-lo separado na internet, então instalei o mesmo e o peguei da pasta /opt/xensource/packages/iso/) e o coloquei em uma pasta pública para donwload. O link está abaixo:
https://dl.dropboxusercontent.com/u/4912938/xentools6.0.iso

Com a VM ligada, baixe o arquivo para dentro da mesma. Abaixo cito um exemplo usando wget:
# wget https://dl.dropboxusercontent.com/u/4912938/xentools6.0.iso

Após isso, monte o arquivo .iso:
# mount -o loop xentools6.0.iso /mnt

OBS: O diretório /mnt foi colocado como exemplo. Se tiver outro diretório onde queira montar, altere-o.

Entre no diretório de execução do script do xen-tools e execute-o:
# cd /mnt/Linux/
# ./install

O script vai gerar um informação na tela relatando que reconheceu o sistema operacional Debian 5.0 e que vai atualizar diversos arquivos, incluindo o kernel do sistema (que é um kernel paravirtualizado).

Pressione a tecla ‘y’ para confirmar a instalação e configuração.

Aguarde um instante e logo terminará a instalação. No final do relatório o testo irá relatar para reiniciar a VM.
NÃO REINICIE AINDA.
NÃO REINICIE AINDA.
NÃO REINICIE AINDA.

Se você reiniciar, o sistema não vai iniciar, pois ainda faltam configurações adicionais para o boot conseguir ser realizado.

Primeiro, entre no arquivo de configuração da inicialização do grub.
# vim /boot/grub/menu.lst

No meu caso, o script do xen-tools instalou o kernel 2.6.32-5-amd64,  e o mesmo adicionou como partição do arquivo initrd e kernel a /dev/hda1.
A forma que o XenServer utiliza para gerenciar dispositivos de bloco virtuais de VMs é a xvda/xvdb… ao invés de hda/hdb… ou sda/sdb…. É aí que surge o problema. Se você deixar /dev/hda, quando o boot da VM ocorrer ele tentará iniciar o kernel paravirtualizado 2.6.32-5-amd64 e não irá conseguir, pois o mesmo está referenciado por /dev/xvd*, por isso, temos que alterar no arquivo do grub.

A imagem abaixo é para mostrar como ficará o arquivo menu.lst.
Percebam o ‘root=/dev/xvda1′ para mostrar que o novo dispositivo de bloco que contém o kernel e initrd estão nesse dispositivo de bloco.

 

No kernel antigo (2.6.26-2-amd64) podem deixar como está, pois não mais precisaremos dele.

Saia e salve o arquivo:
Tecle Esc e digite:
:w!

Agora vá para o arquivo padrão de montagem de partições para atualizar o novo nome:

# vim /etc/fstab

Altere todas as linhas que contém /dev/hdx* por /dev/xvdx*.
OBS: Substitua o ‘x’ pela letra correspondente ao dispositivo de bloco correspondente e o * pelo número referente a partição.

No meu caso exemplo, o arquivo ficou dessa forma:

Salve e saia do arquivo:
Tecle esc e digite:
:w!

Agora, iremos alterar o console padrão do sistema (tty) para o padrão do XenServer (hvc):

Entre no arquivo /etc/inittab:
# vim /etc/inittab

Adicione a linha:
co:2345:respawn:/sbin/getty hvc0 9600 linux
antes da linha:
1:2345:respawn:/sbin/getty/ 38400 tty1

Agora tenha em mãos o uuid da VM (você pode vê-lo através do xencenter na aba General da VM no canto inferior.)

Abra o console do XenServer e digite os comandos abaixo:

Setar o novo kernel e initrd da VM:
# xe vm-param-set uuid=<vm uuid> PV-bootloader-args=”–kernel <full path to xen kernel> –ramdisk <full path to xen initrd>”
No meu caso ficou assim:
xe vm-param-set uuid=<vm uuid> PV-bootloader-args=”–kernel /boot/vmlinuz-2.6.32-5-amd64 –ramdisk /boot/initrd.img-2.6.32-5-amd64″

Setar o local dos arquivos do kernel e initrd da VM:
xe vm-param-set uuid=<vm uuid> PV-args=”root=/dev/xvdx* ro quiet console=hvc0″
No meu caso ficou assim:
# xe vm-param-set uuid=<vm uuid> PV-args=”root=/dev/xvda1 ro quiet console=hvc0″

Setar o novo bootloader (grub) da VM:
# xe vm-param-set uuid=<vm uuid> PV-bootloader=pygrub

Setar em branco o boot antigo (HVM):
xe vm-param-set uuid=<vm uuid> HVM-boot-policy=””

Pronto, após todos os comandos sem nenhum erro, você pode reinicializar a VM.

Caso ocorra tudo bem, quando a mesma estiver ativa, no xencenter na aba General veja seu estado de virtualização  (Virtualization state) e veja se está com status Optimized. Isso quer dizer que o xen-tools está instalado.
Para saber se a VM está rodando em modo PV, no campo “Virtualization mode” vai estar escrito PV. Caso esteja utilizando o XenServer 6.5 ou 6.2 digite o comando abaixo dentro da VM:
# dmesg | egrep -i “xen|front”

Se ela estiver em PV (paravirtualizada), as seguintes linhas aparecerão, dentre outras informações:

Booting paravirtualized kernel on Xen

blkfront: xvda: barriers enable
Initialising Xen virtual ethernet drive

Abaixo deixo o print da tela de opções que serão habilitadas com o xen-tools instalado:

Chegamos ao fim, enfim.
Grande abraço e qualquer dúvida poste nos comentários ou mande e-mail (marlluslustosa@gmail.com).

Se quiser ter acesso a uma série de tutorias sobre diversas funcionalidades do XenServer, acesse a página inicial do projeto: http://www.marllus.com/xenserver

Referências:
http://discussions.citrix.com/topic/307891-paravirtualizing-debian/
http://discussions.citrix.com/topic/151259-howto-convert-hvm-to-paravirtmanual-p2v-rhel5sles10sp1/
http://support.citrix.com/article/CTX121875
http://discussions.citrix.com/topic/259891-tut-debian-lenny-paravirtualization-with-xentools-updated/

fev 17, 2016
marllus

Xencenter

Olá!

O assunto agora é sobre gerenciamento do XenServer. Neste caso, falaremos sobre XenCenter, que é o software OFICIAL de gerência do XenServer.

Antes de começar a falar sobre ele, muita gente (principalmente os #linuxUsers) tem a seguinte dúvida: Existe alguma ferramenta de gerência do XenServer que rode na web ou que rode em Linux, já que o XenCenter só funciona por padrão no Windows?

Resposta: Sim! Existem inúmeras ferramentas que fazem esse tipo de gerenciamento do Xen (assim como outros hypervisors [esxi, kvm..]) e que funcionam tanto na plataforma web como versão desktops.

Ex:

Web:

– XenOrcherstra;

– XAC;

– Archipel;

GNU/Linux / Windows:

  • OpenXenManager;
  • OpenXenCenter;
  • Libvirt;

Explicando:

Porém, caro usuário, a bola da vez é o seguinte dilema: Como ter eficácia/eficiência junto com estabilidade? Se queres o primeiro, significa que você quer ter uma relação perfeita, além de harmoniosa, entre que tipo de cliente (Web/Desktop) você irá usar para acessar sua infra-estrutura de virtualização e as ações que você espera o mesmo retornar a partir de seus comandos. Nem sempre é padrão a estabilidade vir com a utilização de ferramentas recomendadas oficialmente (como por muitos anos o internet explorer, arg…), mas, neste caso o que o ocorre é que várias ferramentas de terceiros (muito boas) como Xen Orcherstra e Archipel, em fase de crescimento na comunidade open source, ainda não atingiram a maturidade suficiente para ATESTAR que podem realizar, com sucesso, todos os comandos para ações realizadas em um ambiente de produção.

No ano de 2014 vi a oportunidade de pesquisa nesta área (ainda) obscura, então, comecei a escrever minha monografia (especialização) sobre o tema, entitulada “Análise de ferramentas open-source de administração de ambientes heterogêneos de virtualização”. Defendi com sucesso a mesma em 2015.

Como resultados desta pesquisa, concluí que, a menos que você utilize estas ferramentas para medidas de montagem de ambientes futuros e testes, não é recomendado, em ambientes de alta criticidade. Imagine a seguinte situação: Acontece um congelamento da tela do programa (ou janela), por causa de um erro interno, no momento de uma operação de migração ou cópia de uma VM. Você não consegue mais visualizar os processos nem utilização dos recursos do XenServer e nem os logs e não sabe ver, rapidamente, se o processo travou, se o XAPI caiu ou se a VM está no ar ou se foi desligada.

Resultado: Os transtornos podem ser enormes. Fora a busca por problemas, em fóruns oficiais da ferramenta, que se torna limitada pelo fato de você já estar utilizando uma ferramenta para gerenciamento do XenServer que não a oficial.

Atenção: Não estou promovendo o uso do Windows nem desmotivando a colaboração para com a comunidade cada vez mais livre. No entanto, preste bem atenção no que você irá colocar em produção na infra-estrutura de seu trabalho (nas suas costas!). Teste bem e crie uma documentação sobre todos os testes que fizer com ela (listando o que está dando bugs e o que funciona “redondinho”).

Para saber como instalar o XenCenter, deixo aqui os procedimentos da documentação oficial:

http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-intro-welcome/xs-xc-intro-start.html

http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/installation.html#center_installation

Espero que tenham gostado da explicação e das vantagens/desvantagens de utilização de ferramentas não oficiais.

Abraços e até a próxima!

Referências:

http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-intro-welcome/xs-xc-intro-start.html

http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/installation.html#center_installation

http://xenserver.org/open-source-virtualization-download.html

fev 17, 2016
marllus

Instalação XenServer

Olá!

Neste tutorial, guiarei você no processo de instalação do XenServer.

Pois bem, primeiro de tudo é preparar a mídia de boot do XenServer. Você pode instalá-la em um CD/DVD pendrive, basta baixar a imagem .iso de instalação do mesmo e gravá-la na mídia em questão. Neste tutorial, iniciarei os procedimentos como se estivesse gravando a mídia em um pendrive através de um sistema operacional GNU/Linux, como creio que hoje o acesso a esta mídia é muito mais facilitada do que as antigas (e dispensando o serviço do estagiário de ir comprar na esquina o CD/DVD virgem pra você, rs).

Seguem os passos:

Pré requisitos e recomendações de hardware:

    – Um ou mais CPU(s) 64-bit x86, mínimo de 1.5GHz.  É recomendado 2 GHz ou superior.

OBS:Para suporte de VMs Windows, CPU com suporte às tecnologias Intel VT or AMD-V 64-bit x86 é requerido.

    – RAM: Mínimo de 2GB. Recomendado 4GB ou mais.

    – Disco rígido: Armazenamento local (PATA, SATA, SCSI) de 16GB é o mínimo requerido. Recomenda-se um disco de tamanho a partir de 60GB local ou SAN HBA (exceto via software) se instalado com multipathing boot SAN. OBS: A instalação do Xenserver no host produz duas partições de 4GB no disco onde será instalado.

    – Rede: Mínimo de 100Mbit/s ou superior. Uma ou mais NICs gigabit são recomendadas para aumentar a velocidade de P2V, exportação/importação e migrações ao vivo de VMs, etc.

Passo a passo da instalação:

Baixe a imagem de instalação do XenServer neste link: http://downloadns.citrix.com.edgesuite.net/10175/XenServer-6.5.0-xenserver.org-install-cd.iso

Após baixar a imagem para o seu computador, conecte o pendrive e execute o passo abaixo:

OBS: onde você vai substituir o /dev/sdX pelo caminho do seu pendrive (ex: se você tiver dois discos na sua máquina e adicionar o pendrive, você provavelmente terá estes dispositivos: /dev/sda (primeiro disco), /dev/sdb (segundo disco), /dev/sdc (pendrive, aêêêê)). Confirme o caminho do seu pendrive e execute o seguinte comando no terminal:

# sudo dd if=XenServer-6.5.0-xenserver.org-install-cd.iso of=/dev/sdX

Deve demorar uns 4-5min (em um core i7) até completar a gravação, aproveite para ir ao banheiro ou conversar um pouco na copa com as #amigas!

Próximo passo: espete o pendrive na máquina onde será instalada o XenServer e “mande brasa” no boot!

Brevemente você verá esta tela, quando o boot da mídia começar:

 photo Captura de tela 2015-07-23 as 18.40.54_zpsd0sncnnz.png

Após alguns segundos de letras pretas descendo na tela, você verá esta tela:

 photo Captura de tela 2015-07-22 as 22.41.34_zpsloj34tjq.png

OBS: Como estava sem tempo de fazer a instalação do XenServer 6.5 e não achei na net nenhuma imagem do procedimento, coloquei prints da instalação de um XenServer 6.2 (que encontrei na net), mas, não se preocupe pois são as mesmas imagens de instalação do XenServer 6.5 (a não ser pela frase “Version 6.2.0 (#70446c)” na parte de cima da imagem).

Escolha, então, o teclado “[qwerty] br-abnt2″ e clique em “Ok”.

Após isso aparecerá a seguinte tela:

 photo Captura de tela 2015-07-22 as 22.46.54_zpsjsymb8gs.png

Explicando:

O texto diz que a ferramenta de instalação pode ser usada tanto para instalar um XenServer ou atualizar (upgrade) uma instalação de XenServer já existente e que a instalação nova vai apagar todos os dados existentes no disco (novidade! tsc…) e que para sua segurança é melhor ter um backup antes de proceder. O legal é que você pode também carregar drivers de algum periférico “desconhecido” da máquina (isso pode acontecer caso não tenha seguido os pré requisitos do HCL – Lista de Compatibilidade de Hardware).

Praticando:

Simplesmente, pressione a tecla “Ok”.

A seguinte tela é mostrada:

 photo Captura de tela 2015-07-22 as 22.55.41_zpsmpiv9vum.png

Explicando:

O texto diz que será criado um repositório de armazenamento, e te dá a opção de criar agora ou não. Em cenários de recuperação de ambiente perdido, geralmente não marcamos disco para ser repositório de armazenamento, pois quando você faz isso, tudo dentro deste disco é apagado.

A outra opção quer saber se você quer habilitar o “thin provisioning” e que a mesma serve para otimizar o armazenamento para utilização do XenDesktop (plataforma de virtualização de desktops (VDI) da Citrix).

Praticando:

Como não estamos (ainda, rsrs) fazendo nenhum teste de recuperação de dados, marque a primeira opção, habilitando o disco para ser o repositório de armazenamento. Se tiver mais de um disco e quiser marcá-lo também, fica a seu critério, lembrando que como o XenServer utiliza LVM (Logical Volume Manager) (por padrão) para realizar a operação de criação e gerenciamento do armazenamento local, você pode adicionar ou remover discos facilmente depois de o sistema ser instalado, inclusive.

Explicando:

Se seu plano é criar/salvar as VMs em repositórios de armazenamento do tipo externo (SAN (iSCSI, FC), NAS (NFS)) você só precisa se preocupar em utilizar um disco interno, que será a instalação do XenServer e SR local (repositório de armazenamento ou Storage Repository).

Lembrando que é neste passo que você vai ver os discos já em RAID (via hardware, se você tiver feito). Quanto ao software RAID, oficialmente o XenServer 6.5 não suporta a característica, mas, como o “por baixo” dele é GNU/Linux (CentOS) você pode seguir, por sua conta e risco, diversos tutoriais ensinando como fazer raid via software após a instalação do XenServer. Lá em baixo coloquei uns links para alguns tutoriais desse tipo.

Praticando:

Desmarque a segunda opção (Enable thin provisioning…), pois não estamos aqui em um ambiente XenDesktop e habilitá-la não surtiria efeito algum.

Após isso, clique no “Ok” e verá a próxima tela:

 photo Captura de tela 2015-07-22 as 23.15.55_zpsfptwt3j1.png

Explicando:

É perguntado aqui onde está a mídia de instalação. Lembrando que você pode também selecionar para instalar por HTTP ou FTP ou NFS (Servidor de rede em um PC com a imagem .iso do XenServer!).

Praticando:

Neste caso, você vai clicar em “Local media”, pois nosso sistema está no pendrive. Selecione a opção e clique em “Ok”.

Próxima tela:

 photo Captura de tela 2015-07-22 as 23.21.14_zpscz0jorug.png

Explicando:

Aqui é perguntado se você quer instalar algum “suplemental packs”. Exemplos de supplemental pack é a integração do sistema de container Docker com o XenServer 6.5 SP1. Supplemental packs geralmente são fornecedos pela Citrix (drivers, ferramentas adicionais para o XenServer…) e por terceiros (geralmente plugins de monitoramento e gerenciamento do XenServer).

Praticando:

Não iremos instalar nenhum pack suplemental aqui, então clique em “No”.

Próxima tela:

 photo Captura de tela 2015-07-22 as 23.29.40_zpseqie5ra4.png

Explicando:

Aqui é perguntado se você quer testar a mídia de instalação. Geralmente, por pressa, selecionamos para pular esta verificação, mas, por experiência própria, sempre é bom testar a mídia antes de instalar, pois alguns problemas podem acontecer com a pós instalação, fazendo com que você nem desconfie dela própria (no nosso caso o pendrive). #ficadica

Praticando:

Clique em “Verify installation source”.

Após isso teremos o teste se realmente a mídia de instalação está em perfeita ordem e vai copiar direitinho os arquivos (reduzindo o custo de um futuro troubleshooting).

Depois vem a tela para configuração de acesso ao XenServer:

 photo Captura de tela 2015-07-22 as 23.34.41_zpshs1tf6op.png

Praticando:

Aqui é mais fácil ainda, defina a senha de root do sistema. Ela será usada quando conectado diretamente ao XenServer via SSH ou via XenCenter.

Próxima tela:

 photo Captura de tela 2015-07-22 as 23.36.26_zps4ifnmfxq.png

Praticando:

Aqui você deve definir o nome do host XenServer e os campos de DNS. Tudo fica a seu critério. Atente para colocar nomes que vão lhe gerar uma possível organização, como xenprd01, xenhml02, etc.

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.19.45_zpsvnkune0d.png

Praticando:

Agora é a fase de “batismo” do seu XenServer. Nesta primeira tela você pode escolher o continente onde você estará (America or not? rs) para efeito de fuso horário.

Na próxima tela:

 photo Captura de tela 2015-07-23 as 18.22.19_zpsszjus3ef.png

Praticando:

Agora é registrar a certidão de nascimento escolhendo o seu local! Escolha seu estado, caso não tenha na lista, escolha um mais próximo e com o mesmo fuso horário.

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.25.15_zpsoqhdkvp2.png

Explicando:

Atentai bem para esta tela, caro irmão(ã)!! De preferência, sugiro adicionar um servidor NTP que realmente funcione! Cuidado com entradas manuais de tempo e servidores de tempo bugados! Já tive problemas grandes em um XenServer em produção por conta disso! Até descobrir o problema eu já tinha efetuado várias atualizações e re-instalações!

O problema em se ter hosts XenServer desatualizados é porque afeta a sincronização entre estes mesmos hosts em um pool. Por exemplo, se você tem um cenário de hora desatualizada nos seus servidores XenServer e fizer uma alteração simples no ip da placa de gerência ou storage em um deles pode comprometer a sincronização da mudança entre os outros, gerando um efeito não muito agradável para o seu ambiente (não pague pra ver)!

Praticando:

Adicione algum servidor NTP que você tenha, caso não saiba, use os servidores NTP do ntp.br:

a.ntp.br

b.ntp.br

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.38.23_zpsxneas8py.png

Instalando o sistema base…..

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.39.04_zps1t8e61qr.png

Caso veja esta tela, show, o sistema foi instalado com sucesso!

Praticando:

Clique em ok!

O computador agora vai reinicializar!

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.40.54_zpsd0sncnnz.png

Tela de inicialização do XenServer…

Próxima tela:

 photo Captura de tela 2015-07-23 as 18.41.02_zpsha98hvgl.png

Pronto, você está na tela padrão de entrada de console do XenServer! Aqui você pode encontrar várias informações sobre a instalação, como o menu “network and management interface”, “Disk and Storage Repositories”, “Hardware end Bios Information”, informações sobre as VMs rodando no servidor no menu “Virtual machies”. Na lateral direita você tem informações a respeito da placa de rede definida para a gerência, os IPs atribuídos e características da máquina física onde foi instalado o XenServer, neste caso está aparecendo “Vmware, Inc” pois o XenServer foi instalado já de forma virtualidade em um servidor Vmware (isso é chamado de NESTED Virtualization [rodar um hypervisor dentro de uma VM] – Lembrando que o XenServer também fornece esse tipo de virtualização – você pode instalar um vmware dentro dele – e isso é usado geralmente para testes pois neste modo o desempenho do hypervisor é degradado).

Até aqui é isso!

Abraços e qualquer coisa poste aí nos comentários que lhe respondo!

Referências:

https://blog.trendelkamp.net/2015/02/configure-software-raid-xenserver-6-5/

http://djlab.com/2014/03/xenserver-6-2-with-software-raid/

http://docs.citrix.com/content/dam/docs/en-us/xenserver/xenserver-65/xenserver65sp1_installation_guide.pdf

http://docs.citrix.com/content/dam/docs/en-us/xenserver/xenserver-65/XenServer-6.5.0_QuickStartGuide.pdf

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

Rede no XenServer

Olá!

Hoje estarei te guiando a criar e configurar redes virtuais no XenServer 6.5.
Mas, primeiro iniciarei conceituando os termos:

NIC: Adaptador de Rede (Network Interface Card). A NIC é a placa de rede física, propriamente dita, instalada no host XenServer.

PIF: Interface Física de rede (Physical Network Interface). Este termo refere-se a um objeto criado pelo XenServer para representar uma NIC física.

VIF: Interface de Rede Virtual (Virtual Network Interface). É um termo para batizar redes virtuais criadas dentro do XenServer. As VIFs são sempre associadas com NICs existentes no host XenServer. Por exemplo, você pode criar 3 VIFs associadas a uma mesma NIC e neste caso, todo tráfego destas interfaces virtuais sairão/entrarão pela mesma NIC.

Network: É um virtual switch ethernet. Esse tipo de objeto tem uma coleção de VIFs e PIFs conectada a ele. Cada host XenServer tem uma ou mais networks. Networks que não têm associação com PIFs são consideradas “internal” (o gateway é o próprio hypervisor) e são geralmente usadas para prover conectividade entre VMs em um mesmo host XenServer.

VLAN: Definidas pelo padrão IEEE 802.1Q, as Redes Locais Virtuais, habilitam uma simples rede física para suportar múltiplas redes lógicas. VLANs operam na camada 2 do modelo OSI e são bem usadas para segregar redes distintas utilizando o mesmo canal físico para transmissão.

BOND: Junção de duas ou mais NICs afim de realizar agregação/failover de links. Os modos disponíveis de BOND são:

active-active: como o nome diz, é realizada o aumento da “largura de banda” (lê-se: Taxa de transmissão) da rede da VM. Porém, vale lembrar que se um tráfego é enviado pela VM, através de uma NIC (do bond), somente um caminho vai ser eleito para este tráfego em específico. O algoritmo de análise de tráfego de rede do ambiente faz um teste, a cada 10 segundos, de quanto a VM está enviando/enviou pela rede. Resumindo, os tráfegos das VMs que estão com o bond conectados a elas são espalhados entre as NICs agrupadas do bond, mas, um único tráfego de uma VM não pode ser espalhado em várias NICs. Diferentemente ocorre com o storage multipathing (tipo de balanceamento de links entre host xen e storage), onde um tráfego pode ser dividido entre dois ou mais caminhos para o storage (em nível de bloco) (mais informações [aqui]).

active-passive: Uma NIC do bond falha, a outra assume.

LACP baseado em IP e porta: Funciona da mesma forma do bondig active-active, só que o algoritmo desse tipo de bond vai eleger o caminho para um tráfego baseado no ip e porta de origem, ou seja, várias aplicações podem usar caminhos diferentes nas NICs reais do bond. Isso é legal se você quer distribuir o tráfegos de várias aplicações que usam portas distintas na rede de uma VM entre NICs do bond.

LACP baseado em MAC address: A mesma coisa do anterior, porém, baseado no endereço MAC da VIF da VM, ou seja, o roteamento é selecionado em função da VM. Esse balanceamento é legal quando se vai utilizar várias VMs dentro de um mesmo host sem muitas aplicações funcionando em portas distintas.

A escolha desses modos irá se basear no tipo de aplicação que funcionará no ambiente, que tipo de arquitetura de rede foi planejada (quantidade de NICs, throughput, topologia, etc), que tipo de storage vai ser conectado, enfim, há uma série de pontos a serem levados em consideração para se dizer “esse é melhor do que aquele”.
OBS: XenServer 6.5 SP1 suporta o limite de 16 NICs por host xenserver e cada VM suporta até 7 VIFs associadas.

Desenhando:

 photo ObjetosRedeXenserver 2_zps3y6xp1bd.png

Para criação e gerenciamento de BONDs e outros tipos de objetos no xenserver, siga o manual oficial:

http://docs.citrix.com/en-us/xencenter/6-2/xs-xc-hosts-manage/xs-xc-hosts-network/xs-xc-hosts-nics.html

Praticando:

OBS: MTU significa Unidade Máxima de Transmissão e isso é um fator crucial (se bem configurado – Jumbo Frames) para uma maior eficiência na transmissão de dados para a VM, porém, existem certas limitações no Xenserver. Estas e outras informações mais detalhadas, você pode consultar no tópico “4.3.4. Jumbo frames” do “Citrix XenServer 6.5 SP1 Administrator’s Guide“.
Caso não saiba sobre MTU e nem o que colocar como valor no campo quando estiver criando um BOND ou VLAN, deixe o padrão 1500 e siga em frente.

Espero que tenha sido claro neste tutorial! Qualquer dúvida só perguntar nos comentários!

Abraço.

 

Referências:

http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/reference.html

http://support.citrix.com/article/CTX135690#LACP bonds

http://docs.citrix.com/content/dam/docs/en-us/xenserver/xenserver-61/xs-design-iSCSI-multipathing-config.pdf

http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/reference.html#lacp-bond

http://docs.citrix.com/en-us/xencenter/6-2/xs-xc-hosts-manage/xs-xc-hosts-network/xs-xc-hosts-nics.html

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

Pools no XenServer 6.5

Olá,

Agora explicarei sobre pool de recursos, bem como citar sua definição e requisitos para ser implantando.

Um pool de recursos é um termo usado para designar um grupo de instalações XenServer (hosts xen). Esse grupo pode ser um laboratório de hosts xen de teste, produção ou qualquer outro conjunto de servidores em operação para um determinado fim.

Em todo e qualquer pool existirá o membro master (host que roteia a comunicação para outros membros do pool quando necessário) e os restantes slaves. Cada membro têm consigo um base de dados que contém informações a respeito de todos os membros existentes no pool, ou seja, qualquer host no pool sabe quem é master e quem é slave e quem está no pool.

Quando neste pool existe um storage compartilhado, que é um local onde todos os hosts xen têm acesso para leitura/escrita de dados, VMs podem ser migradas, (quase) sem dowtime, entre estes hosts. Essa migração é o recurso no XenServer chamado XenMotion. Se a característica de Alta Disponibilidade (HA) estiver habilitada no pool e um host xen falhar/desligar/se perder/bugar, qualquer VM (definida por você) será movida automaticamente para outro host xen vivo, bem como um novo host membro master será eleito, se este host perdido for o membro master do pool. O limite máximo é de 16 hosts xen em um mesmo pool.

Existem dois tipos de pools, os homogêneos e os heterogêneos.

Em um pool homogêneo, as seguintes características são necessárias:
– As CPU’s de todos os hosts xen no pool devem ser as mesmas (em modelo, marca e características);
– Todos os hosts xen devem ter a mesma versão de software XenServer, bem como os mesmos hotfixes (updates) aplicados;

Já em um pool heterogêneo:
– As CPU’s de todos os hosts xen precisam ter somente os mesmos fabricantes (ex. AMD, Intel).
– As CPU’s de todos os hosts xen devem ter suporte à tecnologia Intel FlexMigration (em caso de CPU’s Intel) ou AMD Enhanced Migration (em caso de CPU’s AMD);
– Todos os hosts xen devem ter a mesma versão de software XenServer, bem como os mesmos hotfixes aplicados;

Você deve estar se perguntando qual tipo de pool utilizar, se homogêneo ou heterogêneo. O recomendável é usar CPU’s com o máximo de equivalência possível, assim, a compatibilidade é melhor aproveitada entre elas, possibilitando transtornos mínimos em processo migratórios que possam vir a calhar no ambiente. Isso reforça a ideia de hoje ainda não ser trivial uma total compatibilidade entre CPU’s distintas. Estas tecnologias supracitadas, como FlexMigration (Intel), nada mais são que “gambiarras tecnológicas” criadas afim de resolverem parte destes problemas. No futuro, eu espero que a informação em tornos das CPU’s seja totalmente abstrata (de forma nativa) para o sistema operacional, consequentemente para a compilação de aplicações e VM’s em ambientes virtualizados. Sem dúvida isso facilitará, e muito, o processo de realocação de serviços neste tipo de infra-estrutura, tão volátil que é.

Abaixo eu listo uma série de requisitos necessários (e obrigatórios) ao host xen para se criar um pool homogêneo.

– Ele não deve ser membro de um pool já existente;
– Ele não deve ter nenhum storage compartilhado configurado;
– Caso o pool já tenha sido criado e você queira adicionar um host ao mesmo, este host não deve ter nenhuma VM rodando ou em estado de suspensão ou nenhuma operação ativa em progresso na VM, como um desligamento, por exemplo;

Outros requisitos bem importantes, que também devem ser seguidos:

– Cheque se o serviço de tempo está sincronizado entre todos os hosts (use algum servidor NTP confiável, se possível);
– Não configure bond na interface de rede de gerência (se for fazer isso, faça após a criação do pool);
– Certifique-se que o ip de gerência do pool é estático (configurado manualmente ou “amarrando” por DHCP);

Passos para se criar um pool:

Abra o XenCenter e siga os passos abaixo:

1. Abra a caixa de diálogo “New Pool” e depois clique na toolbar “New Pool”.

2. Coloque um nome para o novo pool e uma descrição opcional e selecione o servidor que será o pool master. Adicione também o restante dos servidores que comporão o pool, através da lista de membros adicionais que aparecerá ou adicionando um novo membro através do botão “Add New Server”.

5. Clique em “Create Pool” para criar o pool e feche a caixa de diálogo

6. Pronto, pool criado!

Para adicionar um host a um pool já criado:

1. Clique com o botão direito em cima do pool e vá opção “Add Server”.

2. Na janela que abrirá, digite o ip do servidor e as credenciais do mesmo e clique em “Add”.

3. Pronto, servidor adicionado!

Informação adicional:
A Citrix recomenda que você tenha um storage compartilhado em mãos antes de criar um pool, pois este é um pré-requisito para você poder utilizar a maioria dos recursos (além de outros) que citei no início do artigo.

Referências:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-pools/xs-xc-pools-about.html
http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/reference.html#hosts_and_pools

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

Configurando VMs no XenServer 6.5

Olá, tudo bem?

Bem, pra não se tornar ambíguo postar como se faz modificações nas configurações de uma VM (sobre disco, rede e memória), coloco aqui os tutoriais oficiais Citrix para realizar diversas ações, separados pelo tipo de alteração.

Configuração de memória:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-memory.html
OBS: Explico sobre DMC (Controle dinâmico de memória) neste LINK

Configuração de armazenamento virtual:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-storage.html

Configuração da rede:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-network.html

Configuração das propriedades da VM (vCPU, boot options, alertas…):
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-properties.html

Gerenciamento de containers (Docker):
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-container-manage.html
OBS: Explico sobre containers (Docker) neste LINK

Por hoje é só.
t+!

Referências:
[1] http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-memory.html
[2] http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-storage.html
[3] http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-network.html
[4] http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-properties.html
[5] http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-container-manage.html

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

Criando VMs (Máquinas Virtuais) no XenServer 6.5

Olá,

Hoje guiarei você no processo de criação de uma máquina virtual no Xenserver.
Para isso, utilizaremos o XenCenter. Vamos lá.

Abra o Xencenter, selecione o pool ou XenServer onde você quer que a VM seja criada e vá no menu “VM” e clique em “New VM”.

Após isso, quando abrir a janela do “New VM Wizard”, aparecerá uma opção para você escolher na lista um template disponível. Escolha um template referente ao sistema operacional que você instalará e clique em “Next”. Para saber mais sobre templates, clique AQUI.

Após isso, digite um nome e descrição para a VM e clique em “Next”.
ex:
Nome: GNU/Linux Ubuntu Banco Producao
Descrição: VM Linux ubuntu referente ao banco de produção da filial bla bla bla

Agora, especifique qual mídia de instalação usará no processo. Você pode especificar um servidor NFS de rede com a ISO, usar o drive de CD/DVD do servidor físico, instalar através da URL (nfs, ftp, http) ou usar boot de rede (PXE network boot).
Ao final, clique em “Next”.

Na próxima etapa, você pode nomear um servidor físico à VM. Este servidor é que liberará os recursos de hardware (ram, network e CPU) necessários ao funcionamento desta. Esse passo é opcional quando você tem um pool, pois no final da criação o xenserver vai eleger um servidor ativo com recursos (hardware) disponíveis para subir a VM. Se você estiver criando a VM em um servidor específico, selecione o servidor e clique em “Next”. Caso queria deixar a escolha aleatória (pelo próprio Hypervisor), não marque nenhum servidor e clique em “Next”.

Nesta etapa, selecione a quantidade de CPUs virtuais (vCPUs) e a quantidade de memória RAM da mesma. A partir da versão 6.5 o XenServer disponibilidade agora, de forma intuitiva, a possibilidade de você configurar a topologia das vCPUs, como a escolha de quantos cores por socket a VM terá. Lógico, sempre respeitando o limite físico disponível, sob pena de perca de performance da VM.
ex. 2 vCPUs com topologia 2 cores e um socket.
4 vCPUs com topologia 4 cores e 2 sockets ou 4 cores e 1 socket.
Fica seu critério.

Na próxima etapa, você irá realizar a configuração dos discos virtuais que a VM terá. Crie o(s) disco(s) e clique em “Next”.

O último passo é configurar as placas de rede da VM. Por, padrão o xenserver já adicionará toda as placas disponíveis à VM. Você pode desvincular todas elas e deixar só a placa referente ao dhcp da sua rede, por exemplo. Pode realizar a customização do endereço MAC e definir QoS.

Então, complete a configuração da VM definindo no campo de seleção abaixo se a mesma iniciará automaticamente após criada.

Em alguns instantes (geralmente na espera de criação dos vdisks) a VM estará criada e prontinha para uso.

Existem outros métodos usados para criação de VMs. Eles também são descritos na documentação oficial da Citrix, neste link: http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/guest.html#creatingVMs_overview

É isso!

Referências:
http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/guest.html#creatingVMs_overview
http://www.howtogeek.com/57601/what-is-network-booting-pxe-and-how-can-you-use-it/

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

PV, HVM, HVM com Drivers PV, PVHVM, PVH no XenServer (A sopa de letrinhas da virtualização)

Olá.

Hoje falarei sobre os termos PV, HVM e seus derivados. Sinceramente, esse assunto é meio tenso, pois, na internet vejo muita confusão sobre isso. Modos, grupos, grupos de modos, melhorias, tipos de virtualização, emulação… é uma sopa de letras e que no final só machuca a cabeça de quem tenta entender. Por isso, vou tentar (espero), da melhor forma possível, explicar pra você qual a diferença entre estes modos, suas melhorias e as vantagens e desvantagens de usar um ou outro, parafraseando o xenwiki, sem que você sofra um aneurisma! rs

Na verdade, tudo surgiu com o modo ‘Totalmente Virtualizado (Fully Virtualized – FV) na IBM em 1960′. Mas só era eficiente usá-lo nos mainframes da IBM, pois o mesmo era muito lento em arquiteturas x86.

Já em 2003, com o lançamento do projeto Xen 1.0, foi criado o modo:

PV (Paravirtualization ou OS Assisted Virtualization): Quando uma VM é executada neste modo, o seu kernel foi modificado na tentativa de proporcionar maior desempenho com utilização de hypercalls.
Hyper.. o quê?
“Simples”, por meio deste kernel modificado a VM “sabe” que está sendo virtualizada. Isto quer dizer que VMs podem realizar chamadas diretamente para o hypervisor (essa característica é conhecida como hypercalls) e isso torna o acesso ao hardware muito mais eficiente.
OBS: Essas modificações no kernel, descritas acima, geralmente são referentes ao kernel Linux. O Windows hoje não tem kernels paravirtualizados (até tentaram, em vão).

Porém, o tempo foi passando e surgiram tecnologias de hardware na tentativa de melhorar e tornar possível a “Full Virtualization – FV” na arquitetura x86. Foi pelo advento destas tecnologias que o projeto Xen, em 2005, lançou o suporte à HVM Guests, que conhecemos como o modo:

HVM (Hardware Virtual Machine – também chamado de ‘Hardware Assisted Virtualization’ e ‘Hardware Extensions to Full Virtualization’):

Neste modo, o hypervisor Xen usa o software “Qemu” para emular (via software – grande desvantagem) várias partes do host físico. Mas foi a partir das extensões HVM (criadas pela Intel e AMD e que fazem uma espécie de emulação de hardware) que foi possível “habilitar” esse modo na arquitetura x86. Essas extensões turbinam o acesso da VM à CPU do host físico, justamente onde o modo FV era mais fraco. Hoje, praticamente qualquer processador de médio porte já conta com este tipo de tecnologia (Intel VTx e AMD SVM).
Muito se vê os termos HVM e Full Virtualization como sendo iguais ou que um é a evolução do outro, mas, podemos dizer que as extensões HVM foram um meio para que fosse possível a utilização do FV na arquitetura x86.
Como praticamente toda a literatura se refere a HVM como um modo, também seguiremos a prática. Só não se engane nos conceitos.

Pois bem, a partir daqui é possível perceber que existem vantagens e desvantagens na utilização do modo PV bem como também no modo HVM. Partindo desse princípio, por que não tentar juntar o melhor dos dois mundos e gerar outras formas de virtualização?
Foi o que fizeram várias pessoas interessadas nisso. E ao longo dos anos, começaram a surgir melhorias, que tentavam utilizar a vantangem dos dois mundos, ou seja, a paravirtualização do modo PV com a extensão de virtualização que pode ser usada no modo HVM.

Dentre essas melhorias (vou chamá-las de derivados híbridos), podemos citar:

HVM com drivers PV: Modo HVM com os drivers de disco e rede paravirtualizados. Um exemplo disso, basicamente, é uma VM Windows com o XenServer tools (xentools) instalado. Este XenServer tools é um pacote de software que contém os drivers de disco e rede paravirtualizados para a VM Windows.
OBS: No caso de VM Linux, esses drivers já vêm embutidos na instalação.

PVHVM: Modo HVM com a paravirtualização dos drivers de disco e rede (xentools), controladores de interrupção e temporizadores. Um exemplo disso são as novas versões dos sistema operacionais suportados pelo XenServer 6.5 (RHEL 7, CentOS 7, Oracle Linux 7, Ubuntu 14.04). De acordo com a Citrix, todas as novas VMs instanciadas a partir destas versões serão criadas em modo HVM, pois estes sistemas operacionais suportam, nativamente, alternação da execução entre HVM e PV em determinadas tarefas.
OBS: Segundo Olivier, a versão padrão do Debian 7 (Wheezy) também é compilado com estes drivers, ou seja, se você instalá-lo como “Other media install” no XenServer 6.5, terá uma VM PVHVM.

PVH: Modo PV com a extensão de hardware em instruções privilegiadas e tabelas de páginas (ui ui ui, desculpa aê).
Esse modo com certeza é o maior refinamento do modo PV (com a junção das sempres legais extensões HVM) e talvez seja o que ficará e se perpetuará por bastante tempo em ambientes de virtualização com Hypervisor Xen. Mas, ainda não está disponível para ser testado no XenServer 6.5, só na versão do xen source 4.4 (e ainda engatinhando).

A imagem abaixo representa, no lado esquerdo, os modos existentes e suas respectivas melhorias (filhos híbridos) e no lado direito um comparativo do que cada modo e melhoria tem em comum ou que difere do outro, se tornando mais performático ou pior.
OBS: Como citado anteriormente, perceba que o Windows suporta somente os dois primeiros modos/derivados, “HVM” e “HVM com drivers PV”. Mas, por quê? Porque, para suportar a partir da melhoria “PVHVM” seria preciso a paravirtualização do APIC (Controlador Avançado de Interrupção Programável), consequentemente, seria necessário que o kernel do windows fosse recompilado com essa nova característica (reclame para a microsoft, rs).

Clique na imagem para aumentar o tamanho.

 photo PV_HVM_zps1rp5ex6l.png

A partir destes modos e suas melhorias, pode-se formular algumas perguntas:

Qual o melhor modo, PV ou HVM?

Depende. Em arquiteturas x86 o mais rápido é PV, já em x86_64, é o HVM. Isso se deve a mudanças realizadas em x86_64 pela AMD que acabaram deixando um pouco mais lenta a paravirtualização nessa arquitetura. Porém, pela preocupação com a memória extra despendida no “qemu” para a emulação da placa mãe e dispositivos PCI, muitos usuários preferem utilizar PV em VMs 64bits, mesmo que mais lento. Inclusive, a Citrix recomenda a utilização de PV (quando não há a possibilidade de PVHVM).

Como escolher o modo ou melhoria para utilizar no meu ambiente XenServer 6.5?

Deixo aqui um fluxograma para lhe ajudar na escolha dos modos/derivados híbridos para uma máquina virtual x86_64, que, segundo recomendado pelo próprio xen project, irá servir para a maioria dos casos:

Exceto as distros RHEL 7, CentOS 7, Oracle Linux 7, Ubuntu 14.04 e Debian 7 (que suportam PVHVM), e analisando o fluxograma acima, você poderá cair no modo HVM com Drivers PV, certo? Pois bem, eu, particularmente, utilizo o modo PV, mesmo em VMs (Guests) 64 bits. Apesar da rapidez adicional que eu poderia ganhar utilizando HVM, alguns fatores me levaram a adotar o PV: Recomendação da Citrix na utilização dos templates dela (PV), e vulnerabilidades importantes de segurança que afetavam somente VMs em HVM (como relatadas aqui, aqui e aqui). Isso me fez repensar a importância do uso do PV até que se tivesse um modo ou melhoria que fosse MUITO vantajoso em termos de eficiência. É o caso do aparecimento do PVHVM. A própria Citrix fala isso na documentação oficial e diz que vai começar a trabalhar com ele nos Guests que citei no início do parágrafo, apesar de não falar o nome PVHVM (creio que para não gerar um aneurisma no usuário, rs).

De forma rápida e direta (para a maioria dos casos):

Se VM GNU/Linux e BSD:

Use PVHVM, nos sistemas operacionais suportados. Caso contário, use PV.

Se VM Windows:

Use HVM com drivers PV, nos sistemas operacionais suportados. Se não, use HVM.

E o modo PVH, que é melhor? Estou aguardando poder testá-lo no XenServer. Mas, até agora só por gambiarras e ainda não é oficial, apesar de ele ter sido liberado na versão do xen 4.4, que o XenServer 6.5 incorpora.
Vamos ter que esperar um tempo até que comece a ser implementado de forma estável nas distros.

Bem, espero que tenha gostado do tutorial e da história de como surgiram os modos e suas melhorias e que saiba agora os benefícios e malefícios de cada um. O que não lhe impede de realizar testes para a comprovação destes dados (e contribuir para este tutorial).

Para mais informações, consulte as referências (espetaculares e que me ajudaram muito para a elaboração desse texto).

 

Referências
http://hostel.ufabc.edu.br/~marcelo.nascimento/BC1518Q3/arquivos/virtualizacao_cap4-v2.pdf
https://xen-orchestra.com/blog/debian-pvhvm-vs-pv/
http://wiki.xenproject.org/wiki/Understanding_the_Virtualization_Spectrum
https://blog.xenproject.org/2012/10/23/the-paravirtualization-spectrum-part-1-the-ends-of-the-spectrum/
https://blog.xenproject.org/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/
http://xenserver.org/blog/entry/creedence-debian-7-x-and-pvhvm-testing.html
http://xenproject.org/downloads/windows-pv-drivers.html
https://wiki.xenproject.org/images/c/c2/Xen-mode-flow.png

http://www.gossamer-threads.com/lists/xen/devel/363836
http://www.brendangregg.com/blog/2014-05-07/what-color-is-your-xen.html
http://www.gta.ufrj.br/grad/09_1/versao-final/virtualizacao/xen.html
http://ovmnaveia.blogspot.com.br/2012/09/pvm-paravirtualizado-ou-hvm.html
http://www.informit.com/articles/article.aspx?p=2233978
https://pt.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller
http://www.vmware.com/files/pdf/VMware_paravirtualization.pdf
https://en.wikipedia.org/wiki/IBM_CP-40
https://sourceforge.net/p/xen/mailman/message/5533663/
http://lwn.net/Articles/109789/
https://en.wikipedia.org/wiki/Full_virtualization
https://www-950.ibm.com/events/wwe/grp/grp019.nsf/vLookupPDFs/7%20-%20VM-45-JahreHistory-EA-J-Elliott%20%5BKompatibilit%C3%A4tsmodus%5D/$file/7%20-%20VM-45-JahreHistory-EA-J-Elliott%20%5BKompatibilit%C3%A4tsmodus%5D.pdf
http://lwn.net/Articles/52033/
https://sourceforge.net/p/xen/news/2003/10/xen-10-stable-released/
https://www.qnap.com/i/en/qa/con_show.php?op=showone&cid=258
http://wiki.xenproject.org/wiki/Linux_PVH
http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/guest.html#id533926
http://pt.slideshare.net/xen_com_mgr/performance-tuning-xen-18477250
https://xen-orchestra.com/blog/debian-pvhvm-vs-pv/
http://www.brendangregg.com/blog/2014-05-09/xen-feature-detection.html
http://wiki.xen.org/old-wiki/xenwiki/XenLinuxPVonHVMdrivers.html

 

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

fev 17, 2016
marllus

O XenServer Tools – XenServer 6.5

Olá. Td bem?

Bem, o que é o XenServer Tools?

Xen Tools (carinhosamente apelidado) é um pacote de drivers de rede e disco paravirtualizados. Existe tanto a versão para Guests Windows quanto GNU/Linux e o XenServer já traz, por padrão, este pacote habilitado para ser instalado em uma VM com alguns destes sistemas operacionais instalados (e suportados).

O Xen Tools é importante?

Sem dúvida. Neste tópico falei muito sobre virtualização completa e paravirtualização. Mas, complementando este assunto, o Xen Tools contém drivers paravirtualizados de disco e rede, o que muito contribui no aumento de performance destas VMs no que diz respeito ao acesso ao disco virtual (vDisk) e transmissão/recepção de tráfego de rede.

Tenho que instalar, obrigatoriamente, o Xen Tools?

Você, absolutamente, não é obrigado a instalá-lo em uma VM recém criada (e nem eu vou lhe denunciar à Citrix porque você se recusa), mas, saiba que se esta VM tiver suporte para essa instalação, você estará deixando de ganhar bastante performance.

E quais SOs das VMs são suportados para instalar o Xen Tools?

Todas as versões dos SOs que contém na lista de templates disponíveis no XenServer. A lista destes sistemas operacionais está disponível aqui (http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/guest.html#creatingVMs_supported_OS_minimums)

As instruções para instalação do Xen tools em Windows e GNU/Linux está disponível aqui (http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-installtools.html)

 

Referências
http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/guest.html#creatingVMs_supported_OS_minimums
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms-configuring/xs-xc-vms-installtools.html
http://ports.marllus.com/2016/02/12/pv-hvm-hvm-com-drivers-pv-pvhvm-pvh-no-xenserver-a-sopa-de-letrinhas-da-virtualizacao

fev 17, 2016
marllus

Upgrade/Update no XenServer 6.5

Olá amigo(a), tudo bem?

Hoje falarei sobre update e upgrade de hosts XenServer.
Bem, para conceituar os termos:

Update: Atualização (hotfixes) de procedimentos críticos e não críticos de segurança, adição de drivers ou correção de bugs em pacotes → Trivial;

Upgrade: Atualização de versão do sistema de virtualização XenServer, o que pode aglomerar melhorias nos drivers de dispositivos, adicionar funcionalidades, alterar versões de SO usado (neste caso, o GNU/Linux CentOS) e aumento na capacidade de processamento do próprio sistema operacional → (Geralmente crítica e menos trivial [lê-se: trabalhosa]);

O que ocorre?

Muito sysadmin deixa o seu ambiente funcional, perfeitinho e redondinho e enquanto ele estiver funcionando não meche nele porque “não se meche com quem tá queto”.

Nos meus tempos usando XenServer e GNU/Linux aprendi uma coisa: Sempre tente deixar seus sistemas com as últimas versões de atualização. Updates são lançados para serem usados, eles contém novos drivers, patches de segurança, novas versões de softwares com bugs, otimização de código, enfim, não ache que porque seu sistema está no ar que ele não pode cair amanhã por um erro que você já devia tê-lo imunizado.
Te garanto que é doloroso você ter que atualizar o seu ambiente com vários hotfixes na fila de espera, pois cada update vai gerar um mini ataque cardíaco em você.

Para realizar procedimento de update até a versão 6.2 do xenserver open source você teria que ir para a CLI (Linha de comando) e aplicar os passos mostrados neste tutorial:
http://support.citrix.com/article/CTX132791

Curiosidade: Na época em que tínhamos que ir para a linha de comando na versão sem licença paga, vários usuários da comunidade elaboraram suas próprias soluções para realização de update do ambiente. E é disso que estou sempre falando: Compartilhamento de conhecimento!!
Olhem os links:
http://discussions.citrix.com/topic/310573-script-to-update-xenserver-with-powershell/
https://www.citrix.com/blogs/2014/09/10/scripting-automating-vm-operations-on-xenserver-using-powershell/
https://www.virtualexperience.no/2012/11/30/ctxupdate-a-powershell-script-to-download-any-citrix-updates/

Felizmente hoje, a partir da versão 6.5 (versão atual até a última atualização deste tutorial), como o código do XenCenter foi liberado (assim como o código de quase todas as partes do XenServer), foi inevitável liberar a opção no GUI do próprio XenCenter para realizar operações de update.
Isso te dá a possibilidade de deixar a cargo do XenCenter baixar as atualizações e automaticamente aplicar e reiniciar (quando for o caso) o host, sem que se precise fazer de forma manual (apesar de ele também disponibilizar a opção de reiniciar o servidor manualmente).

Por padrão, o XenCenter já vem configurado para sempre checar se existem atualizações disponíveis para hosts xen nele conectados.

Quando for tornada disponível a update, ela vai aparecer na aba de notificações do seu XenCenter, e clicando com o botão direito do mouse em cima dela você pode baixar ou obter informações sobre ela. Antes de atualizar, leia o máximo possível sobre a mesma afim de reconhecer os impactos esperados na pré e pós atualização do ambiente.

Antes disso, realize backup de suas informações como metadados do pool, hosts, e VM. Saiba como realizar backup disso tudo neste aqui:

Eu criei um desenho do fluxo processual que me baseio sempre na hora de realizar procedimentos de update em ambientes XenServer, o qual disponibilizo abaixo:

 

update

 

Nele, mostro que devemos sempre checar a criticidade e impactos institucionais e técnicos antes do procedimento de update, após isso será agendada a atualização (se tiver paradas no servidor, deverão ser previamente relatadas), realizar backups do pool, Vms e xen host (quando houver recurso para o último), desabilitar o HA (requisito técnico) e só depois iniciar a atualização.

Alguns procedimentos minuciosos, bem como todo o passo a passo e pré requisitos de configuração necessários para a realização de um processo de update podem ser conferidos neste link da documentação oficial:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-updates/xs-xc-updates-applying.html

Com relação à Upgrades (atualização de versão) no Xenserver, existe a possibilidade de realização do procedimento de maneira live, sem que as Vms parem, claro, se você tiver storage compartilhado. As Vms podem ser migradas de um Xenserver para outro com uma versão igual ou superior da de origem, por exemplo de um xenserver 6.2 para um 6.5. Isso é vantajoso neste tipo de atualização, onde a troca das versões é crucial.

Procedimentos e detalhes técnicos de realização de upgrade em um pool (Rolling Pool Upgrade) você pode continuar a leitura do link que passei anteriormente, até chegar nessa parte:
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-updates/xs-xc-upgrade.html

E a mesma imagem para guiar você no processo de update (colocada acima) pode ser usada no processo de upgrade, claro, alterando os detalhes de ordem técnica (na fase de “install update”), mas, o fluxo geral é o mesmo.

Espero que tenha ficado claro para vocês a importância e os procedimentos da documentação oficial que disponibilizei para você.

Grande abraço.

Referências:
http://support.citrix.com/article/CTX132791
http://discussions.citrix.com/topic/310573-script-to-update-xenserver-with-powershell/
https://www.citrix.com/blogs/2014/09/10/scripting-automating-vm-operations-on-xenserver-using-powershell/
https://www.virtualexperience.no/2012/11/30/ctxupdate-a-powershell-script-to-download-any-citrix-updates/
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-updates/xs-xc-updates-applying.html
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-updates/xs-xc-upgrade.html

 

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.

Páginas:123»