Qual foi o tamanho padrão do pedaço nas versões anteriores do mdadm? Existe uma maneira de definir dados / super deslocamento? Tentando recriar um ataque 5 md com todas as peças

2

Eu tenho um array de RAID 5 de 6 dispositivos que tinha 1 disco ruim e depois devido a uma queda de energia, o desligamento da máquina e quando ele começou todos os discos foram mostrados como sobressalentes com a seguinte saída mdadm -E. p>

/dev/sda5:
    Magic : a92b4efc
  Version : 1.2
  Feature Map : 0x0
   Array UUID : b480fe0c:c9e29256:0fcf1b0c:1f8c762c
     Name : GATEWAY:RAID5_500G
Creation Time : Wed Apr 28 16:10:43 2010
   Raid Level : -unknown-
 Raid Devices : 0

Avail Dev Size : 976768002 (465.76 GiB 500.11 GB)
Used Dev Size : 976765954 (465.76 GiB 500.10 GB)
  Data Offset : 2048 sectors
 Super Offset : 8 sectors
        State : active
  Device UUID : a8499a91:628ddde8:1cc8f4b9:749136f9

  Update Time : Sat May 19 23:04:23 2012
 Checksum : 9950883c - correct
   Events : 1


 Device Role : spare
 Array State :  ('A' == active, '.' == missing)'

Este dispositivo md fazia parte de um volume físico para um grupo de volumes LVM.

Estou tentando recriar o array usando o mdadm --create --assume-clean usando 1 dispositivo como ausente. Estou verificando se o dispositivo está sendo criado corretamente, verificando o UUID do dispositivo criado que corresponderia se o dispositivo fosse criado corretamente.

Eu tentei algumas combinações da ordem de disco que acredito estarem corretas, no entanto acho que estou ficando atrapalhada pelo fato de que o mdadm que eu usei para criar este dispositivo md era alguma série 2.x e agora estamos no 3.x (e eu posso ter tomado alguns dos padrões originalmente que eu não lembro) O que todos os "padrões" mudaram nas versões para que eu possa experimentá-los? Como tamanho de pedaço? Podemos configurar manualmente o super / data offset? São significativos quando fazemos um mdadm --create --assume-clean?

Obrigado Anshu

    
por eskhool 25.06.2012 / 09:27

1 resposta

1
Embora no melhor de todos os mundos o mdadm deva ser capaz de detectar sua versão no formato superblock ao montar ou examinar, você poderia tentar explicitamente especificar uma versão antiga de superblocos usando o parâmetro -e 0.90 para mdadm e ver o que -examine tem a dizer sobre isso.

O deslocamento de superblocos tem uma posição codificada em relação ao final do dispositivo (no seu caso, o partição), se o dispositivo tiver sido movido (ou seja, alterando o tamanho da partição ou fazendo uma cópia bruta para um disco maior), o mdadm não conseguirá localizar a cópia correta.

Também parece um pouco que seus superblocos foram confundidos - se este for o caso, você não seria capaz de "montar" sem algum trabalho manual. Você deve verificar todas as suas unidades para obter um superbloco válido - pode haver uma cópia em algum lugar que possa poupá-lo de muitas tentativas e erros ao reconstruir a matriz MD.

A abordagem geral para recuperação seria usar mdadm --build com um tamanho de bloco de 64K (o antigo padrão mdraid, ele mudou para 512K depois), o número de seus dispositivos e seu nível de RAID presumido como parâmetros constantes e embaralhando o ordem do dispositivo, a menos que você obtenha um sistema de arquivos em funcionamento. Escusado será dizer que você deve fazer isso com cópias dos dados do seu HDD para que você não altere irrevogavelmente os dados emitindo um comando inexperiente.

    
por 25.06.2012 / 18:19