Come partizionare il disco da 22 TB?


33

Ho un disco da 22 TB acceso /dev/sdb. Come posso creare una partizione da 22 TB? Non importa davvero del file system - ext4o zfsva bene.

Esecuzione di CentOS 6.2 - La partizione verrà utilizzata come dump di dati. Solo un singolo flusso di dati, quindi essere schizzinosi / esigenti su quale file system non è davvero un problema al momento. Il disco è formato da unità SAS nearline da 12x2 TB e da un controller Dell Perc.

Voglio solo una partizione da 22 TB.


1
qualche informazione in più sarebbe utile. quale sistema operativo stai usando? che tipo di prestazioni ti aspetti o di cui hai bisogno? qual è l'hardware sottostante? è già un raid impostato? ha ridondanza? hai bisogno delle funzionalità extra di protezione dei dati di zfs?
Tim Kennedy,

3
Quali tentativi hanno fallito finora? fdisk, cfdisk?
Nils,

Risposte:


44

La soluzione più semplice è utilizzare il partizionamento GPT , una versione a 64 bit di Linux e XFS :

  • GPT è necessario perché la tabella delle partizioni MBR in stile MS-DOS creata da fdiskè limitata a 2 dischi TiB. Quindi, è necessario utilizzare partedo un altro programma di partizionamento compatibile con GPT invece di fdisk. ( gdisk, gparted, Etc.)

  • È necessario un kernel a 64 bit perché i kernel a 32 bit ti limitano ai filesystem più piccoli di quanto tu chieda. O raggiungi un limite di dimensioni basato su numeri interi a 32 bit o finisci per non essere in grado di indirizzare abbastanza RAM per supportare correttamente il file system.

  • XFS non è l'unica soluzione, ma secondo me è la più semplice per i sistemi RHEL.

    Non è possibile utilizzare ext4 per questo in RHEL 6. Sebbene il filesystem sia stato progettato per supportare 1 filesystem EiB , esiste un limite di dimensione del volume di 16 TiB artificiale nella versione e2fsprogsinclusa in RHEL 6 e suoi derivati. Sia Red Hat che CentOS lo richiamano nei loro documenti. (Il limite ext4 16 TiB è stato aumentato considerevolmente in RHEL da 7 a 50 TiB.)

    ZFS potrebbe non essere pratico nella tua situazione . A causa delle sue numerose restrizioni legali e tecniche, non posso assolutamente consigliarlo a meno che tu non abbia bisogno di qualcosa che solo ZFS ti offre.

    Avendo escluso i due filesystem scelti, suggerisco XFS. È il filesystem predefinito in RHEL 7, era disponibile come filesystem supportato in tutte le versioni di RHEL 6 ed è stato trasferito alle versioni successive di RHEL 5 dopo l'uscita di RHEL 6.

Ecco il processo:

  1. Controlla se lo hai mkfs.xfsinstallato eseguendolo senza argomenti. Se non è presente, installare gli strumenti XFS di userland:

    # yum install xfsprogs
    

    Se fallito, probabilmente è perché sei su un vecchio sistema operativo che non ha questo nel suo repository di pacchetti predefinito. Dovresti davvero aggiornare, ma se ciò è impossibile, puoi ottenerlo da CentOSPlus o EPEL . Potrebbe anche essere necessario installare il kmod_xfspacchetto.

  2. Crea la partizione:

    Poiché dici che il tuo volume 22 TiB è attivo /dev/sdb, i comandi per partedsono:

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

    Ciò fa sì che subentri all'intero volume con una singola partizione. In realtà, ignora i primi 1 MiB del volume, per ottenere l' allineamento di 4 KiB richiesto per ottenere le prestazioni complete dagli HDD e SSD Advanced Format .

    È possibile saltare questo passaggio e formattare l'intero volume con XFS. Cioè, useresti /dev/sdbnell'esempio qui sotto invece di /dev/sdb1. Ciò evita il problema dell'allineamento del settore. Nel caso di un volume che vedrà solo il tuo sistema operativo basato su Linux, non ci sono aspetti negativi di cui valga la pena parlare, ma starei attento a non farlo su un volume rimovibile o su un volume interno in un computer multi-boot , poiché alcuni I sistemi operativi (Windows e macOS, ad esempio) offriranno di formattare un disco rigido senza partizioni per te ogni volta che appare. Mettere il filesystem su una partizione risolve questo.

  3. Formatta la partizione:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Aggiungi la /etc/fstabvoce:

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

     # mount /some/mount/point
    

Se si desidera percorrere il percorso LVM , i passaggi precedenti sono sostanzialmente solo una versione più dettagliata del secondo set di comandi nella risposta dell'utente di bsdseguito . Devi fare il suo primo set di comandi prima di quelli sopra.

LVM offre alcuni vantaggi a un costo di complessità. Ad esempio, è possibile in seguito "far crescere" un gruppo di volumi LVM aggiungendo più volumi fisici, creando così spazio per far crescere il volume logico ("partizione" kinda, sorta), che a sua volta consente di far crescere il filesystem vivendo sul logico volume. (Vedi cosa intendo per complessità? :))


4
La parte ZFS è discutibile. La porta Linux ha fatto molta strada dal 2010 e rispetto a XFS ha molti vantaggi
TheLQ

Per quanto riguarda GPT / MBR, ciò non vale solo se /bootfa parte di /? L'MBR non dovrebbe importare quanto /è grande se deve montare solo un piccolo /bootdiritto? Potrei sbagliarmi.
jonescb,

1
@jonescb: la posizione di /bootnon ha alcuna influenza sui limiti di MBR. Se è necessaria una partizione superiore a 2 TB, non è possibile utilizzare il partizionamento MBR. Si è vero, tuttavia, che è possibile funzionare mancanza di supporto BIOS per l'avvio da GPT mettendo /bootsu un piccolo disco MBR-partizionato. Una volta che il kernel è attivo, non devi preoccuparti delle limitazioni del BIOS perché sa come interpretare la tabella delle partizioni GPT. Se la tua macchina è basata su EFI, non è necessario eseguire questa danza, perché EFI comprende GPT.
Warren Young,

16

Proprio come alternativa agli altri suggerimenti.
Non è necessario partizionare affatto un disco.
È possibile creare semplicemente un gruppo di volumi , con uno o più volumi logici .

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

Ora hai un volume logico che puoi formattare con qualsiasi tipo di filesystem desideri.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt

LVM è sostanzialmente una forma avanzata di partizionamento. Non ha senso usare LVM se hai intenzione di creare un singolo LV usando tutto lo spazio, quindi puoi anche solo mkfs direttamente sull'intero dispositivo del disco.
psusi,

4
nessun LV aggiunge strumenti per istantanee di dati in tempo reale, ridimensionabili, copie multiple di metadati; molto più flessibile di una semplice fs su un dispositivo.
bsd

1
Non hai bisogno di più copie di metadati quando non hai metadati (tabella delle partizioni) in primo luogo. Le istantanee richiedono spazio libero, così come l'aggiunta / espansione di volumi, quindi perché è reso inutile se si crea un singolo volume logico usando tutto lo spazio immediatamente. Se vuoi le funzionalità di LVM, dovresti iniziare con un volume più piccolo in modo da avere un sacco di spazio libero da utilizzare in seguito.
psusi,

Non stavo raccomandando LVM nel caso di questo individuo, semplicemente elencandolo come un'alternativa a "altre" risposte / soluzioni senza partizionamento. Sta a lei leggere tutte le risposte, dare seguito alle proprie ricerche e quindi decidere quale corso d'azione si adatta meglio alle sue esigenze.
bsd

3
Un vantaggio di LVM anche se hai un solo LV è che ti consente di aggiungere facilmente spazio di archiviazione in un secondo momento.
Lavaggio

6

Domanda alla domanda: hai chiesto " come partizionare il disco da 22 TB" e poi nella domanda, hai detto, volevi solo una partizione da 22 TB. Quindi questo è ambiguos al primo posto.

Se hai già un dispositivo a blocco singolo che può supportare 22 TB di spazio su di esso, allora hai già un'intera partizione da 22 TB. Tutto ciò di cui hai bisogno è un filesystem sopra di esso, che renderà il dispositivo montabile e utilizzabile per la lettura / scrittura dai processi di sistema. Inoltre, è necessario disporre di un kernel Linux in esecuzione in modalità 64 bit con un modulo / driver di file system che supporti e ridimensioni a 22 TB di crescita dei dati, in grado di gestire i dettagli della gestione dei dati sul (singolo) dispositivo a blocchi con facilità. Le prestazioni sono del tutto un'altra dimensione. In tal caso, sceglierei XFSil mio filesystem, perché è un filesystem a 64 bit e in grado di gestire filesystem grandi quanto un milione di terabyte. Supporta fino a 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Per maggiori dettagli su XFS: http://oss.sgi.com/projects/xfs/

Se stai cercando un ulteriore partizionamento dell'enorme dispositivo a blocchi da 22 TB, quindi usa gpartedper dividere il dispositivo in partizioni utilizzabili e quindi formattarli con i filesystem per renderli montabili.

Sembra che tu abbia un controller RAID hardware, dal momento che dici che hai un controller RAID DELL perc, il che significa che devi dire quale configurazione RAID (esattamente quale livello RAID stai usando?) E nella maggior parte dei casi, non otterrai 22 TB di spazio completo per l'uso, ma potrei sbagliarmi.


Stavo per suggerire anche xfs, ma xfs_check richiederà una grande quantità di memoria e molto tempo per eseguire w / 22G fs. Tra fisico e swap ci vorrebbe almeno 32 G per verificare, cioè se mai si preoccupasse di controllare la fs in un 'datadump' (qualunque cosa sia;)
bsd

@bdowning, potresti voler correggerlo a 22T fs :)
Nikhil Mulley

È un raid da 22 TB 5. Ho molti dischi :)
LVLAaron,

Quello era un refuso (scoreggia cerebrale). Ho lo stesso dispositivo, 10 TB, con LSI Megaraid (stessa scheda del Dell Perc)
bsd

@bdowning: xfs_checkutilizza davvero molta memoria, ma la pagina del manuale (8) menziona: " Si noti che l'uso xfs_checkNON è raccomandato. Si prega di utilizzare xfs_repair -ninvece, per una migliore scalabilità e velocità. ".
Cristian Ciupitu,

4

Non dovresti aver bisogno di alcun partizionamento quando usi ZFS, crea un pool ZFS sul tuo dispositivo da 22 TB e un file system al suo interno se non vuoi usare quello predefinito e basta. Se per qualche motivo, zpool non supporta l'utilizzo dell'intero disco, creare prima un'etichetta EFI e una partizione utilizzando l'intero spazio disponibile all'interno, quindi utilizzare quella partizione per creare il pool.

Per diversi motivi, non consiglierei di usare nient'altro che ZFS per un file system così grande. Il più ovvio è che se si ha uno spegnimento brutale (ad esempio: panico del kernel o mancanza di alimentazione), fsck può impiegare molto tempo per recuperare i file system tradizionali. ZFS d'altra parte non ha bisogno di fsck quindi importerà immediatamente il pool.

Tieni presente che è meglio interrompere la configurazione RAID hardware e utilizzare i dodici dispositivi come JBOD per creare un pool ZFS sfruttando le sue funzionalità RAID software. Se il tuo obiettivo è la prestazione, potresti specchiare coppie di dischi e se il tuo obiettivo è lo spazio massimizzato, potresti usare una configurazione RAIDZ, RAIDZ2 o RAIDZ3. In questo modo si migliorerà notevolmente l'affidabilità dei dati e la tolleranza agli errori della soluzione.


1
So che questa è una vecchia risposta a una vecchia domanda, ma .... se si utilizza ZFS, l'opzione migliore è quella di distruggere l'array RAID, configurare il controller RAID per JBOD in modo che Linux veda ogni singolo disco e quindi creare coppie speculari (meno capacità, grandi prestazioni) o RAIDZ / Z2 / Z3 (maggiore capacità, prestazioni scarse) dai singoli dischi. Si perde gran parte del vantaggio di ZFS se lo si sovrappone al RAID esistente piuttosto che lasciarlo gestire i dischi stessi. Lo stesso vale per btrfs.
Cas

@cas Hai sicuramente ragione, risposta aggiornata. Ero focalizzato sulla domanda OP però "come partizionare un disco da 22 TB" e non "cosa consiglieresti di fare con la mia configurazione del disco".
jlliagre,

3

Non sono sicuro che questo sia attualmente possibile utilizzando la tabella delle partizioni standard. Nello schema standard della tabella delle partizioni, i volumi sono limitati a 2 32 settori. Con 512 byte per settore, si esaurirebbero semplicemente i numeri da assegnare ai settori intorno a 2 TB.

Tuttavia, dovresti essere in grado di farlo se usi una tabella delle partizioni GUID anziché una standard. Le tabelle delle partizioni GUID consentono l'estensione dei volumi nell'intervallo zettabyte. La maggior parte delle distro Linux sono avviabili da un volume GUID, tuttavia al momento non esiste una versione di Windows (tranne Windows 7 su EFI).

Alcuni strumenti come fdisk non possono funzionare con i volumi GUID, tuttavia altri strumenti come GParted possono farlo. Una volta creata la tabella delle partizioni GUID, dovresti essere in grado di creare un volume utilizzando uno dei numerosi filesystem comuni che supportano un volume di quelle dimensioni (ad esempio EXT4.)


Su un sistema a 32 bit potrebbe essere. Sono stato in grado di creare una partizione da 3,5 TB su un server Ubuntu a 64 bit supportato dalla versione 8.04 e successive. Parlando di cyberciti.biz/tips/…
Karlson il

Per quanto ne so, potresti non aver nemmeno bisogno di una tabella delle partizioni per mettere un filesystem su un hard disk. Inoltre, secondo l'OP, non si tratta di un'unità di avvio, ma di un ampio spazio di dump.
Karlson,

3

Per la tua tabella delle partizioni, come menzionato altrove, GPT è un'opzione eccellente, in quanto supporta partizioni di dimensioni fino a 9,4 ZiB (9,4 × 10 21 byte), che è ben al di là di qualsiasi cosa ti serva con 22 TiB.

Per il tuo filesystem, su Linux BTRFS è un eccellente file system copy-on-write:

  1. Il suo attributo copy-on-write indica che nessun file duplicato viene archiviato due volte.
  2. È dotato di compressione al volo in modo che i dati vengano eseguiti tramite LZO o GZip prima di essere scritti e letti dal disco, risparmiando spazio fisico sul disco.
  3. Supporta ridondanza nelle configurazioni RAID-1, RAID-10, RAID-5 e RAID-6 senza sovraccarico.
  4. Supporta anche RAID-0, se la velocità è essenziale.
  5. Presenta anche sottovolumi, istantanee e altro.
  6. Quasi tutte le attività del filesystem vengono eseguite online , quindi di solito non dovrai mai smontare il filesystem per sistemare le cose.

È simile a ZFS nelle funzionalità, ma fa parte del kernel principale di Linux.


Le FAQ di BTRFS mettono in guardia dall'utilizzare la sua funzionalità RAID di parità, tranne per scopi di test e sviluppo. Ha conosciuto bug che possono mangiare il tuo filesystem. Maggiori informazioni al link.
Warren Young,

1

Se non stai cercando la ridondanza o la possibilità di eseguirne il backup, probabilmente puoi fare:

mkfs -t ext4 /dev/sdb

4
L'hai provato? Ho cambiato il mkfsper specificare il filesystem
Karlson

1
@AaronJAnderson sarebbe utile una spiegazione.
n0pe

Questo comando non funzionerà se il dispositivo supera i 2 TB
LVLAaron

1
@AaronJAnderson Ho creato un volume da 3,5 TB usando reiserfse ext3quindi se le ext4affermazioni hanno dimensioni massime del volume di 16 exabyte non vedo alcun motivo per cui 22 TB non funzionerà.
Karlson,

1
la versione di e2fsutils fornita con questa versione di Linux (e la maggior parte degli altri al momento non supporta oltre 16 TB)
LVLAaron,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.