[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

LVM Mini-Howto RE: [linux-lvm] Re: *** ANNOUNCEMENT *** LVM 0.8final driver included in 2.3.47 (fwd)



Hi,
Hi,


I wrote a little Mini-Howto for LVM in german. It's enough for out purposes...
I attache the HTML-Version. It is written in sgml.

I will help you and give you the sources (if you want). But I don't want to be the
maintainer of the HOWTO. 

Klaus Franken fth2 siemens de    +49 911 978 3707
Siemens Business Services IP 21F


> -----Original Message-----
> From: Peter Wuestefeld resnova de [mailto:Peter Wuestefeld resnova de]
> Sent: Friday, February 25, 2000 10:44 AM
> To: linux-lvm msede com
> Subject: Re: [linux-lvm] Re: *** ANNOUNCEMENT *** LVM 0.8final driver
> included in 2.3.47 (fwd)
> 
> 
> 
> Hi all,
> 
> since I've done already a lot of course material for LVM 
> (although on AIX)
> I would suspect that I'm able to do that for LVM on Linux as well.
> 
> If there isn't already someone doing that I would like to start a
> "Beginners Guide to LVM". Any ideas on the form? Like "use 
> SGML/XML since
> all of the LDP uses that"?
> Anybody out there who wants to help me?
> 

Title: LVM Mini-HOWTO

LVM Mini-HOWTO

Klaus Franken, Klaus Franken fth2 siemens de

v0.2, 01.12.1999


LVM - Logical Volume Manager Mini-HOWTO

1. Einführung

2. Installieren der Sourcen

2.1 Patchen des Kernels

Das Patchfile, hier /tmp/linux-2.2.12.lvm-0.8i.patch, ist in der Source-Distribution von LVM enthalten. Patch einspielen mit:


cd /usr/src/linux
patch -p1 < linux-2.2.12.lvm-0.8i.patch
make oldconfig

LVM kann auch als Modul gebaut werden, es sollte auch die /proc-Filesystemunterstützung aktiviert werden:
*
* Additional Block Devices
*
Logical volume manager (LVM) support (CONFIG_BLK_DEV_LVM) [N/y/m/?] (NEW) m

CONFIG_BLK_DEV_LVM:

  This driver lets you combine several hard disks, hard disk partitions
  or even multiple devices into a volume group. Imagine a volume group as
  a kind of virtual disk. Logical volumes, which can be thought of as
  virtual partitions, can be created in the volume group.
  You can resize volume groups and logical volumes after creation time,
  corresponding to new capacity needs. Logical volumes are accessed as
  block devices named /dev/VolumeGroupName/LogicalVolumeName.

  For details see /usr/src/linux/Documentaion/LVM-HOWTO.

  To get the newest software see <http://linux.msede.com/lvm>.
Logical volume manager (LVM) support (CONFIG_BLK_DEV_LVM) [N/y/m/?] (NEW) M
   LVM information in proc filesystem (CONFIG_LVM_PROC_FS) [N/y/?] (NEW) Y

Nachdem dieser Kernel aktiv ist, kann das LVM-Modul durch modprobe lvm geladen werden, siehe /var/log/messages und lsmod.

Damit das LVM-Modul automatisch geladen werden kann, in /etc/conf.modules eintragen:


alias block-major-58      lvm
alias char-major-109      lvm

2.2 Compilieren der LVM-Tools

Neu: benutze das lvm-RPM

3. Vorbereiten der Physical Volumes

3.1 Test mit Loop-Devices

Will man LVM testen, ohne Umpartitionieren zu müssen, kann man Loop-Devices verwenden. Für den produktiven Einsatz empfiehlt sich das natürlich nicht.

Mit Loop-Devices kann man auf normale Dateien im Filesystem wie auf ein Block-Device zugreifen. Siehe man losetup.

Anmerkung:

Einrichtung:

Jetzt kann man auf /dev/loop7 wie auf ein normales Block-Device zugreifen. Wird /dev/loop7 nicht mehr gebraucht, mit

die Verbindung lösen; danach kann die Datei /tmp/lvmtest/loop gelöscht werden.

3.2 Vorbereiten der Physical Volume (pvcreate)

Ein Physical Volume (PV) kann eine Festplatten-Partition, eine gesamte Platte, ein Loop-Device, ein MD-Device oder eine beliebiges anderes Block-Device sein.

Das PV muß vor Benutzung durch LVM formatiert werden, d.h. gewisse Datenstrukturen werden darin abgelegt.

Wenn eine Partition benutzt wird, muß der Partitionstyp mit fdisk auf 0x8E gesetzt werden. Dies dient lediglich dazu, daß die Partition nicht über andere Wege (z.B. Filesystem) benutzt wird.

Aufruf von pvcreate:

Falls sich dort schon ein PV konfiguriert wurde, zum Überschreiben ev. Parameter -f oder -ff angeben.

4. Anlegen einer Volume Group (VG)

Einer Volume Group muß beim Anlegen mindestens ein PV zugefügt werden, weitere können später hinzugefügt werden.

Anlegen einer VG mit dem Namen vg00:

5. Anlegen und Benutzen eines Logical Volume (LV)

In einer gegebenen VG können mehrere Logical Volume's (LV) angelegt werden.

Ohne spezielle Parameter wird irgendwo freier Platz belegt. Normalerweise werden die PV's nacheinander, möglichst aneinanderhängend aufgefüllt.

Wird keine Name für das LV angegeben, vergibt LVM automatisch einen (lvol1, lvol2, ...)

Die Größe der LV wird durch -L gefolgt von einer Zahl mit dem Zusatz K, M oder G (für Kbyte, MByte, GByte) angegeben.

Beispiel: LV mit dem Namen test mit 10 MB in der VG vg00:


lvcreate -v  -L10M -n test vg00
        

LVM legt damit ein Block-Device /dev/vg00/test an, auf das jetzt normal zugegriffen werden kann:


mkfs -t ext2 /dev/vg00/test
mount /dev/vg00/test /tmp/lvmtest/mnt0
        

6. Funktionsweise von LVM

Aus logischer Sicht stellt LVM ein Block-Device, z.B. /dev/vg00/test zur Verfügung. Das Block-Device ist in Blöcke zu 4MB (per Default) unterteilt, sogenannte Logical Extents (LE).

Die PV's sind genauso in Blöcke zu 4MB unterteilt, sogenannte Physical Extents (PE).

LVM erstellt (und pflegt) intern eine Tabelle, in der jeder LE eine PE zugeordnet wird.

Bsp:


$ lvdisplay -v /dev/vg00/test  
--- Logical volume ---
LV Name               /dev/vg00/test
VG Name               vg00
LV Write Access       read/write
LV Status             available
LV #                  1
# open                1
LV Size               12 MB
Current LE            3
Allocated LE          3
Allocation            next free
Read ahead sectors    120
Block device          58:0

   --- Distribution of logical volume on 1 physical volume  ---
   PV Name                  PE on PV     reads      writes
   /dev/loop7               3            9          440      

   --- logical volume i/o statistic ---
   9 reads  440 writes

   --- Logical extents ---
   LE    PV                        PE     reads      writes
   00000 /dev/loop7                00004  7          440      
   00001 /dev/loop7                00005  0          0        
   00002 /dev/loop7                00006  2          0        
        

7. Shutdown und Booten

7.1 Shutdown

LVM muß sauber abgeschlossen werden, damit ein Wiederherstellen später möglich ist.

Zuerst sind alle Filesysteme auf den LV's zu unmounten. Es dürfen keine geöffneten LV (gemountete Filesysteme, Swap etc.) exitieren.

Danach die VG als gesamtes deaktivieren:


vgchange -a n
        

7.2 Booten

Ev. das LVM-Modul laden / prüfen.

Normalerweise können die gespeicherte LVM-Konfiguration in den Dateien/Verzeichnissen /etc/lvmtab, /etc/lvmconf, /etc/lvmtab.d wieder benutzt werden:


vgchange -a y
        

Sollte die gespeicherten Daten korrupt oder nicht vorhanden sein (z.B. weil eine Platte in ein fremdes System eingebaut wird) können alle potentiellen PV's (alle SCSI- und IDE-Platten, Loop-Devices etc.) gescannt werden.


vgscan -v
        

Danach ebenfalls mit vgchange -a y aktivieren.

8. weitere Anwendungen

8.1 Verlagerung auf eine andere PV

Situation: VG vg00, PV /dev/loop7, LV: test

Aufgabe: Verlagerung der PV auf /dev/hda1 im Online-Betrieb.


        (Mit fdisk Partition-ID von hda1 auf 0xfe setzen)
        pvcreate -v /dev/hda1
        vgextend -v vg00 /dev/hda1
        pvmove -v /dev/loop7 /dev/hda1
        vgreduce -v vg00 /dev/hda1
        

8.2 Anlegen eines Swap-Devices

50 MB Swap in vg00


lvcreate -L50M -n swap1 vg00
mkswap /dev/vg00/swap1
/dev/vg00/swap1
        

Eintrag in /etc/fstab:


/dev/vg00/swap1         swap                    swap    defaults        0 0
        

8.3 Anlegen einer LV mit Stripes


        vgextend vg00 /dev/loop7
        lvcreate -i 2 -L20M -n striped vg00
        

8.4 Umbenennen einer VG

VG vg00 wird zu myvg umbenannt.


vgchange -a n vg00
vgrename vg00 myvg
vgchange -a y myvg
        

8.5 Ex- und importieren von VG's

Bsp: VG tmpvg wird in ein anderes System übertragen


vgexport tmpvg
        

Ab jetzt ist die VG tmpvg im System nicht mehr sichtbar. Man sollte sich vorher gemerkt haben, auf welchem Device sie vorhanden war!

Auf dem neuen System, kann die VG (unter Angabe eines neuen Namens) aus dem Device importiert werden (im Beispiel als newvg von /dev/loop7:


vgimport newvg /dev/loop7
        

9. Referenz

9.1 Abkürzungen

9.2 Kommandos-Übersicht


Prefix:
        pv
        vg
        lv

Cmd:
        create
        remove
        display
        change

Schalter:
        -v

Exitcode:
        0 OK
        >0 Fehler

Shutdown & Boot

10. Vorteile von LVM

11. Nachteile von LVM

12. Ausblick

13. Links


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]