Configure RAID1 e RAID5 no (Open) Solaris
- 18 de janeiro de 2008
- Escrever um comentário
Este artigo pretende mostrar como configurar RAID1 e RAID5 sob solaris usando SVM (Solaris Volume Manager). Seguintes operações foi testado em open-solaris 10.
Suponha que você tem 10 discos do mesmo tamanho. Em Dispositivos solaris discos estão listados em / dev / dsk / como dispositivos de bloco e / dev / rdsk / como char-dispositivos ou discos-primas. O descritor selecionar para pesquisa dos discos conectados através de SCSI são na forma c <controller-number> t <scsi-id> d <LUN- <slice-id> id> s.
A fatia # 2 é o único para todo o disco, o que você deve usar ao abordar o disco inteiro ou fazer um backup.
Ok, suponhamos que você acabou de instalar o Solaris 10 para a primeira unidade c0t0d0s2, dividido como a seguir:
c0t0d0s0 montada como /
c0t0d0s1 usado como SWAP
c0t0d0s7 partição não usada (cerca de ~ 30 MB)
Usando fatia # 7 como a seguir é uma convenção, você pode usar o que quiser.
Ok, agora você quer para Ser um RAID1, tanto da raiz e partição SWAP espelhando-los em outra unidade, c0t1d0s2.
Primeira coisa, você deve ter o esquema de partição mesmo em ambos drive, para fazê-lo manualmente ou apenas copiar a tabela de partição como
rdsk / c0t0d0s2 | fmthard -s - / dev / rdsk / c0t1d0s2 prtvtoc / dev / rdsk / c0t0d0s2 | fmthard-s - / dev / rdsk / c0t1d0s2
Certo, agora você deve preencher a partição não usada com informações sobre as unidades que você vai usar como meta-dispositivos.
Com a falta de fantasia, essas informações são armazenadas em meta-databased.
Você pode gerá-los com
c0t0d0s7 c0t0d0s7 metadb-um-c n-f c0t0d0s7 c0t0d0s7
onde-a significa "adicionar",-c n diz que você quer n cópias da informação metadb por isso, se algum for corrompido, você pode restaurá-lo,-f significa "força" uma vez que são montados na unidade fatias c0t0d0 e, obviamente, os args últimos indicam a fatia onde deseja salvar o metadb.
Tenha cuidado, se informação metadb fica corupted seu sistema não irá usar os meta-dispositivos, sem, pelo menos, 51% do deles.
Para evitar essa condição, se você ficar em apuros adicionar 'md set: mirrored_root_flag = 1' para / etc / sistema para sacrificar a integridade de aviability.
Enfim, se você é só pegar o metadb perdido no disco submirror, você pode excluir e reconstruí-los (o homem metadb deve ajudar).
Certo, agora você vai inicializar os metadevices com valores individuais listras:
metadevice-name > 1 1 < slice > metainit-f <metadevice-name> 1 1 <fatia>
Concentre-se em nomes metadevices, que normalmente deve ser chamado DXY neste concurso, uma vez que irá chamar o dx0 espelho de modo que o primeiro deve ser metadevice dx1, o primeiro submirror dx2 e assim por diante.
Então, para initializate raiz e fatias de swap e seu espelho em nosso exemplo, vamos fazer
c0t0d0s0 metainit-f d11 1 1 c0t0d0s0 c0t1d0s0 metainit-f d12 1 1 c0t1d0s0 c0t0d0s1 metainit-f d21 1 1 c0t0d0s1 c0t1d0s1 metainit-f 1 d22 1 c0t1d0s1
Fácil, não é? Agora vamos criar os espelhos principais (m):
metainit d10-m d11 metainir d20-d21 m
Nós agora devemos ter nossos espelhos em / dev / dm / dsk / como / dev/dm/dsk/d10
Agora temos que dizer ao sistema usando os espelhos em vez de as fatias.
Para a fatia da raiz, podemos apenas usar o comando metaroot como:
metaroot d10 Do que apenas alterar a entrada de swap em / etc / vfstab dizendo a ele para montar / dev/dm/dsk/d20 em vez de c0t0d0s1
Durante toda esta linha, o comando metastat pode ser útil para conseguir o que está acontecendo em seu sistema.
Agora você só tem que reiniciar a máquina, e espero que tudo deve estar certo.
Você pode apenas ter problemas com informações metadb. Se assim for, faça o login como root para manutenção e uso 'metadb-i' para mostrar que metadb ter problemas (indicadores maiúsculas em geral, o homem metadb para mais informações) e, eventualmente, excluir e restaurá-los.
Agora que você tem sua máquina funcionando com os espelhos, você só tem que anexar os submirrors
submirror > metattach <espelho-name> <submirror>
Por exemplo:
metattach d10 d12 metattach d20 d22
Aqui você tem um RAID1 configurada para o seu sistema relacionadas com fatias de 2 de seus discos.
Suponha agora que você deseja configurar um sistema de armazenamento com os restantes 8 unidades, usando RAID5 para aumentar a performance e falha tollerance.
O roteiro é simples:
1) Formate todas as unidades para conter dados e informações metadb
2) Criar a informação metadb
3) Criar uma piscina hotspare (isso somente se você quiser usar hotspares)
4) Inicialize o volume RAID5.
6) Coloque a piscina hotspare (isso somente se você quiser usar hotspares)
7) Aguarde a sincronização ser feito e montar ou definir um ponto de montagem
Bem, eu acho que vocês são capazes de usar o formato do comando fazer uma partição da unidade, eu apenas sugerir o uso de fatia 0 para os dados e mais uma vez, fatia 7 para a informação metadb.
Em seguida, use:
- cktjdhs2 prtvtoc cxtydzs2 | fmthard-s - cktjdhs2
para copiar a tabela de partição para todas as outras unidades
Em seguida, use o mesmo
metadb-um-c n cxtydzs7 em todas as unidades para gerar informações metadb.
Agora, digamos que você deseja usar hotspares e você quer criar um pool de hotspare com 2 de suas unidades.
Isso significa que as unidades Hotspare não for utilizado, mas vai substituir um dos mais utilizados em caso de falha e seu sistema de armazenamento ainda será redundante fracasso e resistente como um RAID5 sólida mesmo 2 de sua unidade falhar.
Criar a piscina com hotspare
slice-to-use > < slice-to-use > < ... > metainit <hot-spare-name> <fatia de usar> <fatia de usar> <...>
Se você quiser adicionar uma fatia à sua reserva de hot spare que já está criado
hot-spare-name > < slice-to-add > metahs-a <hot-spare-name> <fatia-para-adicionar>
Agora vamos criar o volume RAID5
-r < slice-to-use > < slice-to-use > < slice-to-use > < ... > metainit <nome do volume->-r <fatia de usar> <fatia de usar> <fatia de usar> <...>
-R só vai criar o volume RAID5 ... fácil, não é?
Agora vamos anexar o pool de hot spare para o volume RAID5
hot-spare-name > < RAID5-volume-name > metaparam-h <hot-spare-name> <RAID5-volume-name>
Tudo feito.
<RAID5-volume-name> É o que você deu ao criá-lo, e ele está localizado em / dev / dm / dsk / <RAD5-volume>
Agora basta usar o comando metastat para monitorar o status do seu novo sistema de armazenamento RAID5, espere para sincronizar a ser feito.
Você pode querer definir um sistema de arquivos em seu novo sistema de armazenamento:
em solaris, apenas criando uma nova UFS
dm / dsk /< RAID5-volume-name >/ newfs / dev / dm / dsk / <RAID5-volume-name> /
Em seguida, montá-lo onde você quiser ou definir uma entrada no / etc / vfstab para montá-lo em tempo de boot =)
Isso é tudo,
Tenha um bom dia.
. Um


