Linux Admin - Volume Management
Logical Volume Management (LVM)ist eine von Linux verwendete Methode zum Verwalten von Speichervolumes auf verschiedenen physischen Festplatten. Dies ist nicht mit RAID zu verwechseln. Es kann jedoch in einem ähnlichen Konzept wie RAID 0 oder J-Bod gedacht werden. Mit LVM ist es möglich, (zum Beispiel) drei physische Festplatten mit jeweils 1 TB und dann ein logisches Volumen von etwa 3 TB wie / dev / sdb zu haben. Oder sogar zwei logische Volumes mit 1,5 TB, 5 Volumes mit 500 GB oder eine beliebige Kombination. Eine einzelne Festplatte kann sogar für Snapshots von logischen Volumes verwendet werden.
Note- Die Verwendung von logischen Volumes erhöht die Datenträger-E / A bei korrekter Konfiguration. Dies funktioniert ähnlich wie RAID 0-Striping-Daten auf separaten Festplatten.
Wenn Sie sich mit Volume Management mit LVM vertraut machen, ist es einfacher, wenn wir wissen, was jede Komponente in LVM ist. Bitte lesen Sie die folgende Tabelle, um sich einen Überblick über die einzelnen Komponenten zu verschaffen. Wenn nötig, verwenden Sie Google zum Lernen. Es ist wichtig, jedes Teil eines logischen Volumes zu verstehen, um es zu verwalten.
PV | Physisches Volumen | sda |
PP | Physische Partition | sda1, sda2 |
VG | Volumengruppe | Gepoolte physische Ressourcen |
LV | Logisches Volume | Als Speicher für das Betriebssystem gesehen |
EIN physical volumewird als / dev / sda, / dev / sdb gesehen; Eine physische Festplatte, die von Linux erkannt wird.
EIN physical partitionwird ein Abschnitt der Festplatte sein, der von einem Festplatten-Dienstprogramm wie fdisk partitioniert wird. Beachten Sie, dass die physische Partition in den meisten gängigen LVM-Setups nicht empfohlen wird. Beispiel: Die Festplatte / dev / sda ist so partitioniert, dass sie zwei physische Partitionen enthält: / dev / sda1 und / dev / sda1
Wenn wir zwei physische Festplatten mit jeweils 1 TB haben, können wir eine Datenträgergruppe von fast 2 TB zwischen den beiden erstellen .
Aus der Datenträgergruppe können drei logische Datenträger mit einer beliebigen Größe erstellt werden, die die Gesamtgröße der Datenträgergruppe nicht überschreitet.
Herkömmliche Linux-Datenträgerverwaltungstools
Bevor wir uns mit den neuesten und besten Tools für das LVM-Management in CentOS 7 vertraut machen, sollten wir uns zunächst mit traditionelleren Tools befassen, die für das Linux-Disk-Management verwendet wurden. Diese Tools sind praktisch und können weiterhin mit den heutigen fortschrittlichen LVM-Tools wie dem System Storage Manager verwendet werden: lsblk, parted und mkfs.xfs.
Angenommen, wir haben unserem System ein oder zwei weitere Datenträger hinzugefügt, müssen wir die von Linux erkannten Datenträger auflisten. Ich würde immer empfehlen, Festplatten jedes Mal aufzulisten, bevor Operationen ausgeführt werden, die als destruktiv angesehen werden.lsblkist ein großartiges Tool zum Abrufen von Festplatteninformationen. Mal sehen, welche Festplatten CentOS erkennt.
[root@localhost rdc]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─cl-root 253:0 0 17G 0 lvm /
└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 6G 0 disk
sdc 8:32 0 4G 0 disk
sr0 11:0 1 1024M 0 rom
Wie Sie sehen können, haben wir drei Festplatten auf diesem System: sda, sdb und sdc.
Disk sda enthält unsere funktionierende CentOS-Installation, daher möchten wir nicht mit sda herumspielen. Für dieses Tutorial wurden sowohl sdb als auch sdc zum System hinzugefügt. Machen wir diese Festplatten für CentOS nutzbar.
Erstellen Sie eine Datenträgerbezeichnung
[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
disk will be lost. Do you want to continue?
Yes/No? Yes
[root@localhost rdc]#
Wir haben jetzt eine Festplatte beschriftet. Führen Sie einfach den Befehl parted auf die gleiche Weise auf sdc aus .
Erstellen Sie die Partitionen auf der Festplatte
Wir werden nur eine einzige Partition auf jeder Festplatte erstellen. Um Partitionen zu erstellen, wird der Befehl parted erneut verwendet.
[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%
Warning - Sie haben eine Partition von 0,00B bis 6442MB (Sektoren 0..12582911) angefordert.
Der nächstgelegene Standort, den wir verwalten können, ist 17,4 KB bis 1048 KB (Sektoren 34..2047).
Ist das für dich noch akzeptabel?
Ja Nein? NEIN
[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%
Information - Möglicherweise müssen Sie / etc / fstab aktualisieren.
[root@localhost rdc]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part / boot
└─sda2 8:2 0 19G 0 part
├─cl-root 253:0 0 17G 0 lvm /
└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 6G 0 disk
└─sdb1 8:17 0 6G 0 part
sdc 8:32 0 4G 0 disk
└─sdc1 8:33 0 4G 0 part
sr0 11:0 1 1024M 0 rom
[root@localhost rdc]#
Wie Sie der lsblk-Ausgabe entnehmen können, haben wir jetzt zwei Partitionen, jede auf sdb und sdc.
Machen Sie das Dateisystem
Schließlich müssen wir vor dem Mounten und Verwenden eines Volumes ein Dateisystem hinzufügen. Wir werden das XFS-Dateisystem verwenden.
root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1 isize = 512 agcount = 4, agsize = 393088 blks
= sectsz = 512 attr = 2, projid32bit = 1
= crc = 1 finobt = 0, sparse = 0
data = bsize = 4096 blocks = 1572352, imaxpct = 25
= sunit = 0 swidth = 0 blks
naming = version 2 bsize = 4096 ascii-ci = 0 ftype = 1
log = internal log bsize = 4096 blocks = 2560, version = 2
= sectsz = 512 sunit = 0 blks, lazy-count = 1
realtime = none extsz = 4096 blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data = /dev/sdc1 isize = 512 agcount = 4, agsize = 262016 blks
= sectsz = 512 attr = 2, projid32bit = 1
= crc = 1 finobt = 0, sparse = 0
data = bsize = 4096 blocks = 1048064, imaxpct = 25
= sunit = 0 swidth = 0 blks
naming = version 2 bsize = 4096 ascii-ci = 0 ftype = 1
log = internal log bsize = 4096 blocks = 2560, version = 2
= sectsz = 512 sunit = 0 blks, lazy-count = 1
realtime = none extsz = 4096 blocks = 0, rtextents = 0
[root@localhost rdc]#
Lassen Sie uns überprüfen, ob jedes ein verwendbares Dateisystem hat.
[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME FSTYPE
sda
├─sda1 xfs
└─sda2 LVM2_member
├─cl-root xfs
└─cl-swap swap
sdb
└─sdb1 xfs
sdc
└─sdc1 xfs
sr0
[root@localhost rdc]#
Jeder verwendet jetzt das XFS-Dateisystem. Lassen Sie uns sie bereitstellen, die Bereitstellung überprüfen und jeweils eine Datei kopieren.
[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc
[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
/mnt/sdb:
myFile
/mnt/sdc:
myFile
Zu diesem Zeitpunkt haben wir zwei verwendbare Festplatten. Sie können jedoch nur verwendet werden, wenn wir sie manuell bereitstellen. Um jedes beim Booten zu mounten, müssen wir die fstab- Datei bearbeiten . Außerdem müssen Berechtigungen für Gruppen festgelegt werden, die Zugriff auf die neuen Festplatten benötigen.
Erstellen Sie Volume-Gruppen und logische Volumes
Eine der größten Neuerungen in CentOS 7 war die Aufnahme eines Dienstprogramms namens System Storage Manager oder ssm .System Storage Manager Dies vereinfacht die Verwaltung von LVM-Pools und Speichervolumes unter Linux erheblich.
Wir werden den Prozess der Erstellung eines einfachen Volume-Pools und logischer Volumes in CentOS durchlaufen. Der erste Schritt ist die Installation des System Storage Manager.
[root@localhost rdc]# yum install system-storage-manager
Schauen wir uns unsere Festplatten mit dem Befehl ssm list an .
Wie oben dargestellt, sind insgesamt drei Festplatten auf dem System installiert.
/sdba1 - Hostet unsere CentOS-Installation
/sdb1 - Bei / mnt / sdb montiert
/sdc1 - Montiert bei / mnt / sdc
Wir möchten eine Volume-Gruppe mit zwei Festplatten (sdb und sdc) erstellen. Stellen Sie dann dem System drei logische 3-GB-Volumes zur Verfügung.
Lassen Sie uns unsere Volumengruppe erstellen.
[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1
Standardmäßig erstellt ssm ein einzelnes logisches Volume, das die gesamten 10 GB des Pools erweitert. Wir wollen das nicht, also entfernen wir das.
[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
Logical volume "lvol001" successfully removed
[root@localhost rdc]#
Zuletzt erstellen wir die drei logischen Volumes.
[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL
Lassen Sie uns nun unsere neuen Bände überprüfen.
Wir haben jetzt drei separate logische Volumes, die sich über zwei physische Festplattenpartitionen erstrecken.
Logische Volumes sind eine leistungsstarke Funktion, die jetzt in CentOS Linux integriert ist. Wir haben die Oberfläche bei der Verwaltung dieser berührt. Das Beherrschen von Pools und logischen Volumes erfordert Übung und erweitertes Lernen von Tutorials Point. Im Moment haben Sie die Grundlagen des LVM-Managements in CentOS gelernt und können grundlegende gestreifte logische Volumes auf einem einzelnen Host erstellen.