sviluppo-web-qa.it

ZFS vs XFS

Stiamo valutando la costruzione di un server di archiviazione di ~ 16 TB. Al momento, stiamo considerando sia ZFS che XFS come filesystem. Quali sono i vantaggi, gli svantaggi? Cosa dobbiamo cercare? C'è una terza opzione migliore?

64
Tamas Czinege

Ho trovato XFS più adatto a filesystem estremamente grandi con forse molti file di grandi dimensioni. Ho un filesystem XFS da 3,6 TB funzionante da oltre 2 anni senza problemi. Funziona decisamente meglio di ext3, ecc. A quella dimensione (specialmente quando si ha a che fare con molti file di grandi dimensioni e molti I/O).

Quello che ottieni con ZFS è il pool di dispositivi, lo striping e altre funzionalità avanzate integrate nel filesystem stesso. Non posso parlare con dettagli specifici (lascerò che gli altri commentino), ma da quello che posso dire, vorresti usare Solaris per ottenere il massimo beneficio qui. Non è anche chiaro per me quanto ZFS aiuti se stai già utilizzando l'hardware RAID (come lo sono io).

45
Mark Renouf

ZFS offre vantaggi oltre al software RAID. La struttura dei comandi è strutturata in modo molto ponderato e intuitiva. Ha anche dispositivi di compressione, istantanee, clonazione, invio/ricezione del filesystem e cache (quei fantasiosi nuovi dischi SSD) per accelerare i metadati di indicizzazione.

Compressione:

#zfs set compression=on filesystem/home

Supporta semplici istantanee copia-su-scrittura che possono essere montate dal vivo:

# zfs snapshot filesystem/home/[email protected]
# cd filesystem/home/user/.zfs/snapshot/tuesday

Clonazione del filesystem:

# zfs clone filesystem/home/[email protected] filesystem/home/user2

Invio/ricezione del filesystem:

# zfs send filesystem/home/[email protected] | ssh otherserver "zfs receive -v filesystem/home/user"

Invio/ricezione incrementale:

# zfs send -i filesystem/home/[email protected] | ssh otherserver "zfs receive -v filesystem/home/user"

Dispositivi di memorizzazione nella cache:

# zpool add filesystem cache ssddev

Questa è solo la punta dell'iceberg, consiglio vivamente di mettere le mani su un'installazione di Open Solaris e provarlo.

http://www.opensolaris.org/os/TryOpenSolaris/

Modifica : è molto vecchio, Open Solaris è stato sospeso, il modo migliore per usare ZFS è probabilmente su Linux , oppure FreeBSD .


Divulgazione completa: ero un architetto dello storage Sun, ma non ho lavorato per loro da oltre un anno, sono solo entusiasta di questo prodotto.

75
Chris

l'uso di lvm snapshot e xfs su filesystem live è una ricetta per il disastro specialmente quando si usano filesystem molto grandi.

Ho eseguito esclusivamente su LVM2 e xfs negli ultimi 6 anni sui miei server (a casa anche dal momento che zfs-Fuse è semplicemente troppo lento) ...

Tuttavia, non posso più contare le diverse modalità di errore che ho riscontrato durante l'utilizzo delle istantanee. Ho smesso di usarli del tutto - è semplicemente troppo pericoloso.

L'unica eccezione che farò ora è il mio backup mailserver/webserver personale, dove eseguirò backup notturni utilizzando uno snapshot effimero, che è sempre uguale alla dimensione del sorgente fs, e viene eliminato subito dopo.

Aspetti più importanti da tenere a mente:

  1. se hai un filesystem grande (ish) con un'istantanea, le prestazioni di scrittura sono orribilmente degradate
  2. se si dispone di un grande filesystem (ish) con un'istantanea, il tempo di avvio verrà ritardato di letteralmente decine di minuti mentre il disco sarà sfocato e sfocato durante l'importazione del gruppo di volumi. Nessun messaggio verrà visualizzato. Questo effetto è particolarmente orribile se root è su lvm2 (perché in attesa del timeout del dispositivo root e il sistema non si avvia)
  3. se hai un'istantanea è molto facile rimanere senza spazio. Una volta esaurito lo spazio, l'istantanea è corrotta e non può essere riparata.
  4. Le istantanee non possono essere ripristinate/unite al momento (vedere http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Ciò significa che l'unico modo per ripristinare i dati da un'istantanea è effettivamente copiarli (rsync?). PERICOLO PERICOLO: non si desidera non farlo se la capacità dell'istantanea non è almeno la dimensione della sorgente fs; In caso contrario, colpirai presto il muro di mattoni e finirai con sia la fonte fs che l'istantanea corrotte. (Ci sono stato!)
18
sehe

Un paio di cose in più a cui pensare.

  • Se un'unità muore in un array RAID hardware indipendentemente dal filesystem che si trova sopra di esso, tutti i blocchi sul dispositivo devono essere ricostruiti. Anche quelli che non contenevano alcun dato. ZFS invece è il gestore del volume, il filesystem e gestisce la ridondanza e lo striping dei dati. Quindi può ricostruire in modo intelligente solo i blocchi che contenevano dati. Ciò si traduce in tempi di ricostruzione più rapidi rispetto a quando il volume è pieno al 100%.

  • ZFS ha una pulizia di fondo che assicura che i dati rimangano coerenti sul disco e ripari tutti i problemi rilevati prima che si traduca in perdita di dati.

  • I file system ZFS sono sempre in uno stato coerente, quindi non è necessario fsck.

  • ZFS offre anche maggiore flessibilità e funzionalità con le sue istantanee e cloni rispetto alle istantanee offerte da LVM.

Avere eseguito grandi pool di archiviazione per la produzione di video di grande formato su uno stack Linux, LVM, XFS. La mia esperienza è stata che è facile cadere nella micro-gestione della memoria. Ciò può comportare grandi quantità di spazio allocato inutilizzato e tempo/problemi con la gestione dei volumi logici. Questo potrebbe non essere un grosso problema se si dispone di un amministratore di archiviazione a tempo pieno che ha il compito di micro-gestire l'archiviazione. Ma ho scoperto che l'approccio di archiviazione del pool di ZFS elimina questi problemi di gestione.

14
3dinfluence

ZFS è assolutamente sorprendente. Lo sto usando come il mio file server di casa per un 5 x 1 TB file server HD, e lo sto anche usando in produzione con quasi 32 TB di hard spazio su disco. È veloce, facile da usare e contiene alcune delle migliori protezioni contro la corruzione dei dati.

Stiamo utilizzando OpenSolaris su questo server in particolare perché volevamo avere accesso a funzionalità più recenti e perché forniva il nuovo sistema di gestione dei pacchetti e le modalità di aggiornamento.

8
X-Istence

Non credo che dovresti concentrarti sulle prestazioni. I tuoi dati sono al sicuro con XFS, ext4, ecc? No. Leggi queste tesi di dottorato e documenti di ricerca:

XFS non è sicuro contro la corruzione dei dati: pages.cs.wisc.edu/~vshree/xfs.pdf

E neanche ext3, JFS, ReiserFS, ecc.: Zdnet.com/blog/storage/how-Microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Mi sono imbattuto nell'affascinante tesi di dottorato di Vijayan Prabhakaran, IRON File Systems che analizza il modo in cui cinque file system di journaling delle materie prime - NTFS, ext3, ReiserFS, JFS e XFS - gestiscono i problemi di archiviazione.

In breve, ha scoperto che tutti i file system hanno

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Ma ZFS protegge con successo i tuoi dati. Ecco un documento di ricerca su questo: zdnet.com/blog/storage/zfs-data-integrity-tested/811

7
Miklo

Quale sistema operativo stai pianificando di eseguire? O è un'altra parte della considerazione? Se usi Solaris, XFS non è nemmeno un'opzione per quanto ne so. Se non si esegue Solaris, come si prevede di utilizzare ZFS? Il supporto è limitato su altre piattaforme.

Se stai parlando di un server Linux, rimarrei personalmente con Ext3, anche solo perché riceve il maggior numero di test. zfs-Fuse è ancora molto giovane. Inoltre, ho avuto problemi con XFS una volta, quando un bug ha causato il danneggiamento dei dati dopo un aggiornamento del kernel. I vantaggi di XFS su Ext3 non hanno sicuramente superato i costi associati al ripristino della macchina, che si trovava in un datacenter remoto.

7
Kjetil Limkjær

Non è una risposta orientata a FS, mi dispiace, ma tieni presente che un certo numero di controller di disco non gestirà LUNS/dischi logici da 2 TB - questo può limitare un po 'il modo in cui organizzi la tua memoria. Volevo solo che tu fossi consapevole in modo da poter controllare il tuo sistema end-to-end per assicurarti che gestirà 16 TB in tutto.

5
Chopper3

Dipende dalle funzionalità che desideri ..., le due scelte ragionevoli sono xfs e zfs come hai detto, il codice xfs è abbastanza ben testato L'ho usato 8 anni fa sotto IRIX

È possibile ottenere istantanee da xfs (usando lvm e xfs_freeze)

È possibile avere un dispositivo di registro separato, ad esempio SSD

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

I grandi xfs hanno tradizionalmente bisogno di molta memoria per controllare

Il problema con la comparsa degli zeri era una funzione di "sicurezza", che credo sia scomparsa qualche tempo fa.

1
James

A parte ciò che è già stato menzionato, dal punto di vista delle prestazioni xfs su raid di base MD ha prestazioni migliori di zfs su streaming media. Ho usato lo stesso hardware esatto per mezzo decennio con xfs e circa la stessa quantità di tempo con zfs sul mio media server. Su Intel Atom 330 con xfs non ho mai avuto problemi, su zfs su scene complesse lo stesso hardware non riesce a tenere il passo e inizia a far cadere i frame.

1
user718960

Bene ragazzi, non dimentichiamoci dell'ultima aggiunta a zfs: la deduplicazione. E parliamo al volo della condivisione iscsi, nfs o smb. Come altri hanno già detto, le esportazioni di file system zfs, istantanee, raidz (= raid5) bloccano checksum, larghezza di banda dinamica, gestione della cache e molti altri. Io voto per zfs.

0
PiL

Invece di costruirne uno tuo, un'alternativa è il Sun 7410 aka Toro. Ha alcuni software molto utili forniti in bundle con la soluzione.

0
Jauder Ho