Verwendung von LVM mit SSD- und SATA-Laufwerken

22

Ich habe in dieser Frage gesehen, dass es möglich ist, sowohl eine SSD- als auch eine Standard-SATA-Festplatte in eine einzelne LVM-Volume-Gruppe (VG) zu platzieren.

Wie wirkt sich das auf die Leistung aus?

Gibt es eine Möglichkeit, das Betriebssystem auf die SSD zu zwingen, während sich die Daten auf dem SATA-Laufwerk innerhalb einer einzelnen Datenträgergruppe befinden?

Gibt es gute Whitepapers zur Verwendung von LVM mit verschiedenen Laufwerkstypen?

Wäre es vorteilhaft, eine VG für jeden Antriebstyp und / oder jede Geschwindigkeit zu erstellen? Ich habe darüber nachgedacht, eine VG für SSDs und eine für SATA zu erstellen (und zwar für jeden Laufwerkstyp, den ich in Zukunft möglicherweise hinzufügen werde).

Nick
quelle
Meiner Intuition nach wäre es eine wirklich schlechte Idee, sowohl eine SSD als auch eine konventionelle Festplatte in dieselbe Volumengruppe zu legen.
Samiam
@samiam das war mein erster gedanke. Ich war mir nicht sicher, ob es Möglichkeiten gab, dem LVM mitzuteilen, dass Daten immer von und nach sda und Daten immer in ein anderes Verzeichnis auf sdb verschoben werden sollen.
Nick
@Graeme, das viel über die Leistung spricht, aber ich habe nichts im Zusammenhang mit der Verteilung auf verschiedene Festplattentypen gesehen, worum es mir hauptsächlich geht. Wenn ich etwas verpasst habe, weisen Sie darauf hin.
Nick
Nick: Ich kann nicht über LVM aus der Vogelperspektive antworten, aber es ist möglich, es /etc/fstabso einzurichten, dass /es sich auf einer SSD befindet, während sich alles, was darunter /homeliegt, auf einer herkömmlichen Festplatte befindet. Dies ist normalerweise eine Option bei der Installation eines modernen Linux-Systems ( /homewäre ein "Einhängepunkt" bei der Auswahl einer Form von "erweiterten Optionen")
samiam

Antworten:

8

LVM unterscheidet nicht zwischen einer schnellen und einer langsamen Festplatte. Ist es nicht eine gute Idee, diese Datenträger einer LVM-Datenträgergruppe zuzuordnen?

/tmpAbgesehen davon ist es immer gut, Ihr Verzeichnis auf einer SSD zu mounten, was eine enorme Geschwindigkeitssteigerung bietet, insbesondere für Anwendungen, die es gerne kompilieren.


quelle
3
Zieh /tmptmpfs an. Mehr Leistung, weniger Verschleiß der SSD (oder auch der Festplatte). Die sehr schnellen Lesevorgänge der SSD machen sie vor allem für Daten nützlich, die häufiger gelesen als geschrieben werden.
Gilles 'SO - hör auf böse zu sein'
Dies wurde als Sicherheitslücke entdeckt und wird von vielen Distributionen nicht mehr bereitgestellt.
4
Meh. Ich möchte im Allgemeinen, dass Dateien beim /tmpNeustart bereinigt werden - wenn sie bleiben sollen, ist dies der Grund /var/tmpdafür. Ich habe tmpfs /tmpjahrelang auf vielen Rechnern verwendet, und es ist mir nie der Swap-Speicher ausgegangen, und ich habe keine atypisch kleinen Datenmengen /tmp, so dass dieses Argument falsch ist. Auf jeden Fall handelt es sich nicht um eine Sicherheitsanfälligkeit - dieses Wort impliziert ein Sicherheitsproblem.
Gilles 'SO - hör auf böse zu sein'
1
Sie haben anscheinend keine schlechten Nutzer zu bedienen. Wenn Sie es nicht als Schwachstelle bezeichnen möchten, bezeichnen Sie es als schädlich. Es wird in jedem Fall nicht empfohlen, es sei denn, Sie wissen, was Sie tun.
7

In neueren LVM-Versionen können Sie eine Ursprungs-LV auf der Festplatte und eine Cache-Pool-LV auf der SSD erstellen und dann zu einer einzigen Cache-LV kombinieren. Es hat die gleiche Größe wie das Ursprungs-LV (d. H. Sie erhalten nur so viel Speicherplatz wie auf der Festplatte), aber häufig verwendete Blöcke und Metadaten werden auf der SSD zwischengespeichert, um die Leistung zu verbessern.

Der Kern davon ist, dass Sie bereits eine VG haben, die beide Laufwerke umfasst:

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

Danach haben Sie eine your_nameLV, die Sie wie jede andere LV verwenden können, und mehrere interne LVs, mit denen Sie sie sehen können lvs -a YourVG.

Zum Beispiel habe ich ein verschlüsseltes Root-Dateisystem über eine SSD-Partition ( /dev/sda3) und eine HDD-Partition ( /dev/sdb1) mit den folgenden Befehlen eingerichtet:

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

Weitere Details finden Sie in diesem oder diesem Blog-Beitrag . (Das erste ist das, was ich als Referenz verwendet habe und das auch als Referenz für den Artikel in der LVM-Wikipedia. Das zweite ist von mir und beschreibt, wie ich es in der Praxis verwendet habe. Überlegen Sie selbst, welchem ​​Sie vertrauen möchten 😉)

Lucas Werkmeister
quelle