Não é possível montar um ataque de 18 TB 6

2

recebo o seguinte erro quando tento montar o meu raid 6 no Ubuntu Linux

monte / dev / md3 / mnt / md3
mount: Arquivo muito grande

Eu tenho outro ataque 1 existente (apenas 2TB) e funcionando bem .. alguma idéia?

Quando eu tentei

./mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/md3

recebi o seguinte resultado

mke2fs 1.43-WIP (22-Sep-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
274700288 inodes, 4395201024 blocks
219760051 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2248146944
134131 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
        2560000000, 3855122432

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

e quando tento montar ainda recebo o seguinte erro

mount: File too large

O erro do dmesg

EXT4-fs (md3): filesystem too large to mount safely on this system
    
por BluesRhythm 31.12.2012 / 22:28

2 respostas

12

Este é um problema com a sua versão atual do e2fsprogs incluída no mke2fs. A versão 1.41 e menor não terão erros para operações em volumes maiores que 16 TB.

Dito isto, a solução para isso é compilar o ramo atual de e2fsprogs do repositório do kernel do Linux e criar o sistema de arquivos usando esses ferramentas (até o momento desta publicação, 1.43-WIP 22-Set-2012 será instalado).

Note que estas são ferramentas de desenvolvimento e podem não ser completamente estáveis. Além disso, 'git', 'gcc' (ou outro compilador C) e 'make' precisarão ser instalados para construir as ferramentas.

[root@gauss ~] git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
[root@gauss ~]# cd e2fsprogs
[root@gauss e2fsprogs]# mkdir build ; cd build/
[root@gauss build]# ../configure
[root@gauss build]# make
[root@gauss build]# make install
[root@gauss misc]# cd misc
[root@gauss misc]# ./mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/md3

Além disso, Ronny Egners Blog tem algumas informações úteis sobre o uso da ramificação em andamento do e2fsprogs com sistemas de arquivos grandes.

    
por 01.01.2013 / 03:25
4

Os kernels de 32 bits são limitados a 16 TiB porque o índice de entrada do cache de páginas é de apenas 32 bits.

Esta é uma limitação do kernel, não uma limitação do sistema de arquivos!

Alguns sistemas de arquivos também são de 32 bits (ou menos) limitados por design. Alguns sistemas de arquivos também são limitados por seus utilitários (exemplo: mkfs, fsck). Observe também que executar o fsck em um sistema de arquivos muito grande pode exigir muita memória RAM (depende do sistema de arquivos e dos utilitários).

Para usar um sistema de arquivos > 16 TiB, você deve usar um kernel de 64 bits e um sistema de arquivos que suporte > 16 TiB (exemplo: EXT4, JFS, XFS).

Observe que um sistema de arquivos EXT4 criado em um sistema de 32 bits não pode ser redimensionado > 16 TiB, mesmo em um sistema de 64 bits. O sistema de arquivos EXT4 deve ser criado em um sistema de 64 bits, para que ele receba o sinalizador de recurso "64 bits" e inodes ampliados.

Você pode usar o LVM2 para criar vários volumes em um dispositivo grande. Use um tamanho de grande extensão como 64 MiB ou maior para que as extensões de número possam ser mantidas baixas. Você não precisa particionar um dispositivo somente de dados; você pode formatar um dispositivo inteiro como um volume físico (PV) do LVM2.

Você só precisa particionar os dispositivos de inicialização, porque o BIOS não entenderá o LVM2 e o BIOS precisará localizar e carregar o bootstrap. Você pode usar MSDOS ou GPT (ou qualquer outro) para particionar seu dispositivo de inicialização menor.

Exemplo: tenho um servidor com 2x SSD de 64 GB para o sistema operacional (um para o sistema operacional atual, um para o novo sistema operacional ao atualizar) e 10x unidades de 4 TB formatadas como um único volume físico do LVM2 e contendo um único sistema de arquivos EXT4. As unidades ficam em uma placa controladora RAID que faz RAID-6, mas isso também pode ser feito em software pelo kernel com uma pequena penalidade de desempenho.

    
por 05.09.2013 / 22:25