Logisches Volume-Management - Logical volume management

Beim Computerspeicher bietet das Logical Volume Management oder LVM eine Methode zum Zuweisen von Speicherplatz auf Massenspeichergeräten , die flexibler ist als herkömmliche Partitionierungsschemata zum Speichern von Volumes. Insbesondere kann ein Volume - Manager, verketten Streifen zusammen oder auf andere Weise kombiniert Partitionen (oder Blockgeräte im Allgemeinen) in größere virtuellen Partitionen , dass Administratoren kann oder bewegen die Größe neu, möglicherweise ohne Verwendung durch das System zu unterbrechen.

Das Volume-Management ist nur eine von vielen Formen der Speichervirtualisierung . Die Implementierung erfolgt in einer Schicht im Gerätetreiberstapel eines Betriebssystems (im Gegensatz zu Speichergeräten oder in einem Netzwerk).

Design

Linux Logical Volume Manager (LVM) v1

Die meisten Volume-Manager-Implementierungen haben dasselbe grundlegende Design. Sie beginnen mit physischen Volumen (PVS), die entweder sein kann Festplatten , Festplattenpartitionen oder Logical Unit Numbers (LUNs) von einem externen Speichergerät. Das Volumenmanagement behandelt jede PV als aus einer Folge von Blöcken zusammengesetzt, die als Physical Extents (PEs) bezeichnet werden. Einige Volume-Manager (z. B. in HP-UX und Linux) verfügen über PEs mit einheitlicher Größe. andere (wie die in Veritas ) haben PEs unterschiedlicher Größe, die nach Belieben aufgeteilt und zusammengeführt werden können.

Normalerweise ordnen PEs einfach eins zu eins logischen Ausmaßen (LEs) zu. Bei der Spiegelung werden jedem LE mehrere PEs zugeordnet. Diese PEs stammen aus einer physischen Volumengruppe (PVG), einem Satz gleich großer PVs, die sich ähnlich wie Festplatten in einem RAID1-Array verhalten. PVGs sind normalerweise so ausgelegt, dass sie sich für maximale Redundanz auf verschiedenen Festplatten oder Datenbussen befinden .

Das System bündelt LEs in einer Volume-Gruppe (VG). Die gepoolten LEs können dann zu Partitionen virtueller Datenträger verkettet werden, die als logische Volumes oder LVs bezeichnet werden . Systeme können LVs als Raw- Block-Geräte verwenden, genau wie Festplattenpartitionen: Sie können darauf montierbare Dateisysteme erstellen oder sie als Swap- Speicher verwenden.

Gestreifte LVs ordnen jede aufeinanderfolgende LE einer anderen PV zu; Abhängig von der Größe des LE kann dies die Leistung bei großen sequentiellen Lesevorgängen verbessern, indem der kombinierte Lesedurchsatz mehrerer PVs berücksichtigt wird.

Administratoren können LVs vergrößern (indem sie mehr LEs verketten) oder verkleinern (indem sie LEs in den Pool zurückgeben). Die verketteten LEs müssen nicht zusammenhängend sein. Dadurch können LVs wachsen, ohne bereits zugewiesene LEs verschieben zu müssen. Einige Volume-Manager ermöglichen die Größenänderung von LVs in beide Richtungen, während sie online sind. Durch Ändern der Größe des LV wird nicht unbedingt die Größe eines darauf befindlichen Dateisystems geändert. es ändert lediglich die Größe seines enthaltenen Raums. Ein Dateisystem, dessen Größe online geändert werden kann, wird empfohlen, da das System seinen Speicher im laufenden Betrieb anpassen kann, ohne die Anwendungen zu unterbrechen.

PVs und LVs können nicht zwischen verschiedenen VGs geteilt werden oder diese überspannen (obwohl einige Volume-Manager möglicherweise zulassen, dass sie nach Belieben zwischen VGs auf demselben Host verschoben werden). Auf diese Weise können Administratoren VGs bequem online schalten, offline schalten oder als einzelne Verwaltungseinheit zwischen Hostsystemen verschieben.

VGs können ihren Speicherpool durch Absorption neuer PVs vergrößern oder durch Zurückziehen von PVs schrumpfen. Dies kann bedeuten, dass bereits zugewiesene LEs aus dem PV entfernt werden. Die meisten Volumenmanager können diese Bewegung online ausführen. Wenn die zugrunde liegende Hardware Hot-Plug-fähig ist, können Ingenieure den Speicher ohne Systemausfallzeiten aktualisieren oder ersetzen.

Konzepte

Hybridvolumen

Ein Hybrid-Volume ist ein Volume, das absichtlich und undurchsichtig zwei separate physische Volumes verwendet. Beispielsweise kann eine Arbeitslast aus zufälligen Suchvorgängen bestehen, so dass eine SSD verwendet werden kann, um häufig verwendete oder kürzlich geschriebene Daten dauerhaft zu speichern, während rotierende magnetische Medien mit höherer Kapazität zur Langzeitspeicherung selten benötigter Daten verwendet werden. Unter Linux kann zu diesem Zweck bcache oder dm-cache verwendet werden, während unter OS X Fusion Drive verwendet werden kann. ZFS implementiert diese Funktionalität auch auf Dateisystemebene , indem Administratoren das mehrstufige Lese- / Schreib-Caching konfigurieren können.

Hybridvolumes bieten ein ähnliches Konzept wie Hybridantriebe , die auch Festkörperspeicher und rotierende magnetische Medien kombinieren.

Schnappschüsse

Einige Volume-Manager implementieren auch Snapshots, indem sie Copy-on-Write auf jede LE anwenden . In diesem Schema kopiert der Volume-Manager die LE unmittelbar vor dem Schreiben in eine Copy-on-Write-Tabelle . Dadurch bleibt eine alte Version des LV erhalten, der Snapshot, der später durch Überlagern der Copy-on-Write-Tabelle auf dem aktuellen LV rekonstruiert werden kann. Sofern die Datenträgerverwaltung nicht sowohl Thin Provisioning als auch Discard unterstützt, wird eine LE im Ursprungsdatenträger nach dem Schreiben dauerhaft im Snapshot-Datenträger gespeichert. Wenn das Snapshot-Volume kleiner als sein Ursprung gemacht wurde, was eine gängige Praxis ist, kann dies dazu führen, dass der Snapshot nicht mehr funktionsfähig ist.

Snapshots können nützlich sein, um selbstkonsistente Versionen flüchtiger Daten wie Tabellendateien aus einer ausgelasteten Datenbank zu sichern oder große Änderungen (z. B. ein Betriebssystem-Upgrade) in einem einzigen Vorgang zurückzusetzen. Snapshots haben einen ähnlichen Effekt wie das Rendern des Speichers im Ruhezustand und ähneln dem VSS-Dienst ( Shadow Copy ) in Microsoft Windows.

Einige Linux-basierte Live-CDs verwenden auch Snapshots, um den Lese- / Schreibzugriff auf eine schreibgeschützte optische Disc zu simulieren .

Implementierungen

Verkäufer Eingeführt in Volume Manager Überall zuweisen Schnappschüsse RAID 0 RAID 1 RAID 5 RAID 10 Dünne Bereitstellung Anmerkungen
IBM AIX 3.0 (1989) Logical Volume Manager Ja Ja Ja Ja Nein Ja Bezieht sich auf PEs als PPs (physische Partitionen) und auf LEs als LPs (logische Partitionen). Verfügt nicht über einen Snapshot-Mechanismus zum Kopieren beim Schreiben. Erstellt Schnappschüsse, indem ein Volume eines Spiegelpaars eingefroren wird.
Hewlett Packard HP-UX 9.0 HP Logical Volume Manager Ja Ja Ja Ja Nein Ja
FreeBSD Vinum Volume Manager Ja Ja Ja Ja Ja Ja Das FreeBSD Fast File System (UFS) unterstützt Snapshots.
FreeBSD ZFS Ja Ja Ja Ja Ja Ja Ja Ein Dateisystem mit integrierter Datenträgerverwaltung
NetBSD Logical Volume Manager Ja Nein Ja Ja Nein Nein NetBSD ab Version 6.0 unterstützt die eigene Neuimplementierung von Linux LVM. Die Neuimplementierung basiert auf einem BSD-lizenzierten Device-Mapper-Treiber und verwendet einen Port von Linux-lvm-Tools als Userspace-Teil von LVM. Aufgrund des NetBSD-überlegenen RAIDFrame-Subsystems muss RAID5 in LVM nicht unterstützt werden.
NetBSD ZFS Ja Ja Ja Ja Ja Ja Ja Ein Dateisystem mit integrierter Datenträgerverwaltung
Die NetBSD Foundation, Inc. NetBSD § 5.0 (2009) bioctl arcmsr Nein Nein Ja Ja Ja Ja bioctl on NetBSD kann sowohl für die Wartung als auch für die Initialisierung von Hardware-RAID verwendet werden, obwohl die Initialisierung (über BIOCVOLOPS ioctl ) ab 2019 nur noch von einem einzigen Treiber unterstützt wird arcmsr(4) . Software-RAID wird separat über RAIDframe und ZFS unterstützt
Das OpenBSD-Projekt OpenBSD 4.2 (2007) bioctl softraid Ja Nein Ja Ja Ja Ja bioctl on OpenBSD kann zur Wartung von Hardware-RAID sowie zur Initialisierung und Wartung von Software-RAID verwendet werden
Linux 2.2 Logical Volume Manager Version 1 Ja Ja Ja Ja Nein Nein
Linux 2.4 Enterprise Volume Management System Ja Ja Ja Ja Ja Nein
Linux 2.6 und höher Logical Volume Manager Version 2 Ja Ja Ja Ja Ja Ja Ja
Linux 2.6 und höher Btrfs Ja Ja Ja Ja Ja (nicht stabil) Ja N / A Ein Dateisystem mit integrierter Datenträgerverwaltung
Siliziumgrafiken IRIX oder Linux XVM Volume Manager Ja Ja Ja Ja Ja
Sun Microsystems SunOS Solaris Volume Manager (war Solstice DiskSuite ). Nein Nein Ja Ja Ja Ja Bezieht sich auf PVs als Volumes (die mit RAID0-, RAID1- oder RAID5-Grundelementen zu größeren Volumes kombiniert werden können), auf LVs als Softpartitionen (die zusammenhängende Bereiche sind, die überall auf Volumes platziert werden können, aber nicht mehrere Volumes umfassen können) und auf VGs als Festplatte setzt.
Sun Microsystems Solaris 10 ZFS Ja Ja Ja Ja Ja Ja Ja Ein Dateisystem mit integrierter Datenträgerverwaltung
illumos ZFS Ja Ja Ja Ja Ja Ja Ja Ein Dateisystem mit integrierter Datenträgerverwaltung
Veritas Betriebssystemübergreifend Veritas Volume Manager (VxVM) Ja Ja Ja Ja Ja Ja Bezieht sich auf LVs als Volumes und auf VGs als Datenträgergruppen . hat PEs mit variabler Größe, die als Subdisks bezeichnet werden, und LEs, die als Plexe bezeichnet werden .
Microsoft Windows 2000 und höher NT-basierte Betriebssysteme Logical Disk Manager Ja Ja Ja Ja Ja Nein Nein Hat kein Konzept von PEs oder LEs; kann nur RAID0, RAID1, RAID5 oder Festplattenpartitionen zu größeren Volumes verketten; Dateisysteme müssen ganze Volumes umfassen.
Windows 8 Lagerräume Ja Ja Nein Ja Ja Nein Ja Übergeordnete Logik als RAID1 und RAID5 - Mehrere Speicherbereiche erstrecken sich über mehrere Festplatten unterschiedlicher Größe. Speicherbereiche sind durch Spiegelung (mindestens 2 Festplatten) oder Striped-Parity (mindestens 3 Festplatten), Festplattenverwaltung und Datenwiederherstellung unempfindlich gegen physische Ausfälle ist vollautomatisch
Windows 10 Lagerräume Ja Ja Ja Ja Ja Ja Ja RAID 10 wird als Plattenspiegelung bezeichnet
roter Hut Linux 4.14 und höher Stratis Ja Ja Nein Nein Nein Nein Ja RAID-Unterstützung in Version 2.0 geplant
Apfel Mac OS X Lion Kernspeicher Ja Nein Nein Nein Nein Nein Nein Derzeit wird es in der Implementierung von FileVault durch Lion verwendet , um eine vollständige Festplattenverschlüsselung zu ermöglichen , sowie in Fusion Drive , bei dem es sich lediglich um ein Multi-PV-LVG handelt.

Schnappschüsse werden von Time Machine verarbeitet . Softwarebasiertes RAID wird von AppleRAID bereitgestellt. Beide sind vom Core Storage getrennt.

Nachteile

Logische Volumes können unter externer Fragmentierung leiden, wenn die zugrunde liegenden Speichergeräte ihre PEs nicht zusammenhängend zuweisen. Dies kann die E / A-Leistung auf langsam suchenden Medien wie Magnetplatten und anderen rotierenden Medien verringern. Volume-Manager, die PEs mit fester Größe verwenden, machen PEs jedoch normalerweise relativ groß (z. B. verwendet Linux LVM standardmäßig 4 MB), um die Kosten für diese Suchvorgänge zu amortisieren .

Bei Implementierungen, die ausschließlich der Datenträgerverwaltung dienen, wie z. B. Core Storage und Linux LVM, kann durch das Trennen und Abstrahieren der Datenträgerverwaltung vom Dateisystem nicht mehr einfach Speicherentscheidungen für bestimmte Dateien oder Verzeichnisse getroffen werden. Wenn beispielsweise ein bestimmtes Verzeichnis (aber nicht das gesamte Dateisystem) dauerhaft in einen schnelleren Speicher verschoben werden soll, müssen sowohl das Dateisystemlayout als auch die zugrunde liegende Datenträgerverwaltungsschicht durchlaufen werden. Unter Linux wäre es beispielsweise erforderlich, den Versatz des Inhalts einer Datei innerhalb eines Dateisystems manuell zu bestimmen und dann manuell pvmove die Speicherbereiche (zusammen mit Daten, die nicht mit dieser Datei zusammenhängen) für den schnelleren Speicher. Die Implementierung der Datenträger- und Dateiverwaltung im selben Subsystem, anstatt sie als separate Subsysteme zu implementieren, vereinfacht den Gesamtprozess theoretisch.

Anmerkungen

Siehe auch


Verweise

Quellen

Externe Links