Intro
Opa! Acabei o mestrado e deu tempo de brincar um pouco, hehe, entao hoje eu instalei o Slackware 12.1 numa maquina nova. Fiz tudo sobre RAID e LVM e a ideia agora eh colocar o Xen para rodar.
Foi tudo bem simples, vou deixar os passos registrados aqui e com o tempo vou melhorando o texto. Comentarios, duvidas e sugestoes sao muitissimo bem vindas!
Hardware
O processador eh um Intel Core 2 Duo E6750, 2.66GH, 4Mb L2 Cache, 1333MHz. Escolhi esse danado pq ele suporta instrucoes de virtualizacao (Intel VT). Veja aqui uma lista dos processadores da Intel que suportam isso. A AMD tb tem um esquema parecido chamado Pacifica. Bom, mas falo mais disso quando estiver falando de virtualizacao (possivel proximo post).
A placa mae eh uma Asus P5VD2-VM SE. Ela suporta 2 SATA's (Raid 0 e 1 e JBOD) e 2 IDE's (no mesmo cabo) com chipset VIA VT8237S.
Estou com 2Gb de ram e 2 SATA's de 250 GB em Raid 1.
Planejamento
A ideia eh montar uma maquina para brincar, entao eh fundamental poder ter snapshots do sistema todo, com entao a saida eh colocar a raiz num volume logico. Entao vou fazer uma particao de 50Gb para ter 3 volumes: um de 15Gb para a raiz, um de 15Gb para snapshots da raiz e um home modesto de 5Gb. O resto deixa por ai.
Bom, eu ainda sou um pouco conservador entao vou colocar o swap numa particao so para ele, sem LVM mesmo. E vou deixar uns 50Gb para emergencias. O que sobrar vou deixar para brincar com o Xen.
Uma coisa que li [2] e que me pareceu razoavel eh que eh bom deixar uns 100Mb sem uso no final do disco para evitar frustracoes com discos ligeiramente diferentes.
Instalando
Como de costume, dei o boot pelo CD do Slackware, loguei como root e ai comecou a brincadeira.
Primeiro me certifiquei que os discos estavam sendo reconhecidos:
# fdisk -l
Dai com o fdisk criei as particoes no /dev/sda, tomando o cuidado de trocar o tipo de particao para "Linux raid autodetect" (tipo fd):
# fdisk /dev/sda
No final ficou assim:
# fdisk -l /dev/sda
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7a3c7a3c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6226 50010313+ fd Linux raid autodetect
/dev/sda2 6227 12452 50010345 fd Linux raid autodetect
/dev/sda3 12453 13075 5004247+ fd Linux raid autodetect
/dev/sda4 13076 30387 139058640 5 Extended
/dev/sda5 13076 30387 139058608+ fd Linux raid autodetect
root@pub00:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/slackware-root
15G 4.1G 10G 30% /
/dev/mapper/slackware-home
5.0G 139M 4.6G 3% /home
tmpfs 950M 0 950M 0% /dev/shm
Depois eu copiei a tabela de particoes para o sdb:
# sfdisk -d /dev/sda | sfdisk /dev/sdb
E criei os RAID arrays:
# mdadm -C /dev/md0 -l 1 -n 2 /dev/sd[ab]1
# mdadm -C /dev/md1 -l 1 -n 2 /dev/sd[ab]2
# mdadm -C /dev/md2 -l 1 -n 2 /dev/sd[ab]3
# mdadm -C /dev/md3 -l 1 -n 2 /dev/sd[ab]5
Explicando os parametros:
- -C: diz para criar um novo array
- -l: eh o nivel do RAID, no caso um RAID 1
- -n: numero de devices no array
Voce pode conferir como ficou com o comando:
# mdadm -D /dev/md[0-3]
Bom, depois criei os VG, PV e LV (vou colocar so um de exemplo):
# pvcreate /dev/md0
# vgcreate slackware /dev/md0
# lvcreate -L15G -nroot slackware
# lvcreate -L5G -nhome slackware
# vgchange -a y slackware
Acertei o swap:
# mkswap /dev/md2
E finalmente comecei o setup do Slackware:
# setup
Fiz tudo como normalmente, apenas indicando como device da raiz como /dev/slackware/root e montei o /dev/slackware/home em /home.
Acabando o setup, fui acertar o kernel e o initrid. Comecei com o famoso chroot:
# chroot /mnt
Depois fiz o initrd. Demorei um bocado para encontrar essa opcao -R pq nao tava no man do Slackware 12... Dependendo de o quanto azarado vc eh, vc vai precisar usar um -m ext3:algumparamentromaluco para carregar o modulo do seu RAID. E se vc for fazer snapshot da raiz (que eh o meu caso), entao vai precisar de um -m ext3:dm_snapshot
# mkinitrd -c -k 2.6.24.5-smp -m ext3:dm_snapshot -f ext3 -r /dev/slackware/root -L -R
Bom, dai eu editei o lilo.conf colocando o seguinte la para o final:
raid-extra-boot = mbr-only
image = /boot/vmlinuz-generic-smp-2.6.24.5-smp
initrd = /boot/initrd.gz
root = /dev/slackware/root
label = Linux
read-only
image = /boot/vmlinuz
root = /dev/slackware/root
label = Huge
read-only
Por fim rodei o lilo e fim :P
TODO
Ainda precisa configurar o mdadm para monitorar o RAID... Mas nao eh dificil nao.
Alem disso, preciso testar para ver se esta tudo funcionando, se consigo dar boot pelos 2 disco etc.
Conclusoes
Acabei agora a pouco, entao ainda nao da para dizer muito. Ate agora a performance parece boa e tudo mais.
Ainda nao sei bem as implicacoes de se ter a raiz num LVM, mas tem muita gente por ai fazendo terrorismo. Por outro lado, a documentacao do Slackware [1] ignora essas coisas, entao eu diria que eh seguro.
Bom, mas viu? Foi facil, muito facil!! Chegou ate a ser sem graca nao eh? Com alguma sorte o Xen da mais trabalho rsrsrs
Referencias
[1] http://slackware.osuosl.org/slackware-12.1/README_LVM.TXT
[2] http://slackware.osuosl.org/slackware-12.1/README_RAID.TXT
[3] http://www.tldp.org/HOWTO/LVM-HOWTO/
[4] http://pumpump.blogspot.com/2007/07/installing-slackware-12-on-linu
[5] http://www.userlocal.com/articles/raid1-slackware-12.php