dez 212009
 

Olá!
Caso alguém precise, aqui estão os passos.
Para o exemplo, vamos supor que existam 3 HD’s SATA: 1 para a instalação do Xen (/dev/sda), os outros dois onde faremos o RAID-0 (/dev/sdb e /dev/sdc).

Criar uma partição e alterar seu tipo para “linux raid”, em cada HD a ser utilizado no RAID:

fdisk /dev/sdb

Pressionar “p” para visualizar as partições (se o disco for novo, não terá nenhuma) * PASSO OPCIONAL
Pressionar “d” para excluir partições (se necessário), digite o número da partição e pressione “ENTER” * PASSO OPCIONAL, dependendo se o disco é novo ou não
Pressionar “n” para criar uma partição, “p” para que ela seja “primária”, digitar “1” e pressionar “ENTER” para que seja a primeira partição no disco
Pressionar “t” para alterar o tipo de partição, digitar o número da partição e pressionar “ENTER”, digitar “fd” e pressionar “ENTER” para alterar o tipo de partição para “linux raid”
Pressionar “w” para salvar as alterações e sair do fdisk
Repedir para o /dev/sdc

Para mim, o /dev/md0 já existia… Mas eu não tinha nenhum RAID configurado…
Por garantia, excluí ele:

rm -f /dev/md0

Criar o device RAID (sintaxe genérica: mknod NOME TIPO MAJOR MINOR):

mknod /dev/md0 b 9 0

/dev/md0: device a ser criado
b: será um device “de bloco” (existem outros tipos)
9: pelo que pesquisei no google, um device RAID (“/dev/md…”) é um device de bloco com o MAJOR=9 (só não achei o porquê)
0: pelas minhas pesquisas no google, é o mesmo número do “md” (como estamos criando o “md0”, aqui vai “0”; para o “md1”, aqui iria “1”; etc, só também não achei o porquê)

Inicializar o RAID:

mdadm –create /dev/md0 –level=0 –raid-devices=2 /dev/sdb1 /dev/sdc1

–create /dev/md0: criaremos o RAID em /dev/md0
–level=0: queremos um RAID-0
–raid-devices=2: a quantidade de discos que fará parte deste RAID
Os últimos parâmetros tratam-se de uma lista com os discos/partições a serem utilizadas neste RAID

Adicionar a nova área ao xen:

xe sr-create content-type=”LocalSR” type=lvm device-config-device=/dev/md0 shared=false name-label=”RAID0″

sr-create: criar um novo Storage Repository
content-type=”LocalSR”: será um repositório local
type=lvm: tipo de particionamento (LVM seria “o melhor”, segundo as pesquisas que andei fazendo no google, nas quais encontrei esta explicação sobre LVM)
device-config-device=/dev/md0: o disco a ser utilizado (aqui apontamos para o device RAID)
shared=false: o SR não será compartilhado (outros servidores Xen não acessarão este repositório)
name-label=”RAID0″: nosso SR se chamará “RAID0”, na tela de administração do Xen

Pronto! o novo SR já está disponível para uso ;).

 Posted by at 12:03

  109 Responses to “Criando um Storage Repository no XenServer 5.5 utilizando RAID-0 por software”

  1. Boa Tarde, gostaria de saber se eu apontar o meu SQL para gravar as informações nesse storage se vai ter algum problema de performance no SQL

    obrigado

  2. Olá!

    Este “Storage Repositpry”, que criamos neste post, é para que o XenServer consiga armazenar máquinas virtuais nesta nova área, que por utilizar RAID-0 teria um desempenho melhor do que um único disco rígido. Se o RAID fosse por hardware, ao invés de software, o desempenho seria ainda melhor.

    Então não sei exatamente o que você quis dizer… Mas vamos às possibilidades:
    1) Você quer colocar uma máquina virtual que roda SQL neste novo Storage Repository… Bom, em teoria o SQL ficaria um pouco mais rápido, quando precisasse ler ou gravar informações no disco. Na realidade, a máquina virtual “como um todo” ficaria mais rápida, não apenas o SQL. Mas RAID-0 é “perigoso” para sistemas críticos, pois se um dos discos falhar (estragar, por qualquer motivo) você perde todas as informações… RAID-0 visa apenas desempenho, e não garantia de integridade das informações armazenadas.

    2) Você não utiliza XenServer, mas possui algum servidor linux rodando SQL, e quer criar um repositório RAID-0 para armazenar as informações do banco de dados. Valem as mesmas considerações àcima: você ganharia desempenho nas operações de leitura/gravação, mas aumenta o risco de perder todas as informações (se qualquer um dos discos estragar, todas as informações são perdidas).

    Espero ter ajudado! Mas qualquer coisa, poste outro comentário :).
    Abraço,
    Huff

  3. Possuo um XenServer com uma VM Ubuntu Server rodando o php, apache e mysql.

    Muito bom ! Estava procurando exatamente estes comandos para o XenServer. Obrigado mesmo ajudou bastante, principalmente no fato de você ter explicado os comandos, assim facilitando para os usuarios que não possuem muita experiencia com RAID.

  4. Huff,

    Estou duvido…

    1) Eu fiz o raid 1, parece seu comando raid 0 troquei para raid 1 no servidor de xenserver, ainda está funcionando. Tem 3 discos rigidos. 1º hd do sistema e (2º e 3º do dados com LVM)

    2) Eu quero saber… Exemplo eu quero testar:
    a) ficar 2º hd e tirar 3º hd. Como fazer funcionar comando e configurar xenserver?
    b) tambem 3º hd ficar e 2º tirar.

    3) Quando ocorrer o 3º hd vai ficar com bloco de defeituoso, Quando comprar um hd novo para colocar. Como fazer o 2º hd ficar igual para 3º hd, fazer clone é?

    Estevam Mota

  5. Olá Estevam!

    Se você retirar um dos HD’s que estão em RAID-1 (tanto faz se é o 2º ou o 3º HD), quando ligares o servidor e o Xen inicializar, o sistema que controla o RAID vai perceber que um dos HD’s está faltando, mas como o RAID é 1 ambos HD’s possuem exatamente a mesma informação. Desta forma, o Xen vai funcionar normalmente. Ele nem vai “perceber” que tem um HD faltando, pois o Xen nem sabe quantos HD’s estão no RAID, nem mesmo qual o tipo do RAID (0, 1, 5…).
    Após efetuares teu teste e colocares o HD de volta (seja o mesmo ou um novo, no caso da sua dúvida de substituir um HD que apresentou problema) terás que executar alguns comandos para reconfigurar o RAID, indicando a presença do novo HD. Este momento será “crítico”, pois o sistema que controla o RAID irá replicar as informações do HD que está “ok” para o novo HD, recém inserido no RAID.
    Vamos supor que teus três HD’s sejam /dev/sda1, /dev/sdb1 e /dev/sdc1.
    No primeiro (/dev/sda1) você tem o sistema (o Xen).
    No 2º e 3º, criou o RAID-1 (/dev/md0). Agora, vamos supor que o 3º HD deu problema, você desligou o servidor, retirou este HD e colocou outro HD igual no lugar.
    Ao ligar o servidor, terás que reconfigurar o RAID, utilizando os seguintes comandos:
    1) Marcar que o 3º HD “falhou”:
    mdadm /dev/md0 -f /dev/sdc1

    2) Remover o 3º HD do RAID:
    mdadm /dev/md0 -r /dev/sdc1

    3) Adicionar o novo HD ao RAID (como estamos supondo que você o colocou na mesma posição, ele continua sendo /dev/sdc, e lembre-se de antes criar a partição como fizemos na parte do “fdisk”, ali no how-to ;)):
    mdadm /dev/md0 -a /dev/sdc1

    A partir deste ponto, o sistema de gerenciamento do RAID vai duplicar a informação que está no 2º HD para o 3º HD, que recém colocamos no RAID. Durante este período o servidor pode ficar um pouco lento, em vista da grande quantidade de acesso aos HD’s. Somente após este processo ter sido concluído é que você terá novamente a redundância que o RAID-1 propicia.

    Qualquer dúvida, podes consultar o manual do mdadm.

    Obs: recomendo que não faça testes em um servidor de produção!!! Qualquer errinho e podes perder tudo :).

    []’s
    Huff

  6. Huff,

    Certo, ainda estou testando para servidor com teste, quando funciona-se entao combinar o servidor de desenvolvimento.

    Como fazer remover o repository (/dev/mda0) no XenServer?
    Lembro já tentei comando (xe sr-destroy uuid= é /dev/sdb [sem raid]) não sucesso o removido, ele disse q é ocupado. Por isso eu quero testar muito. Depois re-instalar e sem repository. Seu tutorial é muito bom e funcionam bem, antes fiz configuração de RAID 1 (sdb e sdc). O seu comando é (xe sr-create content-type=”LocalSR” type=lvm device-config-device=/dev/md0 shared=false name-label=”RAID1″). Como fazer remover o repository XenServer pelo comando? Aguardo…

    Quando funcionar-se perfeito, te aviso.

    Estevam Mota

  7. Olá!
    Creio que você tenha que parar todas as VM’s que estão armazenadas naquele Storage Repository, senão o Xen não iria deixar, pois ele está utilizando o SR…
    Estando todas as VM’s daquele SR paradas, você tem duas opções:
    1) Destrutir o SR, que é o comando que você citou (isto exclui todas as VM’s que estão nele!!!):
    xe sr-destroy uuid=id_do_SR_a_ser_destruído

    2) Apenas retirar o SR do servidor (permitindo que você o coloque em outro servidor, por exemplo):
    xe sr-forget uuid=id_do_SR_a_ser_removido

    Para listar os SR’s existentes: “xe sr-list”.

    []’s
    Huff

  8. Muito bom tutorial, so me restou uma dúvida. para adicionar um SR no xen somente via comando assim. nao tem como fazer pela interface gráfica.
    abs.

  9. Olá!

    Sim, tem que ser utilizada a interface de linha de comando (ou por conexão remota, via SSH, ou na “console física” do próprio servidor, ou ainda pela “Console” existente da interface de administração, o XenCenter).

    []’s

  10. Muito bom o artigo so gostaria de saber mais uma coisa como faria pra montar com 5 HDs 1 de 160 GB e 4 de 1 TB fazendo Raid 1 neles.
    será que podem me ajudar.

  11. Olá!

    hmmm não sei se entendi corretamente, mas você instalaria o Xen no HD de 160GB… Depois criaria dois repositórios com RAID-1… Cada repositório com 2 dos HD’s de 1TB… Seria isto?
    Então, no HD de 160GB você não faria “nada de especial”… Só direcionaria a instalação do Xen para ele…
    Depois que o Xen estivesse instalado, teria que criar cada um dos RAID’s, e por fim os adicionaria ao Xen, como repositórios de VM…
    É só seguir o passo-a-passo do post, mas na hora de executar o “mdadm –create …” para criar cada um dos repositórios, o parâmetro “-level” tem que ficar “=1”, pois você quer um RAID-1.

    Lembrando que você perderá todos os arquivos e informações que existem atualmente nos HD’s 😉

    []’s

  12. […] Criando um Storage Repository no XenServer 5.5 utilizando RAID-0 por software […]

  13. Huff, ótimo tutorial me ajudou muito, porem gostaria de saber qual a variável do comando xr que eu uso para estar carregando um hd ja com tudo criado, porem que não esteja aparecendo no Xen. Pois eu tinha um servidor Xen e formatei o HD aonde esta instalado o XenServer e ao subir o novo sistema e colocar novamente o hd eu utilizei xe sr-create e acabou apagando tudo.

    Desde já agradeço a atenção.

    Abraços,
    Fabio.

  14. Olá Fábio!

    É, o “sr-create” apaga tudo do destino e cria um repositório “zerado”…
    No teu caso, poderias fazer assim:

    1) xe host-list
    No retorno deste comando terá o nome do teu servidor Xen e também o campo “UUID” (que referenciarei mais para frente como “HOST_UUID”)

    2) xe sr-probe type=tipo_do_repositório device-config:device=/dev/….
    No nosso tutorial usamos “lvm” como o tipo do repositório…
    O “device=/dev/…” é o apontamento para o HD que contém as VM’s
    O retorno deste comando também vai trazer um “UUID” (que referenciarei como “DISK_UUID”)

    3) xe sr-introduce content-type=”LocalSR” name-label=”Disco_VMs” shared=false type=lvm uuid=DISK_UUID
    Neste ponto, o repositório já aparece no Xen, mas você não consegue utilizá-lo ainda, e ele pode apresentar uma mensagem de erro sobre o repositório não ter um “PBD”, sem problemas! 🙂

    4) xe pbd-create host-uuid=HOST_UUID sr-uuid=DISK_UUID device-config:device=/dev/…
    Quase quase! 😀
    Este comando vai retornar um “código”, parecido com os “UUID’s” (porque na verdade, é um UUID, que referenciarei como “PBD_UUID”)

    5) xe pbd-plug uuid=PBD_UUID
    Pronto! É só criar as VM’s de novo, mas informar que o disco já existe e escolher um dos discos deste teu segundo HD 😉
    A sintaxe do parâmetro “device-config” está diferente, pois agora estou com o XenServer 5.6, mas acredito que é só ajustar que estes comandos devam funcionar no 5.5 também.

    []’s

  15. prezados amigos , tem como trabalhar com a versao do xen da citrix free em ambientes de producao , a segunda pergunta seria .. qual a limitacao do software .. posso rodar um servidor com qto de memoria fisica

    att diogo

  16. Huff, bom dia!

    Desculpa a demora para agradecer, devido além do recesso tive uns problemas impossibilitando mexer novamente no Xen Server, deu tudo certo conforme os seus procedimentos, inclusive estou utilizando o 5.6.

    Muito Obrigado pela Ajuda e um ótimo ano!!!

    Abraços,
    Fabio.

  17. Olá!
    Não vejo porque não poderias trabalhar com a versão gratuita do XenServer em ambientes de produção :).
    Quanto à limitação de memória, no site do XenServer só achei que ele suporta no máximo 256GB de memória, não fala nada sobre ter que ser uma versão paga ;).
    []’s

  18. Olá! 😀
    Precisando é só falar, que se possível ajudarei! 🙂
    Ótimo ano para você também!!
    []’s

  19. Huff,bom dia!

    Apenas uma dúvida, no hd que eu configurei novamente no xen, aparece os HDs sem nome e descrição dificultando a identificação e possível recuperar essas informações?

    Mais uma vez agradeço a atenção,
    Abraços,
    Fabio.

  20. Olá!

    hmmm que eu saiba, não… 🙁
    (já fica a dica para nomear os HD’s virtuais de acordo com a VM/conteúdo hehehe)

    []’s

  21. so mais uma pergunta

    neste tutorial vc fala primeiro em fazer raid 0 e depois vi paramentros criando raid 1 mirror

    foi feito raid 0 ou raid 1 , to na duvida .??

    quero instalar um xen e fazer raid , onde pretendo virtualizar algumas estacoes windows .

    uma maquina com cpu i5 suportaria qtas maquinas virtuais ?? pra usar coisas basicas , internet + mail + office ???

  22. Opa!

    O post em si mostra RAID-0. Depois comentamos sobre RAID-1, nos comentários do post…
    Sobre quantas máquinas virtuais o processador suportaria, é meio difícil de dizer, vai depender do uso de cada VM. Mas dependendo de quanta memória RAM teu servidor tiver, é muito provável que a RAM é quem limite a quantidade de VM’s.

    []’s
    Huff

  23. sim mas eles fazem raid 1 nos 2 hds ..

    eu queria colocar 2 hds na maquina instalar o sistema ai sim fazer o raid 1 no sistema e nas maquinas

    o xen estaria hum hd junto com as vms e queria q estivessem em raid 1 com outro disco

  24. Olá.

    Este site contém uma lista de controladoras RAID que o Xen reconhece. Neste caso, o RAID seria feito pelo próprio hardware, e não por software como fizemos neste post. Agora, se você quiser fazer o RAID por software mesmo, aí realmente acho que não tem como… Se eu descobrir algo posto aqui, ou se alguém souber, por favor, contribua! 🙂

    []’s

  25. valeu .. vou ver outra coisa onde eu ativo o xen server para startar as maquians virtuais automaticamente ??

    nao to achando de jeito nenhum

  26. Opa.

    Conecta no servidor pelo “XenCenter” (aquela console gráfica que você instala em algum micro com Windows), abre as propriedades da VM, daí clica ali na esquerda em “Startup options”.
    Na parte da direita, vai ter uma opção “Auto-start on server boot”. É só marcar ela e clicar no “OK” ;).

    []’s

  27. Huff, boa noite, meu xenserver 5.5, perdeu o boot, nao consigo levantar as vm´s da o seguinte ERRO BOOT DEVICE: HARD DRIVE – FAILURE: COULD NOT READ BOOT DISK

    outra pergunta como acesso os dados dentro desta vm?

  28. Olá!

    Iiiii, então, no mínimo, este HD perdeu o setor de boot “sabe-se lá porquê”… Você não vai mais conseguir bootar por ele sem reinstalar o xen.
    O que você pode fazer é adicionar outro HD neste micro, instalar o xen neste outro HD, e depois tentar ler os dados do HD “supostamente estragado”, para ver se só perdeu o setor de boot mesmo, ou se foi mais coisa :(.

    []’s e boa sorte! 🙂

  29. uma duvida . to pensando em colocar o xen virtualizando alguns desktops e to com medo do hd principal onde nao vai ter raid e vai ter o sistema ter algum problema tipo este que deu com nosso amigo ai acima .

    tem como colocar um servidor em paralelo e as maquinas serem backuppeadas para este outro servidor automaticamente .

    att diogo

  30. Olá!

    hmmm normalmente o pessoal usa 3 servidores… um “storage” (FreeNAS, por exemplo) e dois xen’s abrindo as vm’s do “storage”, através de uma rede dedicada para isto (e de alta/altíssima velocidade). Assim os dois xen’s conseguem acessar as vm’s, e você pode fazer RAID no “storage”.
    Mas se você quiser copiar as vm’s de um servidor xen para outro, de forma automatizada, pode tentar adaptar este script disponível no próprio site do xen.

    []’s

  31. colocando uma rede 1000 que vc diz ficaria rapido o acesso as vms ???

    os 2 xen abrindo as mesmas vm ?

    nao daria problema ??

    ou deixaria um xen em stop e outro startado ?

  32. Olá!

    Você não consegue executar a mesma VM nos dois xen’s na versão gratuita.
    Você teria que comprar o xen (sim, ele tem uma versão paga que adiciona capacidade de alta disponibilidade) e daí sim a VM executaria nos dois ao mesmo tempo. Falhando um, o outro assumiria e o usuário nem perceberia o problema :).
    Mas dependendo do uso, e se a rede de 1000 for dedicada apenas à solução “xen + storage”, acredito que ela seria suficiente sim. De novo, vai depender do uso (quantas VM’s ao mesmo tempo, se há muita leitura/gravação nos discos virtuais, etc).

    []’s

  33. qto custa a versao paga ? vc usa q tipo de rede para interligar o xen ao storage ?

    att diogo

  34. Opa.

    Você pode acessar o site de compras da Citrix para ter uma idéia dos preços.
    Eu não tenho um ambiente “de produção” com xen. Na empresa onde eu trabalhava antes tínhamos um servidor “sozinho”, apenas para criar VM’s para o setor de Testes.
    Mas “o que se ouve falar” (hehe), são redes por fibra óptica :).

    []’s

  35. neste ambiente rede gb ethernet xen versao free + freenas qtos desktops vc acha q roda bem com qualidade ?

    att diogo

  36. Olá Diogo!

    Como já postei anteriormente, vai depender do uso (quantas VM’s ao mesmo tempo, se há muita leitura/gravação nos discos virtuais, etc), não tenho como te passar um número “certo”.

    []’s

  37. deixa eu te pertubar mais 1 vez heheheh

    esta versao free do xen permite usar em ambiente corporativo em produção ? o esquema de licenciamento quero dizer

    att diogo

  38. Sim! 🙂
    gratuito mesmo para ambientes corporativos de produção :D.

    []’s

  39. sera que consigo instalar o xen em um pen drive ?? qtos megas deve ter so a instalacao ?

  40. Olá!

    Este post mostra como fazer para o XenServer 5.5. Acredito que deva ser igual para a versão 5.6. Se você testar e conseguir, poste o resultado aqui! 😉

    []’s

  41. como posso converter uma maquina real numa virtual no xen citrix

  42. Olá!

    Você tem que baixar o XenConvert do site da Citrix. Este é o programa que converte máquinas físicas (ou virtuais, que estejam em outro formato) para uma máquina virtual em um servidor Xen.
    Também achei referências dizendo que iniciando o servidor a ser virtualizado com o CD de instalação do Xen você também teria a opção de conversão, mas não lembro de ter visto esta opção não… 🙂

    []’s

  43. Ola, como posso criar um Cluster usando o Xenserver 5.6??
    Obrigado

  44. Olá Douglas!

    Você pode dar uma olhada nos demais comentários deste post, já falamos um pouco sobre isto.
    Mas “resumindo”:
    * Você precisa de 2 servidores, nos quais instalará o Xen;
    * Um “storage externo”, onde ficarão armazenadas as VM’s. Uma opção “gratuita” para o storage externo seria o FreeNAS.;
    * Uma rede (extremamente) rápida e dedicada (altamente recomendado) para os servidores Xen acessarem o storage.

    Após ter tudo instalado, e a rede funcionando, você pode adicionar o storage aos servidores Xen, acessando a opção para adicionar um novo “Storage Repository”.

    []’s

  45. Olá Huff.

    Fiz a instalação do xenserver em um disco de 250gb. [/dev/sda]
    Adicionei mais dois discos de 1TB [/dev/sdb e /dev/sdc]

    fiz as configurações via mdadm normalmete seguindo tutorial acima. Terminada a sincronização [/proc/mdstat] adicionei o /dev/md0 [raid 1] no xenserver utilizando o comando:

    xe sr-create content-type=”LocalSR” type=lvm device-config:device=/dev/md0 shared=false name-label=”RAID1″

    Após o RAID 1 aparecer em minha lista de SR’s fiz a importação de uma máquina virtual [.vhd] para meu SR RAID 1. Após a importação da vm, a vm iniciou normalmente.

    Após reiniciazação do servidor meu xenserver não iniciou. Sabes me dizer se faltou algum parametro no tutorial?

    Obrigado desde já.

    Rodolpho.

  46. Olá Rodolpho.

    Estranho, não vejo porque o xen não iniciaria.
    Você ainda tem as mensagens de erro que apareceram? Ou tirou uma foto da tela? 😀
    Se tiver, poste as mensagens de erro para tentarmos te ajudar ;).

    Qualquer coisa também posso te mandar um email.
    []’s
    Huff

  47. estou com um problema parecido com o do Rodolpho

    Após reiniciazação do servidor meu servidor,…olhando através do xencenter não iniciou o storage RAID0,…aperece um x como se não tivesse iniciado o storage.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.