ext4 no mdadm revertendo dados

5

Eu tenho um problema com a configuração do meu servidor doméstico. O problema é que às vezes, mas muito raramente, ele reverte (por falta de um termo melhor) todos os meus dados de volta a um estado anterior (em algum lugar entre meses e semanas antes).

A configuração é um 4TB ext4 em um software RAID 5 com 3 discos em execução no Ubuntu 12.04 (linux 3.2). O Samba exibe arquivos dessa partição.

/proc/mdstat me diz que a matriz está íntegra smartclt -H /dev/sdX diz PASSED para todos os dispositivos. Tentei encontrar algo nos logs, mas não consegui encontrar nada de suspeito.

A última vez que ocorreu o erro, reiniciei o servidor enquanto usava arquivos no corte, mas fsck não encontrou nenhum erro.

A natureza do erro me confunde. Como ext não é uma cópia no sistema de arquivos de gravação, eu teria assumido que algo assim é impossível. Se você puder pensar em algum diagnóstico que eu possa executar, por favor, não hesite.

Acho que a pergunta é o que aconteceu com meus dados e como posso impedir que isso aconteça novamente?

- editar -

OK, encontrei o erro: O problema não teve nada a ver com o ext4. O problema foi o modo como montei o dispositivo.

Eu tenho o raid 5 para meus dados e um raid 0 com um backup. Mas a maneira como montei isso na inicialização não era 100% estável; Às vezes, o backup foi montado como o principal.

De /etc/fstab :

# main RAID array
/dev/md126p1 /media/Main        ext4    defaults        0       0

De /etc/mdadm/mdadm.conf :

# definitions of existing MD arrays
ARRAY /dev/md/Main metadata=1.2 UUID=c2ccbd00:ce414404:0ee05911:eebe2832
ARRAY /dev/md/Backup metadata=1.2 UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 name=:Backup

Quem puder me responder essa pequena pergunta recebe a recompensa: qual é a melhor maneira de montar o backup e o principal de maneira estável e garantida.

- editar -

/ dev / md / Backup:

    Version : 1.2
Creation Time : Sun Jun 19 15:45:35 2011
 Raid Level : raid0
 Array Size : 3907021824 (3726.03 GiB 4000.79 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Sun Jun 19 15:45:35 2011
      State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

 Chunk Size : 512K

       Name : :Backup
       UUID : b4973c41:e735e1c0:29e8be4b:4fe7c007
     Events : 0

 Number   Major   Minor   RaidDevice State
   0       8       33        0      active sync   /dev/sdc1
   1       8       81        1      active sync   /dev/sdf1

/ dev / md / Main:

    Version : 1.2
Creation Time : Sun Jun 12 02:13:25 2011
 Raid Level : raid5
 Array Size : 3907021568 (3726.03 GiB 4000.79 GB)
Used Dev Size : 1953510784 (1863.01 GiB 2000.40 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Jan 28 19:00:45 2013
      State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

     Layout : left-symmetric
 Chunk Size : 128K

       Name : :Neue RAID-Anordnung
       UUID : c2ccbd00:ce414404:0ee05911:eebe2832
     Events : 17846

 Number   Major   Minor   RaidDevice State
   0       8       49        0      active sync   /dev/sdd1
   1       8        1        1      active sync   /dev/sda1
   3       8       65        2      active sync   /dev/sde1
    
por JustMaximumPower 23.01.2013 / 19:48

2 respostas

3

A melhor maneira é montar usando UUIDs, no seu fstab :

UUID=c2ccbd00:ce414404:0ee05911:eebe2832 /media/Main ext4 defaults 0 0
UUID=b4973c41:e735e1c0:29e8be4b:4fe7c007 /media/Backup ext4 defaults 0 0

Como apontado por @Floyd, o uso de rótulos também é interessante, já que você pode criar um novo dispositivo com os mesmos dados e o mesmo rótulo se precisar alterar as coisas. Então você pode fazer

tune2fs -L RAIDMain /dev/disk/by-uuid/c2ccbd00:ce414404:0ee05911:eebe2832
tune2fs -L RAIDBackup /dev/disk/by-uuid/b4973c41:e735e1c0:29e8be4b:4fe7c007

e, em seguida, no seu fstab :

LABEL=RAIDMain /media/Main ext4 defaults 0 0
LABEL=RAIDBackup /media/Backup ext4 defaults 0 0
    
por 31.01.2013 / 08:56
1

Como eu disse no meu comentário ao OP, tudo que você precisa fazer é usar os caminhos que foram declarados no arquivo /etc/mdadm.conf . Você pode usar o UUID ou LABEL , como @Stefan Seidel mencionado, mas eles não são realmente necessários.

Exemplo de /etc/mdadm.conf

ARRAY   /dev/md0  level=raid1  num-devices=2  UUID=37d3cabc:42393031:23c133e6:3b879f08
ARRAY   /dev/md1  level=raid5  num-devices=3  UUID=47d4cabd:42393031:23c133e6:3b879f99
MAILADDR root@krycek,root@byers,root@frohike

Amostra do / etc / fstab

/dev/md0      /export/raid1           ext3    defaults        1 2
/dev/md1      /export/raid2           ext4    defaults        1 2
    
por 01.02.2013 / 01:45

Tags