Eu tenho um array Linux Raid6 array (mdadm). Eu cresci de 6x4TB discos (16TB utilizável) para 7x4TB (20TB utilizável). A reformulação correu bem, mas quando fiz resize2fs, recebi o problema bem conhecido do limite do sistema de arquivos EXT4 de 16TB. Eu verifiquei e o sistema de arquivos NÃO tem o sinalizador de 64 bits. Então, em um esforço para recuperar a unidade extra que acabei de adicionar à matriz, fiz isso:
johnny@debian:~$ sudo resize2fs /dev/md0 16000G
johnny@debian:~$ sudo mdadm --grow /dev/md0 --array-size=16000G
johnny@debian:~$ sudo mdadm --grow /dev/md0 --raid-devices=6 --backup-file=/tmp/backup
Observe o local do arquivo de backup. Isso vai ser importante em um minuto, porque eu estou no Debian.
Então as coisas estavam indo bem, lentas, mas funcionando. O progresso chegou a 3,7% e diminuiu a velocidade. Eu tinha assumido que isso era porque eu estava reformulando algumas outras matrizes durante esse mesmo tempo. Quando os outros trabalhos terminaram e este não acelerou, fiquei muito preocupado. Como disse que levaria anos para terminar, decidi que deveria reiniciar e ver se aceleraria, então reiniciei o sistema.
É quando coisas ruins começam a acontecer ...
Estou no Debian, e entendo que a pasta / tmp é eliminada quando o sistema é ativado, então meu arquivo de backup do reshape foi perdido. Além disso, como meu arquivo / etc / fstab estava tentando montar o md0, que não estava sendo montado agora, o sistema falhou em aparecer algumas vezes. Eu comecei de um live cd e consertei o arquivo fstab e fiz o sistema voltar.
Uma vez que eu resolvi isso, o sistema estava pronto, e essa foi a primeira vez que vi que o md0 não tinha simplesmente se montado e continuado a remodelação. Pânico definido em ...
Eu não tenho a saída dos seguintes comandos, mas eu consegui encontrar os comandos que eu digitei. Breve explicação do que aconteceu a seguir ...
johnny@debian:~$ sudo mdadm --assemble /dev/md0
johnny@debian:~$ sudo mdadm --assemble --force /dev/md0
johnny@debian:~$ sudo mdadm --assemble --force /dev/md0 --backup-file=/tmp/backup
O primeiro comando falhou, então eu tentei a opção --force, que também falhou, mas a mensagem de erro me disse que a falha era porque precisava da opção --backup-file, então executei o terceiro comando. Eu esperava que o arquivo de backup ainda existisse, mas não porque estava na pasta / tmp e havia sido excluído. Isso não parece causar nenhum problema, porque a matriz foi montada.
Aqui está o que o md0 parece agora. Observe o disco marcado como "removido". Eu suspeito que este é o disco que estava sendo removido, sdj1.
johnny@debian:~$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 3906887168 (3725.90 GiB 4000.65 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Mar 5 20:45:56 2016
State : clean, degraded, reshaping
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Reshape Status : 3% complete
Delta Devices : -1, (7->6)
Name : BigRaid6
UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Events : 4339739
Number Major Minor RaidDevice State
11 8 224 0 active sync /dev/sdo
2 0 0 2 removed
6 8 80 2 active sync /dev/sdf
7 8 176 3 active sync /dev/sdl
12 8 16 4 active sync /dev/sdb
8 8 32 5 active sync /dev/sdc
9 8 128 6 active sync /dev/sdi
E aqui está o progresso atual da reformulação. Observe que está completamente preso a 0K / seg.
johnny@debian:~$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid6 sdo[11] sdi[9] sdc[8] sdb[12] sdl[7] sdf[6]
15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [U_UUUU]
[>....................] reshape = 3.7% (145572864/3906887168) finish=284022328345.0min speed=0K/sec
bitmap: 5/30 pages [20KB], 65536KB chunk
unused devices: <none>
Aqui estão os discos individuais ainda na matriz.
johnny@debian:~$ sudo mdadm --examine /dev/sd[oflbci]
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : 99b0fbcc:46d619bb:9ae96eaf:840e21a4
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : fca445bd - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 4
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : b8d49170:06614f82:ad9a38a4:e9e06da5
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : 5d867810 - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 5
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : dd56062c:4b55bf16:6a468024:3ca6bfd0
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : 59045f87 - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdi:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : 92831abe:86de117c:710c368e:8badcef3
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : dd2fe2d1 - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 6
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdl:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : 8404647a:b1922fed:acf71f64:18dfd448
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : 358734b4 - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 3
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdo:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x5
Array UUID : 45747bdc:ba5a85fe:ead35e14:24c2c7b2
Name : BigRaid6
Creation Time : Fri Jan 11 09:59:42 2013
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB)
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Used Dev Size : 7813774336 (3725.90 GiB 4000.65 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262064 sectors, after=688 sectors
State : clean
Device UUID : d7e84765:86fb751a:466ab0de:c26afc43
Internal Bitmap : 8 sectors from superblock
Reshape pos'n : 15045257216 (14348.28 GiB 15406.34 GB)
Delta Devices : -1 (7->6)
Update Time : Sat Mar 5 20:45:56 2016
Checksum : c3698023 - correct
Events : 4339739
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : A.AAAAA ('A' == active, '.' == missing, 'R' == replacing
Aqui está / dev / sdj1, que costumava ser o único membro da matriz que não era um membro de "disco inteiro". Este foi o único a ser removido da matriz durante a reformulação. Eu suspeito que ainda é necessário terminar a remodelação, embora não seja atualmente um membro da matriz, porque tem os dados sobre isso antes da reformulação.
johnny@debian:~$ sudo mdadm --examine /dev/sdj1
mdadm: No md superblock detected on /dev/sdj1.
Então, aqui estão meus problemas ...
1. Não consigo fazer a reforma terminar.
2. Não consigo montar o array. Quando eu tento, eu entendo isso.
johnny@debian:~$ sudo mount /dev/md0 /media/BigRaid6
mount: wrong fs type, bad option, bad superblock on /dev/md0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
johnny@debian:~$ sudo dmesg | tail
[42446.268089] sd 15:0:0:0: [sdk]
[42446.268091] Add. Sense: Unrecovered read error - auto reallocate failed
[42446.268092] sd 15:0:0:0: [sdk] CDB:
[42446.268093] Read(10): 28 00 89 10 bb 00 00 04 00 00
[42446.268099] end_request: I/O error, dev sdk, sector 2299575040
[42446.268131] ata16: EH complete
[61123.788170] md: md1: data-check done.
[77423.597923] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
[77839.250590] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
[78525.085343] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
Tenho certeza de que a montagem seria bem-sucedida se a remodelação fosse concluída, então provavelmente é o mais importante. Apenas FYI, os dados nesta matriz são muito grandes para serem armazenados em backup, então, se eu perdê-los, os dados desaparecem. Por favor ajude!
EDIT 1:
Eu poderia desembolsar $ 1000 (ou mais) e obter discos suficientes para copiar tudo, mas eu precisaria ser capaz de montar o array para que isso funcionasse.
Além disso, observei que a mensagem de erro "geometria incorreta" que recebo ao tentar montar o array contém algumas informações interessantes.
[146181.331566] EXT4-fs (md0): bad geometry: block count 4194304000 exceeds size of device (3906887168 blocks)
O tamanho do dispositivo, 3906887168, é exatamente 1/4 do tamanho da matriz de md0, 15627548672. De "mdadm --detail / dev / md0"
Array Size : 15627548672 (14903.59 GiB 16002.61 GB)
Não sei de onde vem o número 4194304000 ... mas isso não significa que o array tem o tamanho certo para caber nesses discos? Ou esses tamanhos não são responsáveis pelos metadados do mdadm? É 4194304000 incluindo os metadados, talvez?
Eu poderia jurar que tentei algumas vezes obter os tamanhos antes mesmo de a reformulação começar, então achei que estava tudo certo. Talvez eu estivesse errado.