Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:linux:lvm_index:lvm-grundkonfiguration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
it-wiki:linux:lvm_index:lvm-grundkonfiguration [2023/02/10 08:14] – [Anlegen der Partitionen] markoit-wiki:linux:lvm_index:lvm-grundkonfiguration [2023/02/11 07:24] (aktuell) – [Entfernen eines LVs] marko
Zeile 2: Zeile 2:
 Im folgenden Artikel wird die grundlegende Konfiguration von LVs erläutert. Das verwendete System ist ein Ubuntu Server 10.4 mit dem Kernel 2.6.32-24 und der LVM-Version 2.02.54(1) (2009-10-26). Es wird das Anlegen der Partitionen, der Physical Volumes (PVs), einer Volume Group (VG) und den darauf aufsetzenden Logical Volumes (LVs) an einem Beispiel erklärt. Im folgenden Artikel wird die grundlegende Konfiguration von LVs erläutert. Das verwendete System ist ein Ubuntu Server 10.4 mit dem Kernel 2.6.32-24 und der LVM-Version 2.02.54(1) (2009-10-26). Es wird das Anlegen der Partitionen, der Physical Volumes (PVs), einer Volume Group (VG) und den darauf aufsetzenden Logical Volumes (LVs) an einem Beispiel erklärt.
  
-===== Anlegen der Partitionen ===== 
 ---- ----
 +===== Anlegen der Partitionen =====
 Zu Beginn werden die Partitionen für die PVs angelegt. Folgende Dinge müssen dabei beachtet werden: Zu Beginn werden die Partitionen für die PVs angelegt. Folgende Dinge müssen dabei beachtet werden:
   * Partition Alignment   * Partition Alignment
Zeile 50: Zeile 50:
 </code> </code>
  
 +----
 ===== Erstellung von PVs ===== ===== Erstellung von PVs =====
 +PVs beinhalten auch immer Metadaten für die Verwaltung der Volumes (s.a. Artikel zu [[it-wiki:linux:lvm_index:lvm-grundlagen|LVM Grundlagen]]). Standardmäßig werden für die Metadaten 255 Sektoren (á 512 Byte) angelegt. Eine zu kleine Metadaten-Area kann unter anderem dazuführen, dass z.B. keine Snapshots mehr erzeugt werden können: [[it-wiki:linux:lvm_index:vm_vg_vgname_metadata_too_large_for_circular_buffer_beheben|LVM VG vgname metadata too large for circular buffer beheben]]. Daher kann es durchaus sinnvoll sein, dass eine größere Metadaten-Area konfiguriert wird. Will man eine Vergrößerung der Metadaten-Area, so fügt man dem Kommando "pvcreate" den Parameter "<nowiki>--metadatasize</nowiki>" und anschließend die gewünschte Größe bei:
 +''<nowiki>--metadatasize</nowiki>''
 +
 +Anschließend werden die Partitionen als PV initialisiert.
 +<code bash>
 +root@ubuntu:~# pvcreate /dev/sdb1 
 +  Physical volume "/dev/sdb1" successfully created
 +root@ubuntu:~# pvcreate /dev/sdc1 
 +  Physical volume "/dev/sdc1" successfully created
 +</code>
 +
 +Die Befehle "pvs" und "pvdisplay" bieten dabei zahlreiche Möglichkeiten sich den aktuellen Status der PVs anzeigen zu lassen.
 +<code bash>
 +root@ubuntu:~# pvs
 +  PV         VG   Fmt  Attr PSize PFree
 +  /dev/sdb1       lvm2 --   2.00g 2.00g
 +  /dev/sdc1       lvm2 --   2.00g 2.00g
 +</code>
 +
 ---- ----
-PVs beinhalten auch immer Metadaten für die Verwaltung der Volumes (s.a. Artikel zu [[it-wiki:linux:lvm_index:lvm-grundlagen|LVM Grundlagen]])Standardmäßig werden für die Metadaten 255 Sektoren (á 512 Byte) angelegtEine zu kleine Metadaten-Area kann unter anderem dazuführen, dass z.Bkeine Snapshots mehr erzeugt werden können: [[it-wiki:linux:lvm_index:vm_vg_vgname_metadata_too_large_for_circular_buffer_beheben|LVM VG vgname metadata too large for circular buffer beheben]]Daher kann es durchaus sinnvoll sein, dass eine größere Metadaten-Area konfiguriert wird. Will man eine Vergrößerung der Metadaten-Area, so fügt man dem Kommando "pvcreate" den Parameter "--metadatasize" und anschließend die gewünschte Größe bei:+===== Anlegen einer VG ===== 
 +Die zuvor angelegten PVs werden nun zu einer VG zusammengefasst. 
 +<code bash> 
 +root@ubuntu:~# vgcreate vg00 /dev/sdb1 /dev/sdc1  
 +  Volume group "vg00" successfully created 
 +</code> 
 + 
 +Der Befehl "pvdisplay" zeigt nun auch, dass eine VG mit den PVs angelegt wurde: 
 +<code bash> 
 +root@ubuntu:~# pvdisplay  
 +  --- Physical volume --- 
 +  PV Name               /dev/sdb1 
 +  VG Name               vg00 
 +  PV Size               2.00 GiB / not usable 3.00 MiB 
 +  Allocatable           yes  
 +  PE Size               4.00 MiB 
 +  Total PE              511 
 +  Free PE               511 
 +  Allocated PE          0 
 +  PV UUID               fl9ipM-bhhQ-V46G-2iH3-R3yZ-9DsN-JbRmY9 
 +    
 +  --- Physical volume --- 
 +  PV Name               /dev/sdc1 
 +  VG Name               vg00 
 +  PV Size               2.00 GiB / not usable 3.00 MiB 
 +  Allocatable           yes  
 +  PE Size               4.00 MiB 
 +  Total PE              511 
 +  Free PE               511 
 +  Allocated PE          0 
 +  PV UUID               d1iY5L-ac3F-W5Sz-zyaE-uaT3-f66r-I3831o 
 +</code> 
 + 
 +vgdisplay zeigt außerdem die Informationen zur VG an: 
 +<code bash> 
 +root@ubuntu:~# vgdisplay  
 +  --- Volume group --- 
 +  VG Name               vg00 
 +  System ID              
 +  Format                lvm2 
 +  Metadata Areas        2 
 +  Metadata Sequence No  1 
 +  VG Access             read/write 
 +  VG Status             resizable 
 +  MAX LV                0 
 +  Cur LV                0 
 +  Open LV               0 
 +  Max PV                0 
 +  Cur PV                2 
 +  Act PV                2 
 +  VG Size               3.99 GiB 
 +  PE Size               4.00 MiB 
 +  Total PE              1022 
 +  Alloc PE / Size       0 / 0    
 +  Free  PE / Size       1022 / 3.99 GiB 
 +  VG UUID               YTEj9f-9LCT-EOP5-JBEA-YHSz-c0R1-TMzVmy 
 +</code> 
 + 
 +Hier fällt auf, dass die PE Größe 4.00 MiB beträgt. Seit dem lvm2-Format ist die Anzahl der PEs nicht mehr beschränkt, laut Man-Page von vgcreate kann eine hohe Anzahl von PEs aber die Tools verlangsamenAuf die I/O-Performanz der Logical Volumes wirkt sich die Anzahl der PEs aber nicht aus! Will man die PE-Größe ändern, so fügt man bei "vgcreateden Parameter 
 + 
 +''-s, --physicalextentsize PhysicalExtentSize'' 
 + 
 +hinzu. 
 + 
 +---- 
 +===== Anlegen von LVs ===== 
 +Um die Größe des anzulegenden LVs zu spezifizieren gibt es verschiedene Möglichkeiten, alle benötigen aber den Parameter "-l" oder "-L"
 + 
 +  * Größenangabe in z.B. Gigabyte: 
 + 
 +''lvcreate -n data -L1G vg00'' 
 + 
 +  * Angabe in Prozent des verfügbaren Speichers in der VG: 
 + 
 +''lvcreate -n data -l100%VG vg00'' 
 + 
 +  * Angabe in Prozent des freien Speichers in der VG: 
 + 
 +''lvcreate -n data -l100%FREE vg00'' 
 + 
 +Wir führen das begonnene Beispiel so weiter, dass wir die VG in zwei gleich große LV unterteilen: 
 +<code bash> 
 +root@ubuntu:~# lvcreate -n data -l50%VG vg00 
 +  Logical volume "data" created 
 +root@ubuntu:~# lvcreate -n data1 -l100%FREE vg00 
 +  Logical volume "data1" created 
 +</code> 
 + 
 +Nun kann der Status der Logical Volumes begutachtet werden: 
 +<code bash> 
 +root@ubuntu:~# lvdisplay  
 +  --- Logical volume --- 
 +  LV Name                /dev/vg00/data 
 +  VG Name                vg00 
 +  LV UUID                S1btrq-zQZQ-h9oU-2VE6-UNoT-hkqB-Fpv7pG 
 +  LV Write Access        read/write 
 +  LV Status              available 
 +  # open                 0 
 +  LV Size                2.00 GiB 
 +  Current LE             511 
 +  Segments               1 
 +  Allocation             inherit 
 +  Read ahead sectors     auto 
 +  - currently set to     256 
 +  Block device           252:
 +    
 +  --- Logical volume --- 
 +  LV Name                /dev/vg00/data1 
 +  VG Name                vg00 
 +  LV UUID                Syaml9-d1Ax-RYTs-tSZy-vEyq-yzqW-VoOddZ 
 +  LV Write Access        read/write 
 +  LV Status              available 
 +  # open                 0 
 +  LV Size                2.00 GiB 
 +  Current LE             511 
 +  Segments               1 
 +  Allocation             inherit 
 +  Read ahead sectors     auto 
 +  - currently set to     256 
 +  Block device           252:
 +</code> 
 + 
 +---- 
 +===== Anlegen eines Dateisystems 
 +Nun können die LVs mit einem Dateisystem formatiert und anschließend gemountet werden: 
 +<code bash> 
 +mkfs.ext4 /dev/vg00/data 
 +mkdir data 
 +mount /dev/vg00/data data 
 +</code> 
 + 
 +---- 
 +===== Entfernen eines LVs ===== 
 +Soll ein LV wieder entfernt werden, so wird dies über das lvremove Kommando durchgeführt: 
 +<code bash> 
 +root@ubuntu:~# lvremove /dev/vg00/data_snap  
 +  Do you really want to remove active logical volume data_snap? [y/n]: y   
 +  Logical volume "data_snap" successfully removed 
 +</code> 
 + 
 +Das LV data_snap scheint nun nicht mehr als LV auf. Als PV befindet es sich die darunterliegende Partition aber immer noch: 
 +<code bash> 
 +  --- Physical volume ---    
 +PV Name               /dev/sde1    
 +VG Name               vg00    
 +PV Size               2.00 GiB / not usable 3.00 MiB    
 +Allocatable           yes     
 +PE Size               4.00 MiB    
 +Total PE              511    
 +Free PE               511    
 +Allocated PE          0    
 +PV UUID               lKEW15-1YHu-dikC-S0Pm-72UJ-UMPg-fgiW0Y 
 +</code> 
 + 
 +Soll die Partition komplett freigegeben werden, so muss das PV zuerst aus der VG genommen werden: 
 +<code bash> 
 +root@ubuntu:~# vgreduce vg00 /dev/sde1    
 +  Removed "/dev/sde1" from volume group "vg00" 
 +root@ubuntu:~# pvdisplay 
 + "/dev/sde1" is a new physical volume of "2.00 GiB"   
 + --- NEW Physical volume --- 
 +   PV Name               /dev/sde1 
 +   VG Name                  
 +   PV Size               2.00 GiB 
 +   Allocatable           NO 
 +   PE Size               0 
 +   Total PE              0  
 +   Free PE               0 
 +   Allocated PE          0 
 +   PV UUID               lKEW15-1YHu-dikC-S0Pm-72UJ-UMPg-fgiW0Y 
 +</code> 
 + 
 +Nun kann auch das PV komplett gelöscht werden, um z.B. die Festplatte neu zu formatieren: 
 +<code bash> 
 +root@ubuntu:~# pvremove /dev/sde1 
 +  Labels on physical volume "/dev/sde1" successfully wiped 
 +</code> 
 + 
 +\\ 
 +\\ 
 +\\ 
 + --- //[[marko.oldenburg@cooltux.net|Marko Oldenburg]] 2023/02/11 08:24//
it-wiki/linux/lvm_index/lvm-grundkonfiguration.1676016865.txt.gz · Zuletzt geändert: von marko