LVM – Anleitung für Anfänger

Die Ausgabe von

df -h

sollte nun so aussehen:

server1:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 19G 665M 17G 4% /
tmpfs 78M 0 78M 0% /lib/init/rw
udev 10M 88K 10M 1% /dev
tmpfs 78M 0 78M 0% /dev/shm
/dev/sda1 137M 17M 114M 13% /boot
/dev/mapper/fileserver-backup
5.0G 144K 5.0G 1% /var/backup
/dev/mapper/fileserver-media
1.0G 33M 992M 4% /var/media
/dev/mapper/fileserver-share
40G 177M 38G 1% /var/share

5 Eine Festplatte Hinzufügen Und Eine Andere Entfernen

Bis jetzt haben wir /dev/sdf noch nicht verwendet. Wir erstellen nun die Partition /dev/sdf1 (25GB) und fügen sie unserer Volume Group fileserver hinzu.

fdisk /dev/sdf

server1:~# fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.

Die Zahl der Zylinder für diese Festplatte ist auf 10443 eingestellt.
Das ist völlig in Ordnung, jedoch ist dies größer als 1024 und könnte in bestimmten Setups folgende Probleme verursachen:
1) Probleme mit der Software, die beim Hochfahren des Rechners startet (z.B. alte Versionen von LILO)
2) Probleme mit dem Boot Loader und Partitionierungssoftware von anderen Betriebssystemen (z.B DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): <– m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help): <– n
Command action
e extended
p primary partition (1-4)
<– p
Partition number (1-4): <– 1
First cylinder (1-10443, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): <– +25000M

Command (m for help): <– t
Selected partition 1
Hex code (type L to list codes): <– 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): <– w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Wir bereiten nun /dev/sdf1 für LVM vor:

pvcreate /dev/sdf1

server1:~# pvcreate /dev/sdf1
Physical volume „/dev/sdf1“ successfully created

Füge /dev/sdf1 unserer fileserver Volume Group hinzu:

vgextend fileserver /dev/sdf1

Lass Folgendes laufen

vgdisplay

VG Size sollte nun größer sein als vorher:

server1:~# vgdisplay
— Volume group —
VG Name fileserver
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 12
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 5
Act PV 5
VG Size 116.43 GB
PE Size 4.00 MB
Total PE 29805
Alloc PE / Size 11776 / 46.00 GB
Free PE / Size 18029 / 70.43 GB
VG UUID iWr1Vk-7h7J-hLRL-SHbx-3p87-Rq47-L1GyEO

Das war’s. /dev/sdf1 wurde der fileserver Volume Group hinzugefügt.

Lass uns nun /dev/sdb1 entfernen. Vorher müssen wir allerdings alle Daten nach /dev/sdf1 kopieren:

pvmove /dev/sdb1 /dev/sdf1

Das kann ein paar Minuten dauern:

server1:~# pvmove /dev/sdb1 /dev/sdf1
/dev/sdb1: Moved: 1.9%
/dev/sdb1: Moved: 3.8%
/dev/sdb1: Moved: 5.8%
/dev/sdb1: Moved: 7.8%
/dev/sdb1: Moved: 9.7%
/dev/sdb1: Moved: 11.6%
/dev/sdb1: Moved: 13.6%
/dev/sdb1: Moved: 15.6%
/dev/sdb1: Moved: 17.5%
/dev/sdb1: Moved: 19.4%
/dev/sdb1: Moved: 21.4%
[…]
/dev/sdb1: Moved: 85.7%
/dev/sdb1: Moved: 87.7%
/dev/sdb1: Moved: 89.7%
/dev/sdb1: Moved: 91.7%
/dev/sdb1: Moved: 93.6%
/dev/sdb1: Moved: 95.5%
/dev/sdb1: Moved: 97.5%
/dev/sdb1: Moved: 99.4%
/dev/sdb1: Moved: 100.0%

Als Nächstes entfernen wir /dev/sdb1 aus der fileserver Volume Group:

vgreduce fileserver /dev/sdb1

server1:~# vgreduce fileserver /dev/sdb1
Removed „/dev/sdb1“ from volume group „fileserver“

vgdisplay

server1:~# vgdisplay
— Volume group —
VG Name fileserver
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 16
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 4
Act PV 4
VG Size 93.14 GB
PE Size 4.00 MB
Total PE 23844
Alloc PE / Size 11776 / 46.00 GB
Free PE / Size 12068 / 47.14 GB
VG UUID iWr1Vk-7h7J-hLRL-SHbx-3p87-Rq47-L1GyEO

Dann lassen wir Folgendes laufen

pvremove /dev/sdb1

/dev/sdb1 sollte nun nicht mehr als Physical Volume aufgelistet sein:

pvdisplay

server1:~# pvdisplay
— Physical volume —
PV Name /dev/sdc1
VG Name fileserver
PV Size 23.29 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 5961
Free PE 1682
Allocated PE 4279
PV UUID 40GJyh-IbsI-pzhn-TDRq-PQ3l-3ut0-AVSE4B

— Physical volume —
PV Name /dev/sdd1
VG Name fileserver
PV Size 23.29 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 5961
Free PE 4681
Allocated PE 1280
PV UUID 4mU63D-4s26-uL00-r0pO-Q0hP-mvQR-2YJN5B

— Physical volume —
PV Name /dev/sde1
VG Name fileserver
PV Size 23.29 GB / not usable 0
Allocatable yes
PE Size (KByte) 4096
Total PE 5961
Free PE 5705
Allocated PE 256
PV UUID 3upcZc-4eS2-h4r4-iBKK-gZJv-AYt3-EKdRK6

— Physical volume —
PV Name /dev/sdf1
VG Name fileserver
PV Size 23.29 GB / not usable 0
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 5961
Free PE 0
Allocated PE 5961
PV UUID 1xgo2I-SBjj-0MAz-lmDu-OLZ1-3NdO-mLkS20

Nun könntest Du /dev/sdb aus dem System entfernen (wenn dies ein richtiges System und keine virtuelle Maschine wäre).

Das könnte dich auch interessieren …