Como ligar um sistema Linux a um RAID1 existente em 2 discos rígidos externos?

0

Eu instalei o Debian Linux (Wheezy) em um HD pequeno, adicionei dois HDDs grandes (2TB) idênticos e criei um RAID1 (sem usar lvm ), usando mdadm . Eu armazenei uma grande quantidade de arquivos no RAID.

Eu executo o RAID a partir de um terceiro HDD para simplificar a atualização ou substituição do sistema Linux, sem perturbar o RAID.

O pequeno HDD acabou de morrer! Eu o substituí, reinstalei o Debian Wheezy (com as grandes unidades desconectadas), e tudo está bem. Como faço para recolocar o sistema RAID sem perturbar os arquivos salvos?

ATUALIZAÇÃO: Seguindo o conselho útil de Jake, investiguei sem as unidades SATA (RAID) conectadas:

lsblk gives:  
sda = sda1, sda2 (“/”), sda3 (swap), sda4  
sr0 rom  
sr1 rom 

Depois, reiniciei as duas unidades SATA conectadas. Eles devem ter dois arrays RAID1 diferentes, um de 20GB e outro de 1960GB, acho que formatado como ext3.

lsblk agora fornece:

sr0  
sda = sda1, sda2 (/), sda3 (SWAP), sda4  
sdc = sdc1, sdc2 (md124,raid1), sdc3 (md125,raid1), sdc4  
sdb = sdb1, sdb2 (md126,raid1), sdb3 (md127,raid1), sdb4  

Algumas mensagens apareceram na tela durante a inicialização, então eu consultei o dmesg:

md: md127 stopped  
md: bind'<sdb3>'   
md: raid1 personality registered for level 1  
md/raid1:md127: active with 1 out of 2 mirrors   
md127: detected capacity change from 0 to 1.96GB   
md127: unknown partition table 

... e entradas exatamente semelhantes para md126 , md125 , md124 .

O Linux detectou e montou os arrays RAID, mas assume que eles são quatro arrays separados? E não consegue ler as tabelas de partições? Como posso corrigir isso?

    
por carrt7 14.11.2014 / 02:17

1 resposta

1

Você diz isso:

I run the RAID from a third HDD so as to make it simple to update or replace the Linux system, without disturbing the RAID.

Então diga isso.

The small HDD has just died! I have replaced it, reinstalled Debian Wheezy (with the large drives unplugged), and all is well. How do I now reattach the RAID system, without disturbing the saved files?

Um pouco vago em sua configuração RAID, sem conhecer os detalhes do sistema, explicarei como você pode montar / desmontar manualmente um volume no Linux. Mas, por favor, observe: Sem conhecer os detalhes da sua configuração local, isso deve ser considerado um guia genérico sobre como lidar com essa tarefa e não um guia passo a passo verdadeiro para uma solução.

Primeiro, você deve poder apenas fazer o plug-in dos discos RAID e montá-los como qualquer outro volume. O que eu recomendaria é executar lsblk antes de fazer qualquer outra coisa:

lsblk

A saída seria algo assim; isto é da minha própria instalação do sandbox Ubuntu no VirtualBox:

NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                             8:0    0     8G  0 disk 
├─sda1                          8:1    0   243M  0 part /boot
├─sda2                          8:2    0     1K  0 part 
└─sda5                          8:5    0   7.8G  0 part 
  ├─sandbox--vg-root (dm-0)   252:0    0   6.7G  0 lvm  /
  └─sandbox--vg-swap_1 (dm-1) 252:1    0  1020M  0 lvm  [SWAP]
sr0                            11:0    1  1024M  0 rom  

As partições sda e relacionadas são o volume de inicialização no meu sandbox install. Quando você conecta o RAID, um volume chamado sdb deve aparecer nessa lista. Se você reexecutar lsblk depois de enganchar isso, você deverá vê-lo listado.

Agora, sobre como montá-lo, você precisaria criar um diretório para ser um ponto de montagem. Para testes, eu recomendo fazer isso no seu diretório de usuários. Algo parecido com isto:

mkdir -p ~my_mount

Claro que esse diretório estaria vazio. Mas agora, se você executar o seguinte comando mount via sudo , será possível montar esse RAID sem problemas:

sudo mount /dev/sdb1 ~/my_mount

Observe como estou montando /dev/sdb1 em vez de /dev/sdb ; isso é porque as unidades devem ser particionadas corretamente com sdb1 , sendo a primeira partição utilizável. Agora, se você executar um ls -la simples nesse ~/my_mount assim:

ls -la ~/my_mount

Você poderá ler o conteúdo desse volume. E se você deseja desmontar o volume, basta executar este comando umount :

sudo umount ~/my_mount

E é isso! Você sempre pode alterar o local do ponto de montagem de ~/my_mount para outra coisa. Mas como eu disse no início, esta é uma explicação básica sobre como montar e desmontar manualmente um volume em um sistema Linux. Pode haver detalhes específicos sobre sua configuração de RAID que não estejam totalmente claros em sua postagem. Use isso como um guia para explicar como montar / desmontar genericamente e não uma lista canônica de etapas que certamente resolverão seu problema.

EDITAR: E aqui está um site com detalhes sobre como montar um membro RAID com mdadm .

    
por 14.11.2014 / 02:40