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