Como particionar disco de 22TB?

33

Eu tenho um disco de 22 TB /dev/sdb. Como crio uma partição de 22 TB? Realmente não se preocupe com o sistema de arquivos - ext4ou zfsestá bem.

A execução do CentOS 6.2 - Partition será usada como um despejo de dados. Apenas um único fluxo de dados é tão exigente quanto a qual sistema de arquivos não é realmente uma preocupação no momento. O disco é formado a partir de unidades SAS nearline de 12x2TB e um controlador Dell Perc.

Eu só quero uma partição de 22 TB.

LVLAaron
fonte
1
mais algumas informações seriam úteis. qual sistema operacional você está usando? que tipo de desempenho você espera ou precisa obter? qual é o hardware subjacente? já é um conjunto de ataque? tem redundância? você precisa dos recursos extras de proteção de dados do zfs?
Tim Tim Kennedy
3
Quais tentativas falharam até agora? fdisk, cfdisk?
Nils

Respostas:

44

A solução mais simples é usar o particionamento GPT , uma versão de 64 bits do Linux e XFS :

  • GPT é necessário porque a tabela de partição MBR no estilo MS-DOS criada por fdiské limitada a 2 discos TiB. Portanto, você precisa usar partedou outro programa de particionamento compatível com GPT em vez de fdisk. ( gdisk, gparted, Etc.)

  • Um kernel de 64 bits é necessário porque os kernels de 32 bits limitam você a sistemas de arquivos menores do que o solicitado. Você atinge um limite de tamanho com base em números inteiros de 32 bits ou acaba não sendo capaz de endereçar RAM suficiente para suportar adequadamente o sistema de arquivos.

  • O XFS não é a única solução, mas, na minha opinião, é a mais fácil para os sistemas RHEL.

    Não é possível usar o ext4 para isso no RHEL 6. Embora o sistema de arquivos tenha sido projetado para suportar sistemas de arquivos 1 EiB , há um limite artificial de tamanho de volume de 16 TiB na versão e2fsprogsincluída no RHEL 6 e seus derivados. Tanto o Red Hat quanto o CentOS chamam isso em seus documentos. (O limite ext4 16 TiB foi aumentado consideravelmente no RHEL 7 a 50 TiB.)

    O ZFS pode não ser prático na sua situação . Devido às suas várias restrições legais e técnicas, não posso recomendá-lo, a menos que você precise de algo que apenas o ZFS fornece.

    Tendo descartado seus dois sistemas de arquivos escolhidos, sugiro o XFS. É o sistema de arquivos padrão no RHEL 7, estava disponível como um sistema de arquivos suportado em todas as versões do RHEL 6 e foi portado para as versões posteriores do RHEL 5 depois que o RHEL 6 foi lançado.

Aqui está o processo:

  1. Verifique se você mkfs.xfsinstalou executando-o sem argumentos. Se não estiver presente, instale as ferramentas XFS do usuário:

    # yum install xfsprogs
    

    Se isso falhou, provavelmente é porque você está em um sistema operacional mais antigo que não possui isso em seu repositório de pacotes padrão. Você realmente deve atualizar, mas se isso for impossível, você pode obtê-lo no CentOSPlus ou EPEL . Você também pode precisar instalar o kmod_xfspacote.

  2. Crie a partição:

    Como você diz que seu volume 22 TiB está ativado /dev/sdb, os comandos para partedsão:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    Isso faz com que ele assuma o volume inteiro com uma única partição. Na verdade, ele ignora o primeiro 1 MiB do volume, para atingir o alinhamento de 4 KiB necessário para obter o desempenho total dos HDDs e SSDs de formato avançado .

    Você pode pular esta etapa e formatar o volume inteiro com o XFS. Ou seja, você usaria /dev/sdbno exemplo abaixo em vez de /dev/sdb1. Isso evita o problema do alinhamento setorial. No caso de um volume que apenas o sistema operacional baseado em Linux verá, não há desvantagens que valha a pena mencionar, mas eu recomendaria não fazer isso em um volume removível ou em um volume interno em um computador com inicialização múltipla , pois alguns Os sistemas operacionais (Windows e macOS, por exemplo) oferecerão o formato de um disco rígido sem partição para você sempre que aparecer. Colocar o sistema de arquivos em uma partição resolve isso.

  3. Formate a partição:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Adicione a /etc/fstabentrada:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Monte!

     # mount /some/mount/point
    

Se você deseja seguir o caminho do LVM , as etapas acima são basicamente apenas uma versão mais detalhada do segundo conjunto de comandos na resposta do usuário bsdabaixo . Você precisa executar o primeiro conjunto de comandos antes dos comandos acima.

O LVM oferece certas vantagens a um custo de complexidade. Por exemplo, você pode "crescer" mais tarde um grupo de volumes LVM adicionando mais volumes físicos a ele, criando espaço para aumentar o volume lógico ("partição" meio que, sorta)), que por sua vez permite aumentar o sistema de arquivos que vive na lógica volume. (Entendeu o que quero dizer com complexidade? :))

Warren Young
fonte
4
A parte do ZFS é discutível. A porta Linux percorreu um longo caminho desde 2010 e, em comparação com o XFS, tem muitas vantagens
TheLQ
Em relação ao GPT / MBR, isso não se aplica apenas se /bootfaz parte /? O MBR não deve se importar com o tamanho, /se precisar montar apenas um pequeno /bootdireito? Eu poderia estar errado.
jonescb
1
@ Jonescb: A localização de /bootnão tem qualquer influência sobre as limitações do MBR. Se você precisar de uma partição com mais de 2 TB, não poderá usar o particionamento MBR. Ele é verdadeiro, no entanto, que é possível contornar a falta de suporte de BIOS para a inicialização de GPT, colocando /bootem um disco MBR-particionado menor. Depois que o kernel estiver ativo, você não precisa se preocupar com as limitações do BIOS, pois ele sabe como interpretar a tabela de partições GPT. Se sua máquina é baseada em EFI, você não precisa fazer isso, porque a EFI entende a GPT.
Warren Young.
16

Apenas como uma alternativa para as outras sugestões.
Você não precisa particionar um disco.
Você pode simplesmente criar um grupo de volumes , com um ou mais volumes lógicos .

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data

Agora você tem um volume lógico que pode ser formatado com qualquer tipo de sistema de arquivos que desejar.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt
bsd
fonte
O LVM é basicamente uma forma avançada de particionamento. Não faz sentido usar o LVM se você apenas criar um único LV usando todo o espaço, portanto, você também pode usar o mkfs diretamente em todo o dispositivo de disco.
Psusi
4
nenhum LV adiciona ferramentas para capturas instantâneas de dados ao vivo, redimensionáveis, várias cópias de metadados; muito mais flexível do que um simples fs em um dispositivo.
BSD
1
Você não precisa de várias cópias de metadados quando não possui metadados (tabela de partições). Os instantâneos requerem espaço livre, assim como a adição / expansão de volumes, por isso é inútil se você criar um único volume lógico usando todo o espaço logo de cara. Se você deseja os recursos do LVM, comece com um volume menor para ter bastante espaço livre para usar posteriormente.
Psusi
Eu não estava recomendando o LVM no caso desse indivíduo, simplesmente listando-o como uma alternativa a "outras" respostas / soluções de particionamento e não particionamento. Cabe a ela ler todas as respostas, acompanhar sua própria pesquisa e depois decidir qual curso de ação melhor se adequa às suas necessidades.
BSD
3
Uma vantagem do LVM, mesmo que você tenha apenas um LV, é que você pode adicionar armazenamento facilmente mais tarde.
plugwash
6

Pergunta para a pergunta: Você perguntou ' como particionar o disco de 22 TB' e, novamente, na pergunta, você disse que queria apenas uma partição de 22 TB. Portanto, isso é ambíguo em primeiro lugar.

Se você já possui um dispositivo de bloco único que pode suportar 22 TB de espaço, já possui uma partição de 22 TB inteira. Tudo o que você precisa é de um sistema de arquivos, que tornará o dispositivo montável e utilizável para leitura / gravação pelos processos do sistema. Além disso, você precisa ter um kernel Linux executando no modo de 64 bits com um módulo / driver de sistema de arquivos que suporte e dimensione até 22 TB de crescimento de dados, possa lidar com os meandros do gerenciamento de dados no dispositivo de bloco (único) com facilidade. O desempenho é outra dimensão para ele. Nesse caso, eu optaria por escolher XFScomo meu sistema de arquivos, pelo fato de ser um sistema de arquivos de 64 bits e capaz de lidar com sistemas de arquivos de até um milhão de terabytes. Ele suporta até 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Para mais detalhes sobre o XFS: http://oss.sgi.com/projects/xfs/

Se você estiver procurando particionar ainda mais o enorme dispositivo de bloco de 22 TB, use-o gpartedpara dividir o dispositivo em partições utilizáveis ​​e depois formate-o com o sistema de arquivos para torná-lo montável.

Parece que você possui um controlador RAID de hardware, já que você mencionou que possui um controlador DELL perc RAID - o que significa que você precisa informar qual configuração RAID (exatamente qual nível RAID você está usando?) E, na maioria dos casos, você não terá 22 TB de espaço completo para uso, eu posso estar errado.

Nikhil Mulley
fonte
Eu sugeriria xfs também, mas o xfs_check precisará de uma grande quantidade de memória e muito tempo para executar w / 22G fs. Entre uma física e swap precisaria de pelo menos 32G para verificar, isto é, se ele já se preocupa em verificar os fs em um 'datadump' (seja lá o que é;)
BSD
@bdowning, você pode querer corrigi-lo para fs 22T :)
Nikhil Mulley
É 22TB Raid 5. Eu tenho um monte de discos :)
LVLAaron
Isso foi um erro de digitação (peido cerebral). Eu tenho o mesmo dispositivo, 10TB, com LSI Megaraid (mesmo cartão como Dell Perc)
BSD
@downdown: xfs_checkrealmente usa muita memória, mas a página de manual (8) menciona: " Observe que o uso xfs_checkNÃO é recomendado. Por favor, use xfs_repair -npara uma melhor escalabilidade e velocidade. ".
Cristian Ciupitu 29/11
4

Você não precisa de particionamento ao usar o ZFS, basta criar um pool ZFS no seu dispositivo de 22 TB e um sistema de arquivos nele, se não quiser usar o padrão e pronto. Se, por algum motivo, o zpool não suportar o uso de todo o disco, primeiro crie um rótulo EFI e uma partição usando todo o espaço disponível no interior e use essa partição para criar o pool.

Por várias razões, eu não recomendaria o uso de nada além do ZFS para um sistema de arquivos tão grande. O mais óbvio é que, se você tem um desligamento brutal (por exemplo: pânico no kernel ou falta de energia), o fsck pode levar um tempo doloroso para recuperar os sistemas de arquivos tradicionais. O ZFS, por outro lado, não precisa de fsck, portanto importará o pool instantaneamente.

Observe que é melhor interromper a configuração de RAID de hardware e usar os doze dispositivos como um JBOD para criar um pool de ZFS aproveitando seus recursos de RAID de software. Se seu objetivo for desempenho, você poderá espelhar pares de discos e se seu objetivo for espaço maximizado, poderá usar uma configuração RAIDZ, RAIDZ2 ou RAIDZ3. Isso melhorará bastante a confiabilidade dos seus dados e a tolerância a falhas da solução.

jlliagre
fonte
1
Eu sei que essa é uma resposta antiga para uma pergunta antiga, mas .... se estiver usando o ZFS, a melhor opção é destruir a matriz RAID, configurar o controlador RAID para JBOD para que o linux veja cada disco individual e crie pares espelhados (menos capacidade, ótimo desempenho) ou RAIDZ / Z2 / Z3 (mais capacidade, desempenho sem brilho) dos discos individuais. Você perde muito do benefício do ZFS se o colocar em cima do RAID existente, em vez de permitir que ele lide com os discos. O mesmo se aplica ao btrfs.
cas
@cas Você está definitivamente certo, responda atualizado. Eu estava focado na questão do OP, embora "como particionar um disco de 22 TB" e não "o que você recomendaria fazer com a configuração do meu disco".
jlliagre
3

Não tenho certeza se isso é possível no momento usando a tabela de partição padrão. No esquema da tabela de partição padrão, os volumes são limitados a 2 32 setores. Com 512 bytes por setor, você simplesmente esgotaria os números para atribuir a setores em torno de 2 TB.

No entanto, você deve conseguir fazer isso se usar uma tabela de partição GUID em vez de uma tabela padrão. As tabelas de partição GUID permitem que os volumes se estendam para o intervalo de zettabyte. A maioria das distros do Linux é inicializável a partir de um volume GUID, no entanto, atualmente não há versão do Windows (exceto Windows 7 no EFI).

Algumas ferramentas como o fdisk não podem funcionar com volumes GUID, mas outras como o GParted podem. Depois de criar sua tabela de partição GUID, você poderá criar um volume usando um dos vários sistemas de arquivos comuns que suportam um volume desse tamanho (por exemplo, EXT4.)

Andrew Lambert
fonte
Em um sistema de 32 bits pode ser. Consegui criar uma partição de 3,5 TB em um servidor Ubuntu de 64 bits com suporte na versão 8.04 e superior. Falando de cyberciti.biz/tips/…
Karlson
Que eu saiba, você pode nem precisar de uma tabela de partição para colocar um sistema de arquivos em um disco rígido. Além disso, de acordo com o OP, não é uma unidade de inicialização, apenas um grande espaço de despejo.
187 Karl Karl
3

Para sua tabela de partições, como mencionado em outros lugares, o GPT é uma excelente opção, pois suporta partições de até 9,4 ZiB de tamanho (9,4 × 10 21 bytes), o que está muito além do que você precisa com 22 TiB.

Para o seu sistema de arquivos, no Linux, o BTRFS é um excelente sistema de arquivos de cópia na gravação:

  1. Seu atributo de copiar na gravação significa que nenhum arquivo duplicado é armazenado duas vezes.
  2. Possui compactação dinâmica para que seus dados sejam executados no LZO ou no GZip antes de serem gravados e lidos no disco, economizando espaço em disco físico.
  3. Ele suporta redundância nas configurações RAID-1, RAID-10, RAID-5 e RAID-6 sem sobrecarga.
  4. Ele também suporta RAID-0, se a velocidade for essencial.
  5. Ele também possui subvolumes, instantâneos e muito mais.
  6. Quase todas as tarefas do sistema de arquivos são feitas on - line , então você geralmente não precisará desmontar o sistema de arquivos para consertar as coisas.

É semelhante ao ZFS em recursos, mas faz parte do kernel Linux principal.

Naftuli Kay
fonte
As Perguntas frequentes do BTRFS alertam contra o uso do recurso RAID de paridade, exceto para fins de teste e desenvolvimento. Ele possui bugs conhecidos que podem consumir seu sistema de arquivos. Mais informações no link.
Warren Young
1

Se você não está procurando a redundância ou a capacidade de fazer backup, provavelmente poderá:

mkfs -t ext4 /dev/sdb
Karlson
fonte
4
Tentaste? Mudei o mkfspara especificar o sistema de arquivos
Karlson
1
@AaronJAnderson uma explicação ajudaria.
N0pe
Esse comando não vai funcionar se o dispositivo é superior a 2TB
LVLAaron
1
@AaronJAnderson Criei um volume de 3,5 TB usando reiserfse, ext3portanto, se as ext4reivindicações tiverem tamanho máximo do volume de 16 exabytes, não vejo razão para que 22 TB não funcionem.
21412
1
a versão do e2fsutils que vem w / esta versão do Linux (e a maioria dos outros no momento não suportam mais de 16 TB)
LVLAaron