Utilizzo di LVM con unità SSD e SATA


22

Ho visto in questa domanda che è possibile inserire sia un SSD che un disco rigido SATA standard in un singolo gruppo di volumi LVM (VG).

In che modo ciò influisce sulle prestazioni?

C'è un modo per forzare il sistema operativo ad essere sull'SSD mentre i dati si trovano sull'unità SATA all'interno di un singolo gruppo di volumi?

Esistono buoni white paper sull'uso di LVM con diversi tipi di unità?

Sarebbe utile creare un VG per ciascun tipo di unità e / o velocità? Stavo pensando di creare un VG per SSD e uno per SATA (e per ogni tipo di unità che potrei aggiungere in futuro).



La mia intuizione è che sarebbe una pessima idea mettere sia un SSD che un hard disk convenzionale nello stesso gruppo di volumi.
Samiam,

@samiam quello era il mio pensiero iniziale. Non ero sicuro che ci fossero modi per dire a LVM di posizionare sempre i dati da e verso tale directory su sda e di posizionare sempre i dati su un'altra directory su sdb.
Nick,

@Graeme che parla molto delle prestazioni, ma non ho visto nulla di correlato allo spanning di diversi tipi di disco, che è quello di cui mi occupo principalmente. Se ho perso qualcosa, per favore segnalalo.
Nick,

Nick: Non posso rispondere a proposito di LVM dalla parte superiore della mia testa, ma, sì, è possibile impostare in /etc/fstabmodo che /sia su un SSD ma qualsiasi cosa sotto /homesia su un disco rigido convenzionale. Questa è di solito un'opzione durante l'installazione di qualsiasi sistema Linux moderno ( /homesarebbe un "punto di montaggio" quando si sceglie una forma di "opzioni avanzate")
samiam

Risposte:


8

LVM non distingue tra un disco veloce e uno lento. Non sembra essere una buona idea mettere quei dischi in un gruppo di volumi LVM.

Oltre a questo, è sempre bene montare la tua /tmpdirectory su un SSD che fornisce un'enorme velocità, specialmente per le applicazioni che la usano come la compilazione.


4
Metti /tmpsu tmpfs. Più prestazioni, meno usura sull'SSD (o sul disco rigido per quella materia). Le letture molto veloci di SSD lo rendono utile soprattutto per i dati letti più spesso di quanto non siano scritti.
Gilles 'SO- smetti di essere malvagio' il

questo è stato scoperto come una vulnerabilità e non è più fornito da molte distribuzioni.


5
Meh. In genere, desidero che i file /tmpvengano ripuliti al riavvio: se sono destinati a rimanere, questo è ciò che /var/tmpserve. Ho usato tmpfs per /tmpanni su molte macchine e non mi sono mai avvicinato allo spazio di swap, e non ho atipicamente piccole quantità di dati /tmp, quindi questo argomento è falso. In ogni caso, non è una vulnerabilità - quella parola implica un problema di sicurezza.
Gilles 'SO- smetti di essere malvagio' il

1
sembra che tu non abbia utenti cattivi da servire. Se non vuoi chiamarlo vulnerabilità, chiamalo dannoso, in ogni caso non è raccomandato tranne che sai cosa stai facendo.

8

Ciò che è possibile fare nelle versioni LVM recenti è creare un LV "origine" sull'HDD e un LV "pool di cache" sull'SSD, quindi combinarlo in un unico LV "cache". Ha le stesse dimensioni dell'LV "origine" (ad es., Si ottiene solo lo spazio disponibile sull'HDD), ma i blocchi e i metadati utilizzati di frequente vengono memorizzati nella cache sull'SSD per migliorare le prestazioni.

L'essenziale è, supponendo che tu abbia già un VG che attraversa entrambe le unità:

lvcreate -l 100%PVS -n your_name YourVG /dev/YourHDD
lvcreate --type cache-pool -l 100%PVS -n your_name_cache YourVG /dev/YourSSD
lvconvert --type cache --cachepool YourVG/your_name_cache YourVG/your_name

Successivamente, avrai un your_nameLV che puoi usare come qualsiasi altro LV e diversi LV interni con cui puoi vedere lvs -a YourVG.

Ad esempio, ho impostato un filesystem di root crittografato su una partizione SSD ( /dev/sda3) e una partizione HDD ( /dev/sdb1) con i seguenti comandi:

pvcreate /dev/sda3 /dev/sdb1
vgcreate RootVG /dev/sda3 /dev/sdb1
lvcreate -l 100%PVS -n cryptroot RootVG /dev/sdb1
lvcreate --type cache-pool -l 100%PVS -n cryptroot_cache RootVG /dev/sda3
lvconvert --type cache --cachepool RootVG/cryptroot_cache RootVG/cryptroot
cryptsetup luksFormat --type luks2 /dev/RootVG/cryptroot

Puoi trovare maggiori dettagli su questo post sul blog o su questo . (Il primo è quello che ho usato come riferimento ed è anche usato come riferimento sull'articolo di LVM Wikipedia; il secondo è da me, descrivendo come l'ho usato in pratica. Decidi tu stesso di quale fidarti 😉)

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.