orm@doc-tcpip.org

Erstellt: Januar 2012 - Letzte Modifikation: Januar 2012

[ Main | Local ]


LVM Kommandos mit Beispielen sowie Grundlagen


Wenn man von AIX kommt, dann fällt einem der Linux LVM natürlich leicht. Im Kopf behalten sollte man, daß die Physical und Logical Partitions (PP und LP) hier als Extensions bezeichnet werden, also immer von PE und LE die Rede ist...

Die LVM Kommandos sind etwas eigenartig, man kann zb. die LVs nicht mit dem Namen ansprechen, die Kommandos erwarten ein Device, etwas in der Art: /dev/meine_vg/mein_lv

Weiterhin gibt es eine Reihe ungewohnter Features, man kann VGs zusammenfassen oder eine VG in zwei aufspalten - und man kann ein LV zum Backup im laufenden Betrieb als Snapshot einfrieren.

Grundlage sind die Physical Volumes, was bei Linux auch Partitions sein können. Diese legt man mit fdisk oder einem anderen Tool an bzw. stellt der Maschine Platten lokal oder im SAN zur Verfügung. Als Partition Type sollte man 83 für eine Linux Partition oder 8e für Linux LVM wählen.

Mit dem LVM kommen eine ganze Reihe Kommandos, die sich teilweise überlappen. Interessant sind hierbei die Kommandos, mit denen man Informationen abfragt. Da gibt es einen zweiten Satz an Kommandos, die alle Informationen in Zeilen ausgeben: pvs, vgs, lvs.

Die nötigen Kernel-Module

[root ~]# lsmod|grep dm_
dm_mirror              14101  0 
dm_region_hash         12170  1 dm_mirror
dm_log                 10122  2 dm_mirror,dm_region_hash
dm_crypt               13022  1 
dm_mod                 81500  24 dm_mirror,dm_log,dm_crypt

Logische Verdrahtung der Platten/Partitions

Für jede Platte bzw. Partition gibt es ein Block-Device, wie für eine Platte üblich. Hier ein Beispiel mit einer verschlüsselten Platte.

[root@mulhacen ~]# fdisk -l

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x64656469

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          66      524288   83  Linux
/dev/sdb2              66       19188   153600000   83  Linux
/dev/sdb3           19188       20233     8388608   82  Linux swap / Solaris

Die dazu angelegten Device-special Files:
/dev
brw-rw----. 1 root disk      8,  16 Dec 22 11:21 sdb
brw-rw----. 1 root disk      8,  17 Dec 22 11:20 sdb1
brw-rw----. 1 root disk      8,  18 Dec 22 11:20 sdb2
brw-rw----. 1 root disk      8,  19 Dec 22 11:20 sdb3

Der LVM legt jetzt für jedes seiner LVs auch ein Device-special File an:
/dev
brw-rw----. 1 root disk    253,   0 Dec 22 11:20 dm-0
brw-rw----. 1 root disk    253,   1 Dec 22 11:20 dm-1
brw-rw----. 1 root disk    253,   2 Dec 22 11:20 dm-2
brw-rw----. 1 root disk    253,   3 Dec 22 11:20 dm-3
brw-rw----. 1 root disk    253,   4 Dec 22 11:20 dm-4
brw-rw----. 1 root disk    253,   5 Dec 22 11:20 dm-5
brw-rw----. 1 root disk    253,   6 Dec 22 11:20 dm-6

Auf diese Block-Devices zeigen eine Reihe Links in den Verzeichnisen
/dev/mapper und /dev/rootvg. Das Letztere bildet die VG.
Mit diesen Namen können die LVs jetzt angesprochen werden.

/dev/mapper
crw-rw----. 1 root root 10, 58 Dec 22 12:20 control
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 luks-be3fa632-aa6a-4ff6-b1da-fd0aa28ec614 -> ../dm-0
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-homelv -> ../dm-2
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-optlv -> ../dm-6
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-rootlv -> ../dm-1
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-tmplv -> ../dm-4
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-userlv -> ../dm-5
lrwxrwxrwx. 1 root root      7 Dec 22 11:20 rootvg-varlv -> ../dm-3

/dev/rootvg
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 homelv -> ../dm-2
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 optlv -> ../dm-6
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 rootlv -> ../dm-1
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 tmplv -> ../dm-4
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 userlv -> ../dm-5
lrwxrwxrwx. 1 root root 7 Dec 22 11:20 varlv -> ../dm-3

Die Platten werden im Verzeichnis /dev/disks über eine Reihe weiterer Links
definiert. Zugriffen werden kann dabei über die ID oder die UUID, im Falle
"echter" Hardware auch über den Hardware-Pfad. 
(Ausgabe teilweise gekürzt).
/dev/disk
by-id:
total 0
lrwxrwxrwx. 1 root root  9 Dec 22 11:21 ata-HITACHI_HTS723232A7A364_E3834563GUKARN -> ../../sdb
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 ata-HITACHI_HTS723232A7A364_E3834563GUKARN-part1 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 dm-name-luks-be3fa632-aa6a-4ff6-b1da-fd0aa28ec614 -> ../../dm-0
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 dm-name-rootvg-rootlv -> ../../dm-1
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 dm-uuid-CRYPT-LUKS1-be3fa632aa6a4ff6b1dafd0aa28ec614-luks-be3fa632-aa6a-4ff6-b1da-fd0aa28ec614 -> ../../dm-0
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 dm-uuid-LVM-N8uWwJYYuilNYbITmVIF1aKd7Fhyu3FcF6DsW3DqpyDUX1S70Chq4t11FYBytLNk -> ../../dm-1
lrwxrwxrwx. 1 root root  9 Dec 22 11:21 scsi-SATA_HITACHI_HTS7232_E3834563GUKARN -> ../../sdb
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 scsi-SATA_HITACHI_HTS7232_E3834563GUKARN-part1 -> ../../sdb1
lrwxrwxrwx. 1 root root  9 Dec 22 11:21 wwn-0x5000cca61dcb9e64 -> ../../sdb
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 wwn-0x5000cca61dcb9e64-part1 -> ../../sdb1
......

by-label:
total 0

by-path:
total 0
lrwxrwxrwx. 1 root root  9 Dec 22 11:21 pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 pci-0000:00:1f.2-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 pci-0000:00:1f.2-scsi-0:0:0:0-part3 -> ../../sdb3

by-uuid:
total 0
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 32509125-a93c-432c-8ef6-bf7572b10e01 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Dec 22 11:20 c4a7caa4-a0e1-4405-a5d9-128aa0c88fc5 -> ../../dm-1
...


[root@mulhacen ~]# pvscan
  PV /dev/mapper/luks-be3fa632-aa6a-4ff6-b1da-fd0aa28ec614   VG rootvg   lvm2 [146.48 GiB / 69.99 GiB free]
  Total: 1 [146.48 GiB] / in use: 1 [146.48 GiB] / in no VG: 0 [0   ]


Wichtige Kommandos / Arbeitsanweisungen


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )