I pericoli e le cifre di LVM

Recentemente ho iniziato a utilizzare LVM su alcuni server per hard disk più grandi di 1 TB. Sono utili, espandibili e molto semplici da installare. Tuttavia, non sono riuscito a trovare i dati sui pericoli ei rischi di LVM.

Quali sono i limiti di utilizzo di LVM?

  • Come si crea l'istantanea LVM dopo che il messaggio di errore "non trovato: il dispositivo non è stato eliminato"
  • Nessun file di dispositivo per la partizione sul volume logico (Linux LVM)
  • Centos Xen ridimensiona la partizione Domu e il gruppo di volumi
  • esiste un vantaggio sul assembly di un LV da UUID invece di path?
  • Qual è la differenza tra LVM e LUN?
  • Non sono stati trovati gruppi di volumi - CentOS
  • KVM che inizia il kernel off-image e la partizione esistente
  • Host KVM: Hardware RAID con cache + BBU vs Linux Software RAID con LVM writeback cache e UPS
  • 4 Solutions collect form web for “I pericoli e le cifre di LVM”

    Sommario

    Rischi di utilizzo di LVM:

    • Vulnerabile per scrivere problemi di memorizzazione nella cache con SSD o hypervisor VM
    • Difficile recuperare dati a causa di strutture complesse più complesse
    • Difficile ridimensionare correttamente i filesystem
    • Le istantanee sono difficili da usare, lento e buggy
    • Richiede una certa abilità per configurare correttamente in base a questi problemi

    I primi due problemi LVM combinano: se la scrittura di cache non funziona correttamente e si ha una perdita di potenza (ad esempio PSU o UPS non riesce), potrebbe essere necessario recuperare dal backup, il che significa significativi tempi di inattività. Un motivo fondamentale per utilizzare LVM è maggiore tempo di impiego (quando si aggiungono dischi, ridimensionamento di file system, ecc.), Ma è importnte get l'impostazione di scrittura nella cache corretta per evitare che LVM effettivamente riduce il tempo di impiego.

    – Aggiornato nel luglio 2016: VirtualBox predefinito per il rischio di ignorare i flussi di disco

    Semplificando i rischi

    LVM può ancora funzionare bene se:

    • Ottenere il setup di cache di scrittura proprio in hypervisor, kernel e SSD
    • Evitare le istantanee LVM
    • Utilizzare le versioni LVM recenti per ridimensionare i file system
    • Avere buoni backup

    Dettagli

    Ho ricercato questo un bel po 'in passato avendo sperimentato una perdita di dati associata a LVM. I principali rischi LVM e le questioni a cui sono a conoscenza sono:

    I dati vulnerabili a hard disk scrivono la memorizzazione nella cache dovuti a hypervisor di VM, caching del disco o vecchi kernel Linux e rende più difficile il recupero dei dati a causa di strutture più complesse sul disco. Ho visto le impostazioni complete di LVM su parecchi dischi corrotti senza alcuna possibilità di recupero, e la scrittura in cache di LVM e hard disk è una combinazione pericolosa.

    • Scrivere la memorizzazione nella cache e scrivere la rigenerazione del disco rigido è importnte per le buone performance, ma può non riuscire a far scorrere i blocchi sul disco correttamente a causa di hypervisori VM, cache di scrittura su hard drive, vecchi kernel Linux.
      • C'è un incompleto supporto di barriera di scrittura nelle versioni precedenti del kernel, 2.6.32 e precedenti ( 2.6.31 ha un supporto , mentre 2.6.33 funziona per tutti i tipi di destinazione del dispositivo) – RHEL 6 usa 2.6.32 .
      • Sui 2.6 kernel, si può scoprire che una grande quantità di metadati FS (inclusi i periodici) viene persa da un crash duro che lascia i dati nei buffer di scrittura degli hard disk (ad esempio 32 MB per unità per unità SATA comuni). Perdere 32MB dei metadati e dei dati di journal più recenti scritti, che il kernel pensa è già sul disco, significa generalmente un sacco di corruzione FS e quindi perdita di dati.
      • Scrivere le barriere significa che il kernel garantisce di completare alcuni scrivi del disco prima di scrivere il disco "barriera", per garantire che i file system e RAID possono recuperare in caso di improvvisa perdita di potenza o crash. Tali barriere possono utilizzare un'operazione FUA per scrivere immediatamente determinati blocchi sul disco, che è più efficiente di un stream di cache completo. Le barriere possono essere combinate con un'efficace code di codifica / nativo (che consente di disporre contemporaneamente di più richieste di I / O del disco) per consentire al disco rigido di eseguire una riordinazione intelligente della scrittura senza aumentare il rischio di perdita di dati.
    • Gli hypervisor di VM possono avere problemi simili: l'esecuzione di LVM in un guest di Linux in cima a un hypervisor di VM come VMware, Xen , KVM, Hyper-V o VirtualBox può creare problemi simili a un kernel senza barriere di scrittura a causa della scrittura in cache e della scrittura -ordering. Controllare attentamente la documentazione del hypervisor per una opzione di cache "in flush to disk" o "write-through" (presenti in KVM , VMware , Xen , VirtualBox e altri) e testare con l'installazione. Alcuni hypervisors come VirtualBox hanno un'impostazione predefinita che ignora qualsiasi stream di disco dall'ospite.
    • I server Enterprise con LVM devono utilizzare sempre un controller RAID supportto da batterie e distriggersre la memorizzazione nella cache di scrittura del disco rigido (il controller dispone di una cache di scrittura supportta dalla batteria che è veloce e sicura) – vedere questo commento dall'autore di questa voce di FAQ XFS . Può anche essere sicuro distriggersre barriere di scrittura nel kernel, ma è consigliato il test.
    • Se non si dispone di un controller RAID supportto da batteria, la distriggerszione della memorizzazione nella scrittura a disco rigido lenta riesce a scrivere in modo significativo, ma rende la LVM sicura. Dovresti anche usare l'equivalente dell'opzione data=ordered di ext3 (o data=journal per una maggiore sicurezza), oltre alla barrier=1 per assicurarsi che la memorizzazione nella cache del kernel non pregiudichi l'integrità. (Oppure utilizza ext4 che abilita le barriere per impostazione predefinita .) Questa è l'opzione più semplice e fornisce una buona integrità dei dati al costo delle performance. (Linux ha cambiato l'opzione ext3 predefinita nei data=writeback più pericolosi data=writeback un po 'di tempo, quindi non fare affidamento sulle impostazioni predefinite per la FS.)
    • Per disabilitare la cache di scrittura del disco rigido : aggiungere hdparm -q -W0 /dev/sdX per tutte le unità in /etc/rc.local (per SATA) o utilizzare sdparm per SCSI / SAS. Tuttavia, in base a questa voce nella FAQ XFS (che è molto buona su questo argomento), un'unità SATA potrebbe dimenticare questa impostazione dopo un ripristino di errori di unità – pertanto è necessario utilizzare SCSI / SAS o se è necessario utilizzare SATA quindi inserire command hdparm in un lavoro cron each minuto o giù di lì.
    • Per mantenere il caching SSD / disco rigido abilitato per una migliore prestazione: questa è un'area complessa – vedere la sezione sottostante.
    • Se si utilizzano unità di formato avanzato, vale a dire i settori fisici di 4 KB, vedere di seguito – distriggersre la cache di scrittura può avere altri problemi.
    • L'UPS è fondamentale sia per l'impresa che per la SOHO, ma non è sufficiente a rendere la LVM sicura: qualsiasi cosa che provoca un forte danneggiamento o una perdita di potenza (ad es. Guasto dell'UPS, guasto all'UPS o esaurimento della batteria del computer porttile) potrebbero perdere dati nelle cache dei dischi rigidi.
    • Riepilogo: è necessario fare attenzione nel file system, RAID, hypervisor VM e impostazione disco rigido / SSD utilizzata con LVM. È necessario disporre di ottimi backup se si utilizza LVM e assicurarsi di eseguire il backup specifico dei metadati LVM, delle impostazioni di partizioni fisiche, dei settori di avvio e di avvio del volume. È anche consigliabile utilizzare unità SCSI / SAS poiché queste sono less probabili a parlare di come scrivere la cache – è necessario richiedere maggiore attenzione per utilizzare unità SATA.

    Mantenendo la memorizzazione nella scrittura abilitata per la prestazione (e affrontare le unità sbarrate)

    Un'opzione più complessa ma performante è quella di mantenere abilitata la memorizzazione nella cache di SSD / disco rigido e fare affidamento sulle barriere di scrittura del kernel che lavorano con LVM sul kernel 2.6.33+ (controllare due volte controllando i messaggi "barriera" nei registri).

    È inoltre necessario assicurarsi che l'impostazione RAID, l'impostazione hypervisor VM e il filesystem utilizzino barriere di scrittura (cioè richiede all'unità di scorrere le scritture in sospeso prima e dopo le scritture di metadati chiave / giornali). Per impostazione predefinita, XFS utilizza barriere, ma l'ext3 non support , quindi con l'ext3 è necessario utilizzare la barrier=1 nelle opzioni di assembly e utilizzare ancora data=ordered o data=journal come sopra.

    • Purtroppo, alcuni dischi rigidi e SSD si trovano se hanno veramente sciacquato la loro cache al disco (in particolare i drive più vecchi, ma includono alcuni drive SATA e alcuni SSD aziendali ) – qui più dettagli . C'è un ottimo riepilogo da uno sviluppatore XFS .
    • C'è un semplice strumento di prova per le unità di rest (script Perl) oppure vedere questo background con un altro test di strumenti per la restituzione della scrittura come risultato della cache dell'unità. Questa risposta ha riguardato test analoghi di unità SATA che hanno scoperto un problema di scrittura della scrittura nel software RAID – questi test effettivamente esercitano l'intera stack di archiviazione.
    • Le unità SATA più recenti che supportno l' accodamento dei comandi nativi (NCQ) potrebbero essere less probabili – o forse funzionano bene senza la memorizzazione della scrittura a causa dell'NCQ e pochissime unità non possono disabilitare la scrittura in cache.
    • Le unità SCSI / SAS sono generalmente OK poiché non hanno bisogno di scrivere la cache per eseguire bene (tramite SCSI Tagged Command Queuing , simile al NCQ di SATA).
    • Se i tuoi dischi rigidi o SSD non stanno facendo perdere la loro cache al disco, non si può fare affidamento sulle barriere di scrittura e deve distriggersre la memorizzazione nella scrittura. Questo è un problema per tutti i filesystem, i database, i gestori di volume e il software RAID , non solo LVM.

    Gli SSD sono problematici perché l'uso della cache di scrittura è fondamentale per la durata del SSD. È consigliabile utilizzare un SSD dotato di un supercapacitor (per abilitare la scansione della cache in caso di interruzione dell'alimentazione elettrica e quindi abilitare la cache alla scrittura e non alla scrittura).

    • La maggior parte SSD di imprese dovrebbe essere OK sul controllo di cache di scrittura, e alcuni includono supercapacitors.
    • Alcuni SSD più economici hanno problemi che non possono essere risolti con la configuration della cache di scrittura : la mailing list del progetto PostgreSQL e la pagina wiki di Trustworthy Writes sono buone fonti di informazioni. Gli SSD di consumo possono avere grandi problemi di memorizzazione nella scrittura che causano la perdita di dati e non includono supercapacitori in modo da essere vulnerabili a problemi di alimentazione causati da corruzione.

    Impostazione unità avanzate di formato – scrittura cache, allineamento, RAID, GPT

    • Con unità di tipo Advanced Format che utilizzano i settori fisici di 4 Kb, può essere importnte mantenere abilitata la memorizzazione nella scrittura dell'unità, poiché la maggior parte di tali unità emulano attualmente settori logici di 512 byte ( "emulazione 512" ) e alcuni pnetworkingndono anche di avere un livello fisico di 512 byte i settori mentre utilizzano veramente 4 KiB.
    • Spegnere la cache di scrittura di un'unità di formato avanzato può causare un impatto di performance molto grande se l'applicazione / kernel sta eseguendo 512 byte scrive, in quanto tali unità si affidano alla cache per accumulare 8 x 512 byte scrive prima di fare un solo 4 kb fisico Scrivi. È consigliato il test per confermare qualsiasi impatto se si distriggers la cache.
    • L'allineamento dei LV in un limite di 4 Kbt è importnte per le performance, ma dovrebbe accadere automaticamente finché le partizioni sottostanti per i PV sono allineate, poiché i LVM Physical Extents (PE) sono 4 MB per impostazione predefinita. RAID deve essere considerato qui – questa pagina di configuration LVM e RAID software suggerisce di mettere il superblock RAID alla fine del volume e (se necessario) utilizzando un'opzione su pvcreate per allineare i PV. Questo thread della list di email LVM indica il lavoro svolto nei kernel nel corso del 2011 e il rilascio di block parziale scrive quando si mescola i dischi con un settore di 512 byte e 4 kg in un LV singolo.
    • La partizione GPT con Advanced Format richiede la cura, soprattutto per i dischi di avvio e di avvio, per garantire che la prima partizione LVM (PV) inizia su un border di 4 Kbps.

    Più difficile da recuperare dati a causa di strutture più complesse sul disco :

    • Qualsiasi recupero dei dati LVM richiesti dopo un duro crollo o perdita di potenza (dovuto a errori di cache di scrittura) è un process manuale al meglio, in quanto apparentemente non vi sono strumenti appropriati. LVM è bravo a eseguire il backup dei suoi metadati sotto /etc/lvm , che può aiutare a ripristinare la struttura di base di LV, VG e PV, ma non aiuterà con i metadati persi di file system.
    • Di conseguenza è probabile che sia richiesto un completo ripristino dal backup. Ciò comport molto più tempo di fermo di un rapido fsck basato su diario quando non utilizza LVM e i dati scritti dall'ultimo backup verranno persi.
    • TestDisk , ext3grep , ext3undel e altri strumenti possono recuperare partizioni e file da dischi non LVM ma non supportno direttamente il recupero dati LVM. TestDisk può scoprire che una partizione fisica persa contiene un PV LVM, ma nessuno di questi strumenti comprende i volumi logici LVM. Gli strumenti per la scansione di file come PhotoRec e molti altri functionrebbero quando escludono il filesystem per riassemblare i file dai blocchi di dati, ma questo è un approccio a basso livello per dati preziosi e funziona less bene con i file frammentati.
    • Il recupero manuale di LVM è ansible in alcuni casi, ma è complesso e richiede tempo – vedere questo esempio e questo , questo , e questo per come recuperare.

    Più difficile ridimensionare correttamente i filesystem – la ridimensionamento del file system è spesso dato come un beneficio di LVM, ma è necessario eseguire una mezza dozzina di comandi di shell per ridimensionare un FS basato su LVM – questo può essere fatto con l'integer server ancora in su e in alcuni casi con il FS montato, ma non avrei mai rischiato il secondo senza backup aggiornati e utilizzando comandi pre-testati su un server equivalente (ad es. clone di ripristino di emergenza del server di produzione).

    • Aggiornamento: Le versioni più recenti di lvextend supportno l'opzione -r ( --resizefs ) – se è disponibile, è un modo più sicuro e veloce per ridimensionare il LV e il filesystem, in particolare se si riduce la FS e si può in massima parte saltare questa sezione.
    • La maggior parte delle guide per ridimensionare le FS basate su LVM non tiene conto del fatto che l'FS deve essere un po 'più piccola della dimensione della LV: spiegazioni dettagliate qui . Quando si riduce un file system, è necessario specificare la nuova dimensione allo strumento di ridimensionamento FS, ad esempio resize2fs per ext3 e per lvextend o lvreduce . Senza grandi preoccupazioni, le size possono essere leggermente diverse a causa della differenza tra 1 GB (10 ^ 9) e 1 GiB (2 ^ 30), o il modo in cui i vari utensili rotondi in alto o in basso.
    • Se non fai esattamente i calcoli (o usa alcuni passi extra oltre quelli più evidenti), puoi finire con una FS troppo grande per il LV. Tutto ciò sembrerà bene per mesi o anni, fino a quando non riempirà completamente la FS, a quel punto si otterrà una grave corruzione – e a less che non si è a conoscenza di questo problema, è difficile scoprire perché, come si può anche avere errori di disco effettivi da allora che nebulano la situazione. (È ansible che questo problema influisca solo sulla riduzione delle size dei filesystem – tuttavia, è chiaro che la ridimensionamento dei file system in entrambe le direzioni aumenta il rischio di perdita di dati, probabilmente a causa di un errore dell'utente.)
    • Sembra che la dimensione LV dovrebbe essere più grande della dimensione FS di 2 x la dimensione fisica LVM (PE) – ma controllare il collegamento sopra per i dettagli perché la fonte di questo non è autorevole. Spesso permettendo 8 MiB è sufficiente, ma può essere meglio permettere di più, ad esempio 100 MiB o 1 GiB, per essere sicuri. Per verificare la dimensione PE e le size logiche + FS, utilizzando blocchi di 4 KiB = 4096 byte:

      Mostra il formato PE in formato:
      vgdisplay --units k myVGname | grep "PE Size"

      Dimensione di tutti i LV:
      lvs --units 4096b

      Dimensione di (ext3) FS, support 4 KB FS blocchi:
      tune2fs -l /dev/myVGname/myLVname | grep 'Block count'

    • Al contrario, un'installazione non LVM ridimensiona la FS molto affidabile e facilita Gparted e ridimensiona le FS necessarie, quindi farà tutto per te. Su server, è ansible utilizzare parted dalla shell.

      • Spesso è meglio utilizzare il CD Gparted Live o la Magic Partecipata , in quanto questi hanno un Gparted & kernel recente e spesso più privo di bug rispetto alla versione distro – una volta ho perso un integer FS a causa della distillazione di Gparted che non aggiorna correttamente le partizioni in esecuzione kernel. Se si utilizza il Gparted di distro, assicurarsi di riavviare subito dopo la modifica delle partizioni in modo che la vista del kernel sia corretta.

    Le istantanee sono difficili da usare, lento e buggy – se lo snapshot esegue lo spazio pre-assegnato viene automaticamente eliminato . Ogni istantanea di un determinato LV è un delta rispetto a quella LV (non contro le istantanee precedenti) che possono richiedere molto spazio quando snapshoting filesystems con attività di scrittura significative. È sicuro creare un LV istantaneo che è la stessa dimensione dell'LV originale, in quanto l'istantanea non sarà mai esaurito dallo spazio libero.

    Le istantanee possono anche essere molto lente (cioè 3 o 6 volte più lente di quelle senza LVM per questi test MySQL ) – vedere questa risposta che copre vari problemi di snapshot . La lentezza è in parte perché le istantanee richiedono molte scritture sincrone .

    Le istantanee presentano degli errori significativi, ad esempio in alcuni casi possono fare il boot molto lento o causare il fallimento del sistema di avvio (perché il kernel può uscire in attesa della root FS quando è un'istantanea LVM [fissato in Debian initramfs-tools update, Mar 2015]).

    • Una metrica è che ci sono molti bug Debian che corrispondono "lvm snapshot 2015" , alcuni dei quali abbastanza seri – tuttavia, molti bug di stato della corsa di snapshot sono apparentemente stati risolti . LVM senza istantanee generalmente sembra abbastanza debug, forse perché le istantanee non vengono utilizzate come le caratteristiche fondamentali.

    Alternative istantanee – filesystem e hypervisor VM

    VM / istantanee cloud:

    • Se si utilizza un hypervisor VM o un fornitore di nubi IaaS, le istantanee (ad es. Le istantanee EBS di VMware, VirtualBox o Amazon EC2) sono spesso un'alternativa molto migliore agli snapshot LVM. È ansible prendere facilmente un'istantanea per scopi di backup (ma considera di congelare la FS prima di farlo).

    Istantanee del file system:

    • le istantanee a livello di file system con ZFS o btrfs sono facili da usare e generalmente meglio di LVM e, anche se nessuno dei file system è molto maturo su Linux, potrebbe essere un'opzione migliore per coloro che hanno davvero bisogno di istantanee senza andare sul path VM / Cloud:

      • ZFS: ora c'è un implementazione di kernel ZFS , che è stato in uso da alcuni anni e dovrebbe essere molto più veloce di ZFS su FUSE.
      • btrfs non è abbastanza pronto per l'uso della produzione e gli strumenti di riparazione e riparazione sono ancora in fase di sviluppo.

    Istantanee per backup online e fsck

    Le istantanee possono essere utilizzate per fornire una sorgente coerente per i backup, a patto che sia attento allo spazio assegnato (idealmente l'istantanea è la stessa dimensione del LV che viene eseguito il backup). L'eccellente rsnapshot (dal 1.3.1) gestisce anche la creazione / cancellazione di istantanee LVM per voi – vedere questo HOWTO in rsnapshot utilizzando LVM . Tuttavia, tenere presente i problemi generici con istantanee e che un'istantanea non dovrebbe essere considerata un backup in sé.

    È anche ansible utilizzare istantanee LVM per eseguire un fsck in linea: eseguire un'istantanea dello LV e fsck l'istantanea, pur utilizzando ancora la principale non snapshot FS – descritta qui – tuttavia non è del tutto diretta, quindi è meglio utilizzare e2croncheck come descritto da Ted Ts 'o , mantenitore di ext3.

    Dovresti "bloccare" temporaneamente il filesystem durante la scansione – alcuni file system come ext3 e XFS lo faranno automaticamente quando LVM crea l'istantanea.

    conclusioni

    Nonostante tutto questo, uso ancora LVM su alcuni sisthemes, ma per una configuration desktop preferisco le partizioni crude. Il vantaggio principale che vedo da LVM è la flessibilità di spostare e ridimensionare FS quando è necessario disporre di un elevato tempo di impiego su un server . Se non ne hai bisogno, è più facile e ha un rischio minore di perdita di dati.

    LVM richiede grande attenzione nella configuration della scrittura in cache dovuta a hypervisor VM, disco rigido / scrittura SSD e così via – ma lo stesso vale per l'utilizzo di Linux come server DB. La mancanza di supporto da parte di molti strumenti (inclusi i calcoli di size critiche e testdisk ecc.) Rende più difficile l'utilizzo di quanto dovrebbe essere.

    Se si utilizza LVM, prestare grande attenzione con le istantanee: se ansible utilizzare le istantanee VM / cloud o indagare ZFS / btrfs per evitare completamente LVM – si può trovare ZFS o btrs è sufficientemente maturo rispetto a LVM con istantanee.

    Linea inferiore: se non si conoscono i problemi sopra elencati e come risolverli, è consigliabile non utilizzare LVM.

    Io [+1] che post, e alless per me penso che la maggior parte dei problemi esista. Li ha visti mentre eseguono alcuni 100 server e qualche 100TB di dati. Per me LVM2 in Linux si sente come una "idea intelligente" che qualcuno aveva. Come alcuni di questi, a volte risultano "non intelligenti". Se non avessero stati strettamente separati gli stati del kernel e degli userspace (lvmtab) potrebbero essere sentiti veramente intelligenti per eliminare, perché potrebbero esserci problemi di corruzione (se non si ottiene il codice giusto)

    Beh, solo che questa separazione era lì per una ragione – le differenze mostrano con la gestione delle perdite PV e la re-triggerszione in linea di un VG con PV che mancano per riportrli in gioco – Che cosa è una brezza su "LVM originali" (AIX , HP-UX) diventa crap su LVM2 poiché la gestione dello stato non è abbastanza buona. E non mi metti nemless a parlare di rilevazione delle perdite di Quorum (haha) o della gestione dello stato (se rimuovo un disco, che non verrà contrassegnato come non disponibile e non ha nemless la colonna di stato maledetto)

    Re: stabilità pvmove … perché è

    pvmove perdita di dati

    un tale articolo di primo piano sul mio blog, hmmm? Proprio adesso guardo un disco where i dati lvm fisici sono ancora appesi allo stato da metà pvmove. Ci sono stati alcuni memleaks che penso, e l'idea generale è una buona cosa per copiare i dati del block live da userpace è solo triste. La bella citazione dall'elenco lvm "sembra vgreduce –missing non gestisce pvmove" Significa infatti se un disco si stacca durante il pvmove allora lo strumento di gestione lvm cambia da lvm a vi. Oh, e c'è anche stato un bug in cui pvmove continua dopo un errore di lettura / scrittura di blocchi e infatti non scrive più dati al dispositivo di destinazione. WTF?

    Re: Snapshots Il CoW è fatto unsafely, aggiornando i NUOVI dati nell'area snapshot lv e poi unendo indietro una volta eliminato lo snap. Ciò significa che durante l'ultima fusione di nuovi dati nel LV originale e, molto più importnte, hai dei grossi punti di IO, ovviamente, anche un rischio molto maggiore di corruzione dei dati, perché non sarà interrotta l'istantanea una volta che panetworking, ma l'originale.

    Il vantaggio è nella prestazione, facendo 1 scrive invece di 3. La scelta dell'algorithm veloce ma unsafer è qualcosa che si aspetta ovviamente da persone come VMware e MS, su "Unix" preferisco immaginare che le cose sarebbero state "fatte bene". Non ho visto molti problemi di performance finché ho l'archivio di backup di istantanea su un'unità disco diversa rispetto ai dati primari (e il backup ad un altro ancora ovviamente)

    Re: Barriere non sono sicuro se si può biasimare che su LVM. E 'stato un problema devmapper, per quanto ne so. Ma ci può essere un po 'di colpa per non veramente preoccuparsi di questo problema da alless kernel 2.6 fino a 2.6.33 AFAIK Xen è l'unico hypervisor che utilizza O_DIRECT per le macchine virtuali, il problema era quando "loop" è stato utilizzato perché il kernel continuerebbero ancora a memorizzarla utilizzando questo. Virtualbox ha alless alcune impostazioni per distriggersre roba come questo e Qemu / KVM sembra generalmente consentire la memorizzazione nella cache. Tutti i FUSE FS hanno problemi anche qui (nessun O_DIRECT)

    Re: Dimensioni Penso che LVM fa "arrotondamento" della dimensione visualizzata. O usa GiB. In each caso, è necessario utilizzare la dimensione VG Pe e moltiplicarla con il numero LE del LV. Questo dovrebbe dare la dimensione corretta della networking e questo problema è sempre un problema di utilizzo. È peggiorato da filesystem che non notano una cosa del genere durante il fsck / mount (hello, ext3) o non hanno un funzionamento online "fsck -n" (hello, ext3)

    Naturalmente sta dicendo che non è ansible trovare buone fonti per tali informazioni. "quanti LE per la VRA?" "qual è l'offset fisiologico per PVRA, VGDA, ecc …"

    Rispetto all'originale, LVM2 è l'esempio primario di "Coloro che non capiscono UNIX sono condannati a reinventarli, male".

    Aggiornamento alcuni mesi dopo: ho colpito lo scenario "full snapshot" per una prova ormai. Se vengono pieni, i blocchi istantanei, non l'originale LV. Mi sbagliavo lì quando avevo pubblicato questo post. Ho raccolto informazioni sbagliate da qualche doc, o forse l'ho capito. Nelle mie installazioni ero sempre molto paranoico di non lasciarli riempire e quindi non sono mai finita corretta. È anche ansible estendere / ridurre le istantanee, che è un piacere.

    Quello che non sono ancora stato in grado di risolvere è come identificare l'età di un snapshot. Per quanto riguarda la loro performance, c'è una nota sulla pagina del progetto fedora "thinp" che dice che la tecnica di snapshot è in fase di revisione in modo che non si avvicinerà più lentamente ad each snapshot. Non so come lo stanno implementando.

    se si prevede di utilizzare istantanee per i backup – essere pronti per le grandi performance colpite quando l'istantanea è presente. leggi qui . altrimenti tutto è buono. ho usato lvm in produzione per un paio di anni su decine di server, anche se il mio motivo principale per utilizzarlo è l'istantanea atomica non la capacità di espandere facilmente i volumi.

    se si utilizza un'unità da 1TB, ricorda l'allineamento delle partizioni – questo drive probabilmente ha i settori fisici 4kB.

    Adamo,

    Un altro vantaggio: è ansible aggiungere un nuovo volume fisico (PV), spostare tutti i dati su quel PV e quindi rimuovere il vecchio PV senza interruzioni di servizio. Ho usato questa capacità alless quattro volte negli ultimi cinque anni.

    Uno svantaggio che non ho visto ha evidenziato chiaramente: c'è una curva di apprendimento piuttosto ripida per LVM2. Soprattutto nell'astrazione che crea tra i file e i media sottostanti. Se si lavora con poche persone che condividono le attività di lavoro su un set di server, è ansible che la complessità aggiuntiva sia travolgente per il tuo team nel suo complesso. Le squadre più grandi dedicate al lavoro IT non hanno in genere un problema.

    Ad esempio, lo usiamo ampiamente qui al mio lavoro e abbiamo impiegato tempo per insegnare a tutto il team le basi, la lingua e gli elementi essenziali per il recupero di sisthemes che non si avvia correttamente.

    Una caucanvas specificamente per sottolineare: se si avvia da un volume logico LVM2, è risultato difficile trovare le operazioni di ripristino quando il server si blocca. Knoppix e gli amici non hanno sempre la roba giusta per questo. Quindi, abbiamo deciso che la nostra directory / boot sarebbe sulla sua partizione e sarebbe sempre piccola e nativa.

    Complessivamente, sono un fan di LVM2.

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