Le pratiche migliori di ZFS con RAID hardware

Se si verifica che dispongono di un hardware hardware a livello di server, è sempre consigliabile eseguire ZFS in cima a un RAID1 hardware o ad alcuni simili? Dovrebbe distriggersre il RAID basato su hardware e eseguire ZFS su uno mirror o su un raidz ?

Con la funzionalità hardware RAID distriggersta, i controller SATA2 e SAS basati su hardware RAID sono più o less probabili hide errori di lettura e scrittura rispetto ai controller RAID non hardware?

Per quanto riguarda i server non personalizzabili, se si ha una situazione in cui un controller RAID hardware sia effettivamente neutralizzabile in termini di costo (o addirittura riduce il costo dell'offerta del server pre-costruito, poiché la sua presenza migliora la probabilità che l'azienda di hosting fornisce IPMI complementare accesso), va assolutamente evitato? Ma dovrebbe essere ricercata dopo?

  • Come posso rimuovere il dedup dal mio pool senza esaurirsi di RAM?
  • ZFS: SAS v SATA - import?
  • FreeNAS, Ho bisogno di 1GB per TB di memory utilizzabile, o 1GB di memory per TB di disco fisico?
  • come faccio ad aggiungere un nuovo disco a ZFS e renderlo disponibile i punti di assembly esistenti se il pool corrente è un pool di root?
  • consiglia piattaforma di stoccaggio: Gluster Vs Nexenta
  • FreeBSD Host ZFS su root che esegue VirtualBox con Windows Server 2003 Ospiti velocità molto lenta HD
  • Snapshot ZFS di backup su nastro (sia pieno che diff)
  • iSCSI: HP MSA 2012i, l'iniziatore scopre solo un bersaglio
  • 6 Solutions collect form web for “Le pratiche migliori di ZFS con RAID hardware”

    L'idea con ZFS è farle conoscere il più ansible su come i dischi stanno comportndo. Poi, dal peggio al meglio:

    • Hardware raid (ZFS non ha assolutamente alcun indizio sull'hardware reale),
    • Modalità JBOD (il problema è più di qualsiasi espansore potenziale: less width di banda),
    • La modalità HBA è l'ideale (ZFS sa tutto sui dischi)

    Poiché ZFS è piuttosto paranoico di hardware, tanto less nasconde, più si può far fronte a qualsiasi problema hardware. E come indicato da Sammitch , avere un controller RAID configurato in qualche modo significa anche guai per get la stessa configuration il giorno in cui muoiono (hardware e configuration).

    A proposito del problema dell'hardware standardizzato con un controller hardware RAID in esso, basta fare attenzione che il controller hardware abbia una reale modalità di passaggio o JBOD.

    D. Se si verifica che dispongono di un hardware a livello di server, è sempre consigliabile eseguire ZFS in cima a un RAID1 hardware o ad alcuni simili?

    R. È molto preferibile eseguire ZFS direttamente su disco e non utilizzare qualsiasi forma di RAID tra di loro. Sia che un sistema che richiede effettivamente l'utilizzo della scheda RAID preclude che l'utilizzo di ZFS abbia più a che fare con gli altri vantaggi di ZFS rispetto a quello della resilienza dei dati. Flat fuori, se c'è una scheda RAID sottostante che è responsabile della fornitura di un singolo LUN a ZFS, ZFS non migliorerà la resilienza dei dati. Se l'unica ragione per andare con ZFS è innanzitutto il miglioramento della resilienza dei dati, hai perso tutto il motivo per utilizzarlo. Tuttavia, ZFS fornisce anche ARC / L2ARC, compressioni, istantanee, cloni e vari altri miglioramenti che si potrebbe desiderare, e in tal caso, forse è ancora il tuo filesystem di scelta.

    D. Dovrebbe distriggersre il RAID hardware e eseguire ZFS in uno specchio o in un raidz?

    R. Sì, se ansible. Alcune tabs RAID consentono la modalità pass-through. Se lo è, questa è la cosa preferibile da fare.

    D. Con la funzionalità hardware RAID distriggersta, i controllori SATA2 e SAS basati su hardware RAID hanno più o less probabilità hide errori di lettura e scrittura rispetto ai controller RAID non hardware?

    A. Questo dipende totalmente dalla scheda RAID in questione. Dovrai pompare il manuale o contattare il produttore / fornitore della scheda RAID per scoprirlo. Alcuni molto fare, sì, specialmente se 'distriggersndo' la funzionalità RAID non lo interrompe completamente.

    D. Per quanto riguarda i server non personalizzabili, se si ha una situazione in cui un controller RAID hardware sia effettivamente neutralizzabile in termini di costo (o addirittura riduce il costo dell'offerta server pre-costruita, in quanto la sua presenza migliora la probabilità che l'azienda di hosting fornisce accesso IPMI complementare), dovrebbe in each caso essere evitato? Ma dovrebbe essere ricercata dopo?

    R. Questa è molto la stessa domanda del tuo primo. Ancora una volta – se l'unico desiderio di utilizzare ZFS è un miglioramento della resilienza dei dati e la piattaforma hardware scelta richiede che una scheda RAID fornisca un singolo LUN a ZFS (o più LUN, ma si ha una striscia ZFS su di loro), allora stai facendo nulla per migliorare la resilienza dei dati e quindi la scelta di ZFS potrebbe non essere appropriata. Se tuttavia trovenetworking tutte le altre funzioni ZFS, potrebbe essere ancora.

    Voglio aggiungere un'ulteriore preoccupazione – le risposte sopra riportte si basano sull'idea che l'uso di una scheda RAID hardware sotto ZFS non fa nulla per danneggiare ZFS oltre ad eliminare la sua capacità di migliorare la resilienza dei dati. La verità è che è più di una zona grigia. Ci sono diversi tipi di tuneables e assunzioni all'interno di ZFS che non funzionano necessariamente anche quando hanno consegnato LUN multi-disco invece di dischi raw. La maggior parte di questo può essere negata con una corretta sintonizzazione, ma fuori dalla scatola, non sarai così efficiente su ZFS in cima a grandi RAID LUN come avreste fatto in cima a singoli mandrini.

    Inoltre, ci sono alcune prove che suggeriscono che il modo molto diverso in cui ZFS parla a LUN in contrapposizione a file system più tradizionali invoca spesso i routes di codice nel controller RAID e carichi di lavoro che non sono abituati, cosa che può portre a stranezze. Soprattutto, probabilmente ti farai un favore distriggersndo completamente la funzionalità ZIL su qualsiasi pool che si metta in cima ad un singolo LUN se non stai fornendo anche un dispositivo di registro separato, anche se ovviamente ti consiglierei vivamente DO forniscono alla piscina un dispositivo di registro raw separato (che non è un LUN dalla scheda RAID, se del tutto ansible).

    Ho eseguito ZFS in cima alle configurazioni RAID di Smart Array di HP ProLiant abbastanza spesso.

    Perché?

    • Perché mi piace ZFS per le partizioni di dati, non partizioni di avvio.
    • Perché Linux e ZFS boot probabilmente non sono abbastanza infallibile per me adesso.
    • Poiché i controller HP RAID non consentono il passthrough del dispositivo RAW . La configuration di più volumi RAID 0 non è la stessa dei dischi RAW.
    • Poiché i backplanes server non sono in genere abbastanza flessibili da dedicare le bande di unità a un controller specifico o le funzioni di divisione tra due controllori. In questi giorni si vedono più spesso le impostazioni a 8 e 16 bacchette. Non sempre abbastanza per segnalare il modo in cui le cose dovrebbero essere.
    • Ma mi piacciono ancora le funzionalità di gestione del volume di ZFS. Il pool consente di scolpire le cose in modo dinamico e sfruttare al massimo lo spazio disponibile su disco.
    • Compressione, ARC e L2ARC sono caratteristiche killer!
    • Una configuration ZFS correttamente progettata sul RAID hardware continua a fornire un avviso di avviso e errore, ma supera la soluzione hardware solo.

    Un esempio:

    Configurazione del controller RAID.

     [root@Hapco ~]# hpacucli ctrl all show config Smart Array P410i in Slot 0 (Embedded) (sn: 50014380233859A0) arrays B (Solid State SATA, Unused Space: 250016 MB) logicaldrive 3 (325.0 GB, RAID 1+0, OK) physicaldrive 1I:1:3 (port 1I:box 1:bay 3, Solid State SATA, 240.0 GB, OK) physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 240.0 GB, OK) physicaldrive 2I:1:7 (port 2I:box 1:bay 7, Solid State SATA, 240.0 GB, OK) physicaldrive 2I:1:8 (port 2I:box 1:bay 8, Solid State SATA, 240.0 GB, OK) 

    blocca l'elenco dei dispositivi

     [root@Hapco ~]# fdisk -l /dev/sdc Disk /dev/sdc: 349.0 GB, 348967140864 bytes 256 heads, 63 sectors/track, 42260 cylinders Units = cylinders of 16128 * 512 = 8257536 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdc1 1 42261 340788223 ee GPT 

    configuration zpool

     [root@Hapco ~]# zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT vol1 324G 84.8G 239G 26% 1.00x ONLINE - 

    dettagli di zpool

      pool: vol1 state: ONLINE scan: scrub repaired 0 in 0h4m with 0 errors on Sun May 19 08:47:46 2013 config: NAME STATE READ WRITE CKSUM vol1 ONLINE 0 0 0 wwn-0x600508b1001cc25fb5d48e3e7c918950 ONLINE 0 0 0 

    elenco dei filesystem zfs

     [root@Hapco ~]# zfs list NAME USED AVAIL REFER MOUNTPOINT vol1 84.8G 234G 30K /vol1 vol1/pprovol 84.5G 234G 84.5G - 

    In genere non si dovrebbe mai eseguire ZFS in cima ai dischi configurati in un arrays RAID. Si noti che ZFS non deve essere eseguito in modalità RAID. È ansible utilizzare solo dischi singoli. Tuttavia, praticamente il 99% delle persone gestisce ZFS per la parte RAID di esso. È ansible eseguire solo i dischi in modalità a righe, ma questo è un cattivo utilizzo di ZFS. Come altri manifesti hanno detto, ZFS vuole sapere molto sull'hardware. ZFS dovrebbe essere collegato solo a una scheda RAID che può essere impostata in modalità JBOD o preferibilmente connessa ad un HBA. Salta sul canale IRC Freenode #openindiana; uno degli esperti ZFS del canale vi dirà la stessa cosa. Chiedere al provider di hosting di fornire la modalità JBOD se non fornirà un HBA.

    In breve: utilizzando RAID sotto ZFS semplicemente uccide l'idea di utilizzare ZFS. Perché? – Perché è progettato per funzionare su dischi puro, non RAID.

    Per tutti voi … ZFS su qualsiasi Raid è un PAIN totale e viene eseguito solo da persone MAD! … come usare ZFS con memory non ECC.

    Con i campioni capinetworking meglio:

    • ZFS su Raid1, un disco è un po 'cambiato quando non è stato spento … fai tutto quello che sai, ZFS vedrà qualche danno o non dipende da quale disco viene letto (il controller Raid non ha visto quel bit cambiato e pensa che entrambi i dischi siano OK ) … se il fallimento è nella parte VDEV … l'integer ZPOOL perde per sempre i suoi dati.
    • ZFS su Raid0, un disco è un po 'cambiato quando non è stato spento … pry tutto quello che sai, (il controller Raid non ha visto quel bit cambiato e pensa che entrambi i dischi siano OK) … ZFS vedrà quel danno ma se il fallisce è nella parte VDEV … l'integer ZPOOL perde tutti i suoi dati per sempre.

    Dove ZFS è buono è nel rilevare Bit che sono cambiati quando il disco where senza potenza (i controller RAID non possono farlo), anche quando qualcosa cambia senza essere chiesto, etc.

    È lo stesso problema di quando un bit in un module RAM cambia spontaneamente senza essere chiesto … se la memory è ECC, la memory lo corregge; se no, i dati erano cambiati, in modo che i dati verranno inviati ai dischi modificati; chiacchiere che il cambiamento non è sulla parte UDEV, se il fallimento è nella parte VDEV … l'integer ZPOOL perde tutti i suoi dati per sempre.

    Questa è una debolezza su ZFS … VDEVs fallisce implica che tutti i dati si perdano per sempre.

    Raid Hardware e Software Raid non riescono a rilevare cambiamenti spontanei del bit, non hanno checksums, peggiori sui livelli Raid1 (mirros), non leggono tutte le parti e li confrontano, suppongono che tutte le parti avranno sempre gli stessi dati, ALLWAYS (dico è forte) Raid suggerisce che i dati non sono cambiati da qualsiasi altra cosa / via … ma i dischi (come memory) sono soggetti a modifiche spontanee del bit.

    Mai usare mai un ZFS su una RAM non ECC e mai usare mai ZFS su dischi bruciati, consentire a ZFS di vedere tutti i dischi, non aggiungere un livello che possa rovinare il tuo VDEV e POOL.

    Come simulare tale fallimento … spegnere il PC, estrarre un disco di quel Raid1 e modificare un solo bit … riconvertire e vedere come il controller Raid non può sapere che è cambiato … ZFS può perché tutte le letture sono testate contro il checksum e se non corrisponde, leggere un'altra parte … Raid non riesce più a leggere perché un fail (tranne l'hardware imansible leggere non riesce) … se Raid può leggerlo pensa che i dati siano OK (ma non su tali casi ) … Raid cerca solo di leggere da un altro disco se where legge dice "hey, non riesco a leggere da lì, hardware fallito" … ZFS letto da un altro disco se il checksum non corrisponde, come anche se si legge dice "hey, non riesco a leggere da lì, hardware fallisce".

    Spero di lasciarlo molto chiaro … ZFS su qualsiasi livello di Raid è un dolore di toal e un rischio totale per i tuoi dati! così come ZFS su memorie non ECC.

    Ma quello che nessuno dice (tranne me) è:

    • Non utilizzare dischi con cache interni (non solo quelli SHDD, anche alcuni che hanno 8Mib a 32MiB cache, ecc.) … alcuni di essi utilizzano memory non ECC per tale cache
    • Non utilizzare SATA NCQ (un modo per ordinare le scritture) perché può rovinare ZFS se l'alimentazione è scarica

    Quindi quali dischi da usare?

    • Ogni disco dotato di batteria interna che assicura che tutta la queue venga scritta al disco sui casi di guasto e utilizza la memory ECC dentro di essa (mi dispiace, sono molto piccoli con tutto ciò e sono costosi).

    Ma, hey, la maggior parte delle persone non conosce tutto questo e mai ha mai avuto un problema … io dico loro: wow, quanto sei fortunato, comprate dei biglietti di lotteria, prima che la fortuna scappa.

    I rischi sono lì … tali inconvenienti possono verificarsi … quindi la risposta migliore è:

    • Cercate di non mettere alcun livello tra ZFS e where i dati sono davvero memorizzati (RAM, Raid, NCQ, cache di dischi interni, ecc) … quanto puoi permettersi.

    Cosa faccio personalmente?

    • Mettere alcuni strati di più … uso each disco da 2,5 "SATA III 7200 rpm su un contenitore USB 3.1 Gen2 tipo C, collego alcuni recinti ad un USB 3.1 Gen 2 tipo A Hub che connetti al PC, altri ad un altro hub che mi connetti ad un'altra port di origine sul PC, ecc.
    • Per il sistema uso i connettori sata sata su un livello ZFS (Raid0) perché uso un sistema Linux inalterabile (come un LiveCD), each contenuto di avvio identico su dischi interni … e ho un'image Clone del sistema in grado di ripristinare (less di un sistema di 1GiB) … anche io uso il trucco per avere il sistema contenuto in un file e utilizzare l'unità mappata RAM where lo clonera al boot, quindi dopo l'avvio tutto il sistema viene eseguito in RAM … mettendo tale file su un DVD può anche avviare lo stesso modo, quindi in caso di guasto di dischi interni, ho appena avviato con il DVD e il sistema è di nuovo in linea … un trucco simile a SystemRescueCD ma un po 'più complessa file ISO che può essere sul ZFS interno o semplicemente il vero DVD e non voglio due versioni diverse.

    Spero che potrei dare una piccola luce su ZFS contro Raid, è davvero un dolore quando le cose vanno male!

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.