Xen-BR wiki:Ajuda

De Xen-BR wiki

Xen-BR 
Ajuda

Xenlogo.png






Ideia inicial

Na lista de discussão surgiu a idéia de criar uma área somente para conceitos sobre virtualização, agora iremos transpo-las aqui.

Acesse a página Como editar páginas desse Wiki. para saber como editar corretamente esse wiki.



Tabela de conteúdo

Qual a diferença de discos virtuais: xvda e sda ?

Comumente sd[x] no linux se refere a "scsi disk + [a,b.c.x]" que são dispositivos de bloco que utilizam protocolo o SCSI para acessar os dados nos blocos (corrijam-me se eu estiver enganado) bem como hd[x] no linux se referindo à "hard disk whatever".

Com a intenção de se identificar discos de uma máquina virtual Xen, o nome xvd (Xen Virtual Disk) é utilizado para facilitar esta identificação.

Um XVD do xen só é identificado quando se utiliza a paravirtualização do dispositivo de bloco.


Para que serve o pvgrub?

O pvgrub veio a substituir o pygrub por diversas questões relacionadas principalmente à segurança.

Ele utiliza o código original com alguns patches do grub para prover acesso à mbr de um XVD, fazer a leitura das tabelas de partições da mbr e acessar o sistema de arquivos para a leitura do menu.lst e assim prover um promp interativo para boot do sistema operacional paravirtualizado.


Eu só posso utilizar o pvscsi em máquinas HVM (Full virtualized)?

A intenção do pvscsi não é inicialmente prover disco com comandos SCSI para a domU mas sim passar um SCSI bus para acesso a fitas , scanners e dispositivos SCSI (menos disco).


Qual a diferença entre "phy:/dev/vg2/lv0,ioemu:hda,w" e "tap:aio:/dev/vg2/lv0,hda,w" ?

O tap deve ser usado para file loop (colocando o domU dentro de um arquivo) , só que claro vai ser um problema para sua performance já que tudo de disco o dom0 ira ter de fazer o loop para o arquivo

Já o phy , e usado para devices e a performance é bem melhor usando phy.


Quais as diferenças entre os parâmetros CPU, CPUS e VCPUS ?

  • CPU designa quais cpu's físicas será utilizada pela vm, deixa o xen escolher

cpus = ""

  • As VCPUs usarão a CPU0

cpus = "0"

  • Todas as VCPUs usarão a CPU0 e CPU2

cpus = "0,2"

  • Usará da CPU0 até CPU3 e CPU5

cpus = "0-3,5.^1"

  • VCPU0 roda na CPU2 e VCPU1 roda na CPU5

cpus = [ "2", "5" ]

  • Numero de CPUs virtuais que será apresentado no /proc/cpuinfo. Suporte até 32 VCPUS mesmo que o hardware tenha menos CPUs:

vcpus = "32"

cpu é ultrapassado e se utiliza agora cpus pois prove funções dinamicas para alocação de CPUs.




Eu posso gerenciar os processadores "a quente"?

É possivel manipular isso. Alguns exemplos:

  # xm vcpu-list 13
  Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
  pvmtest                             13     0     0   -b-       1.7 any cpu
  pvmtest                             13     1     1   -b-       0.9 any cpu
  pvmtest                             13     2     1   -b-       0.9 any cpu
  pvmtest                             13     3     0   -b-       1.0 any cpu

No caso acima a vm pvmtest está utilizando qualquer CPU. A alocação é dinamicamente feita pelo Xen.

Após os comandos abaixo:

  # xm vcpu-pin 13 0 0
  # xm vcpu-pin 13 1 1
  # xm vcpu-pin 13 2 0
  # xm vcpu-pin 13 3 1
  # xm vcpu-list 13
  Name                                ID  VCPU   CPU State   Time(s) CPU Affinity
  pvmtest                             13     0     0   -b-       3.0 0
  pvmtest                             13     1     1   -b-       1.6 1
  pvmtest                             13     2     0   -b-       1.4 0
  pvmtest                             13     3     1   -b-       1.9 1
  
  • Alterei a VCPU0 para utilizar a CPU0 e não any como antes.
  • Alterei a VCPU1 para utilizar a CPU1 e não any como antes.
  • Alterei a VCPU2 para utilizar a CPU0 e não any como antes.
  • Alterei a VCPU3 para utilizar a CPU1 e não any como antes.

Isso sim é possivel manipular a quente.

Você não mencionou mas vou abordar:

scheduler-credit:

Utilizo Xen em meu desktop com pentium D. Quanto instancio vms windows percebo que fica praticamente impossivel utilizar meu desktop que está no dom0.

O Xen prioriza a vm por razões obvias: Xen é pra ser utilizado em servidores e não em desktops.

Para dar prioridade ao Dom0 que está rodando meu desktop, posso manipular as features de prioridade do scheduler afim de conseguir pelo menos manipular meu pobre mouse:

 # xm sched-credit -d Domain-0 -w 1024

Consigo mover meu mouse! O scheduler default é 256 para todas as vms.

Este mesmo esquema pode ser utilizado em um setup de servidores virtuais.

Outro lance legal do scheduler-credit é a possibilidade de se manipular qual o maximo do timer das CPU que a vm pode utilizar:

  # xm sched-credit -d  pvmtest -c 150

Veja bem, tenho um processador com 2 core, então neste caso, permitirei a utilização de 150% da soma de meus processadores. 1 processador equivale a 100% e dois, obvio, 200% .

  Usage: xm sched-credit [-d <Domain> [-w[=WEIGHT]|-c[=CAP]]]
  Get/set credit scheduler parameters.
    -d DOMAIN, --domain=DOMAIN     Domain to modify
    -w WEIGHT, --weight=WEIGHT     Weight (int)
    -c CAP, --cap=CAP              Cap (int)


Limitando o Trafego da domU via conf

Para limitar a domU para 10MB/s adicione no config da VIF rate=10MB/s como no exemplo abaixo

vif = [ 'brigde=bridge0, rate=10MB/s' ]

---

Criando um nome fixo para vif

Para criar um nome fixo para a vif da maquina virtual na dom0, que por padrao usa instance ID voce pode fazer o seguinte , adicionar vifname=nomedavif e ficaria como o exemplo abaixo

vif = [ 'brigde=bridge0, vifname=nomedamaquinavirtual' ]

---
Ferramentas pessoais