Xen e Ubuntu?

4

Como alguém se aproxima de ter servidores Ubuntu em um hipervisor Xen? Eu não tenho nenhuma experiência com RAID ou Xen além de um nível teórico.

Requisitos adicionais:

  • Use com o mdadm Software RAID 5 (pode estar em discos separados) que várias instâncias com acesso
  • Instâncias de convidados para o servidor do Ubuntu paravirtualizados

Possíveis ideias para agora:

  1. Ubuntu host (dom0) com o pacote ubuntu-xen-server (isto supostamente não é suportado)
      O host
    • dom0 será "proprietário" da partição RAID 5
    • Mais servidores do Ubuntu como convidados
  2. Host de metal nu do Citrix XenServer
    • O XenServer será o proprietário do RAID
  3. Host de metal nu do Citrix XenServer
    • A instância guest do Ubuntu cria e possui RAID

Perguntas e preocupações:

  1. O Ubuntu pode ser usado como um host Xen dom0?
  2. O XenServer pode instalar pacotes como o mdadm e criar uma partição?
  3. É possível acessar vários convidados (R + W) para a mesma partição de dados (RAID)?

Nota: como isso pode afetar o suporte, estou me referindo ao Ubuntu Server 10.04

    
por wag2639 31.01.2011 / 04:48

4 respostas

3

Respostas:

  1. O Ubuntu pode ser usado como um host dom0. Eu utilizou rhel5 como host xen dom0 em topo do que eu instalei o servidor do Windows 2k8 r2 e funciona bem. eu sei licença rhel é violada, mas de qualquer maneira Eu não uso rhel 5 contrato de suporte. eu me ajudo e do comunidade. Os passos que eu dei para instale o xen no rhel com o win serv 2k8 está documentado no meu blog neste url link . Talvez isso seja de alguma utilidade para você. Deve ser semelhante, se não mais fácil.
  2. O Xenserver não instala o mdadm, ele vem do pacote os, neste ubuntu. Você deve fazer um #sudo apt-get install mdadm e use o comando mdadm para criar a partição RAID.
  3. Vários convidados podem compartilhar um mesmo armazenamento de dados, mas não podem compartilhar os mesmos arquivos. Mas pode viver na mesma partição. as partições e dados no guest os são armazenados como arquivos no host os. Assim, eles podem compartilhar a mesma partição. Eu acho que existem maneiras de fazer um certo compartilhamento dir entre host OS e guest OS. Eu fiz isso no virtualbox no windows 7 como host e no fedora 14 como guest. Não sei como fazer o mesmo em xen, pois tenho limitado com xen. Eu sugiro que você vá com o VMware, se puder. Como minha experiência com o vmware mostra que ele está muito amadurecido e é o líder do setor e tem uma operação e interface suave e consistente que não falha muito.
por 31.01.2011 / 06:28
2

Se você usar invasão de software no Linux, deverá criar uma partição para sua instância dom0 e uma partição grande com o restante do disco rígido.

Em seguida, você usa essa partição grande como uma unidade física lvm e cria uma ou mais unidades lvm lógicas por vm.

Isso permite aumentar / diminuir facilmente o tamanho de uma determinada unidade lógica.

    
por 27.02.2011 / 08:43
1

1. O Ubuntu pode ser usado como um host Xen dom0?

Configure o servidor Ubuntu 10.04 PV DomU no Xen 4.0 Dom0

Configure o Libvirt 0.8.1 & Xen 4.0.1 Dom0

2. O XenServer pode instalar pacotes como o mdadm e criar uma partição?

A instalação pode ser um pouco complicada, mas eu posso trabalhar. O XenServer usa o RHEL 5 com o kernel personalizado da caixa de rhel você pode ldd / path / to / mdadm e copiar todas as bibliotecas vinculadas para o XenServer exatamente nos mesmos locais. Eu poderia trabalhar;)

** 3. O acesso de vários convidados (R + W) à mesma partição de dados (RAID)? ****

Tenho certeza de que você sabia a resposta.

    
por 27.02.2011 / 10:26
0

Bem, na minha experiência, deixo os detalhes para a libvirt. Ele esconde os detalhes da virtualização para mim. A configuração típica seria instalar uma ferramenta ubuntu, em seguida libvirt e md. Supondo que você tenha dispositivos para o seu raid, certifique-se de que eles tenham o sistema correto (autodetect do raid linux) no fdisk. Inicie o fdisk, escolha a partição / dispositivo, use o comando t para alterar seu tipo. Um exemplo para o ataque 1 é mostrado abaixo. Ajuste o nível da sua configuração para 5 para obter o RAID 5

root@mail:/etc/ldap# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2433    19543041   83  Linux
/dev/sda2            2434        3042     4891792+  83  Linux
/dev/sda3            3043        3286     1959930   82  Linux swap / Solaris
/dev/sda4            3287        9729    51753397+  fd  Linux raid autodetect

Disk /dev/sdb: 80.0 GB, 80032038912 bytes
255 heads, 63 sectors/track, 9730 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2433    19543041   83  Linux
/dev/sdb2            2434        3042     4891792+  83  Linux
/dev/sdb3            3043        3286     1959930   82  Linux swap / Solaris
/dev/sdb4            3287        9729    51753397+  fd  Linux raid autodetect

**You may need to modprobe the right raid module**
raid0   raid1   raid10  raid5   raid6
root@mail:/etc/ldap# modprobe raid1

**Create your array**
root@mail:/etc/ldap#  mdadm --create /dev/md0   --level=1  --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm: array /dev/md0 started.
root@mail:/etc/ldap# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb4[1] sda4[0]
      51753280 blocks [2/2] [UU]
      [>....................]  resync =  0.9% (466176/51753280) finish=14.6min speed=58272K/sec

unused devices: <none>
root@mail:/etc/ldap# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb4[1] sda4[0]
      51753280 blocks [2/2] [UU]
      [==>..................]  resync = 11.5% (5956160/51753280) finish=13.6min speed=55983K/sec

unused devices: <none>

Você pode começar a usar sua matriz mesmo quando estiver sincronizando. Então começamos com lvm: Normalmente, você precisa configurar um PV, depois um vg e, finalmente, seu LV para VMs individuais.

Crie seu volume físico usando pvcreate, VG e LV

# pvcreate /dev/md0  
# vgcreate xen02 /dev/md0
# lvcreate -L 100G -n nosql.example.net.storage /dev/xen02

veja seu trabalho manual

xen02:~# pvs
  PV         VG    Fmt  Attr PSize   PFree
  /dev/md0   xen02 lvm2 a-   462.49g 273.52g
xen02:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               xen02
  PV Size               462.50 GiB / not usable 3.81 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              118398
  Free PE               70022
  Allocated PE          48376
  PV UUID               ,.........

xen02:~# vgdisplay
  --- Volume group ---
  VG Name               xen02
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  30
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                13
  Open LV               9
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               462.49 GiB
  PE Size               4.00 MiB
  Total PE              118398
  Alloc PE / Size       48376 / 188.97 GiB
  Free  PE / Size       70022 / 273.52 GiB
  VG UUID               ,,,,,......

xen02:~# vgs
  VG    #PV #LV #SN Attr   VSize   VFree
  xen02   1  13   0 wz--n- 462.49g 273.52g

xen02:~# lvs
  LV                                  VG    Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  acme.example.net.root            xen02 -wi-ao 15.00g
  ca.example.net.root              xen02 -wi-ao 15.00g
  externalra.example.net.root      xen02 -wi-ao 15.00g
  box2.example.net.root          xen02 -wi-ao 15.00g

Agora você pode usar o libvirt para instalar sobre um LV típico (note que você pode mudar o tipo virt de kvm para xen .. :)) - Você pode precisar remover o parâmetro virtio, já que isso é específico do KVM. / p>

virt-install --name=virtio_template \
--ram 1024 \
--os-type linux --os-variant debiansqueeze \
--disk path=/dev/xen02/nosql.example.net.storage,bus=virtio \
--network network=default,model=virtio \
--vnc \
--noautoconsole \
--cdrom ~/debian-testing-amd64-netinst.iso \
--virt-type kvm \
--force yes

O que geralmente faço é criar uma VM de modelo e cloná-la para criar vms de trabalho (--conect pode ser específico de kvm):

#!/bin/sh
 # invoke as ./script "machine3"
MACHINENAME="Somemachine"

lvcreate -L 15G -n  "$MACHINENAME".example.net.root  /dev/xen02


echo Cloning template to $MACHINENAME
virt-clone \
        --prompt \
        --connect qemu:///system \
        --original template_master \
        --name "$MACHINENAME" \
        --file /dev/xen02/"$MACHINENAME".example.net.root 

Agora você pode se divertir usando os comandos virsh. Veja a ajuda.

virsh start $MachineName

virsh shutdown $MachineName

Happy VM'ing

    
por 05.03.2011 / 09:54