Software-RAID com ext4 mas sem suporte a 64 bits

1

No ano passado eu configurei um Software-RAID5 com 5x3TB produzindo 12TB de capacidade utilizável. Ainda hoje, precisando de mais armazenamento, terminei de aumentar o RAID para mais dois discos de 3 TB:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdd1[7] sde1[6] sdb1[4] sda1[5] sdc1[2] sdg1[1] sdf1[0]
      17580801024 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU]

unused devices: <none>

Isso significa que agora devo ter aproximadamente 6x3TB = 18TB disponíveis em /dev/md0 . resize2fs , chamado sem um parâmetro de tamanho, agora me disse que o novo tamanho não é possível no modo de 32 bits. Algumas pesquisas mostraram que este é um problema comum e não é facilmente solucionável sem consertos pesados que eu não estou disposto a fazer.

tune2fs confirmou que 64bit -flag estava faltando :- (embora nos arquivos de configuração auto_64-bit_support = 1 esteja definido (e também deveria ter sido definido quando o sistema de arquivos foi criado) .Mas não há uso em choramingando sobre algo que não posso mudar depois.

Infelizmente, o backup completo e a restauração não são uma opção (eu sei, existe deve existir um backup de todos os dados, mas só há dinheiro suficiente para fazer o backup < em> realmente parte importante do mesmo).

Eu então tentei redimensionar o sistema de arquivos para 16 TB com resize2fs -S 128 /dev/md0 16T , o que pareceu funcionar, mas voltou com um erro dizendo que não há espaço suficiente no dispositivo e me aconselhando a executar e2fsck -fy /dev/md0 - coisa estranha. Meu coração bateu como um louco até que o cheque voltou bem! Contar para redimensionar para 15T funcionou, no entanto.

Eu acho que podemos viver com cerca de 15 TB por mais alguns meses, mas ter aproximadamente 3 TB andando sem uso é algo que eu realmente não gosto. Minha pergunta agora é, como eu posso colocar esses 3 TB para usar. Meus rumos de pesquisa foram

  • Convertendo para btrfs, que parece suportar sistemas de arquivos maiores que 16 TB e é possível sem um ciclo de backup / restauração - mas fontes diferentes dizem que isso não é confiável e não deve ser usado na produção.
  • Particionar /dev/md0 para criar um segundo sistema de arquivos nos 3 TB restantes - parece ser impossível (tipo de tabela de partição loop )
  • Configurando o LVM - isso é possível sem reformatar?

mas nenhuma destas "soluções" foram suficientemente bem documentadas / testadas ou não eram uma opção como dito acima, então agora estou preso com um /dev/md0 de 18TB contendo um sistema de arquivos ext4 com apenas 15TB e 3TB de espaço livre. Alguém tem uma ideia do que mais eu poderia tentar / fazer / considerar?

    
por Frederic Beister 12.06.2014 / 11:53

1 resposta

1

Eu corri para o mesmo SNAFU em uma máquina CentOS 6. Meu kernel tem suporte a 64 bits, mas o sistema de arquivos não foi originalmente formatado com o conjunto de sinalizadores de 64 bits. Não há suporte a > 16TB. :-( Posso confirmar que o tune2fs não será de ajuda aqui. Você não pode converter um sistema de arquivos ext2 / 3/4 para 64 bits.

Eu tenho sorte, embora eu esteja usando o LVM no topo do meu array MD, então eu comecei a adicionar espaço ao meu array de uma forma um pouco indireta, criando outro LV com o espaço extra no meu array MD e formatar isso usando a opção de 64 bits. Em seguida, movo alguns dados do antigo para o novo sistema de arquivos, depois reduzo o antigo sistema de arquivos, redimensiono (diminuo, desenvolvo novos) os grupos de volumes LVM, aumentei o sistema de arquivos de 64 bits e repito (várias vezes) . Não é o ideal, mas minha recomendação é re-particionar o array md e fazê-lo dessa maneira. É possível. (GParted será muito útil aqui)

Para abordar suas instruções de pesquisa, a partir da minha experiência com o administrador de sistemas:

  • A conversão para o BTRFS provavelmente não é uma opção. Como os docs sugerem, o BTRFS ainda está em desenvolvimento (mesmo o 3.12 que está incluído no kernel 3.1) e não deve ser usado para armazenar dados críticos (e não backup). Embora não haja nada que sugira que seu sistema de arquivos se corrompa espontaneamente, é um pouco mais arriscado do que usar o ext4.

  • O particionamento é o caminho a seguir e é muito mais fácil com ferramentas como o GParted. É ainda mais fácil no topo do LVM ...

  • Você pode instalar o LVM e você pode experimentar uma ferramenta de terceiros chamada Blocos para converter sua matriz md (dispositivo de bloco) para volume & grupo de armazenamento. Isso tornará a nova partição e redimensionamento um pouco mais fácil. Embora você não precise converter seu sistema de arquivos raiz, essa ferramenta pode ajudar a colocar o LVM no mix. Eu iria errar do lado de não seguir esse caminho no caso de algo se tornar FUBAR. Eu iria praticar de antemão em um banco de testes.

Talvez fique com o novo particionamento (e um formato manual de sua nova partição com mkfs.ext4 -O 64bit ....) com o GParted e mova seus dados manualmente. Verifique se seus arquivos estão todos < 3TB em tamanho, caso contrário você precisará de armazenamento externo também.

    
por 04.10.2014 / 18:19