LVM – Anleitung für Anfänger

Verfahre genauso mit /dev/sdd1:

fdisk /dev/sdd

Füge als Nächstes /dev/sdb1 zu /dev/md0 und /dev/sdd1 zu /dev/md1 hinzu:

mdadm –manage /dev/md0 –add /dev/sdb1

server1:~# mdadm –manage /dev/md0 –add /dev/sdb1
mdadm: added /dev/sdb1

mdadm –manage /dev/md1 –add /dev/sdd1

server1:~# mdadm –manage /dev/md1 –add /dev/sdd1
mdadm: added /dev/sdd1

Nun werden die zwei RAID arrays synchronisiert. Das kann etwas dauern. Mit

cat /proc/mdstat

kannst Du überprüfen, wann der Prozess abgeschlossen sein wird. Die Ausgabe des noch nicht beendeten Prozesses sieht wie folgt aus:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md1 : active raid1 sdd1[2] sde1[0]
24418688 blocks [2/1] [U_]
[=>……………….] recovery = 6.4% (1586560/24418688) finish=1.9min speed=198320K/sec

md0 : active raid1 sdb1[2] sdc1[0]
24418688 blocks [2/1] [U_]
[==>………………] recovery = 10.5% (2587264/24418688) finish=2.8min speed=129363K/sec

unused devices: <none>

So sieht es aus, wenn der Prozess abgeschlossen ist:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/2] [UU]

unused devices: <none>

Wenn Du Dir PV Size in der Ausgabe von

pvdisplay

ansiehst, siehst Du, dass 2 * 23.29GB = 46.58GB verfügbar sind, jedoch werden nur 40GB (share) + 5GB (backup) + 1GB (media) = 46GB verwendet, was bedeutet, dass wir eine unserer Logical Geräte um etwa 0,5GB erweitern könnten. Ich habe bereits gezeigt, wie man ein ext3 Logical Volume (share) erweitert, also werden wir nun die Größe von media, das reiserfs verwendet, ändern. reiserfs Dateisysteme können ohne Aushängen geändert werden:

lvextend -L1.5G /dev/fileserver/media

server1:~# lvextend -L1.5G /dev/fileserver/media
Extending logical volume media to 1.50 GB
Logical volume media successfully resized

resize_reiserfs /dev/fileserver/media

server1:~# resize_reiserfs /dev/fileserver/media
resize_reiserfs 3.6.19 (2003 www.namesys.com)

resize_reiserfs: On-line resizing finished successfully.

Die Ausgabe von

df -h

sieht wie folgt aus:

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

Wenn wir möchten, dass unsere Logical Volumes beim Hochfahren automatisch eingehängt werden, müssen wir /etc/fstab erneut ändern (wie in Kapitel 3):

mv /etc/fstab /etc/fstab_orig
cat /dev/null > /etc/fstab

vi /etc/fstab

Setze Folgendes ein:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda2       /               ext3    defaults,errors=remount-ro 0       1
/dev/sda1       /boot           ext3    defaults        0       2
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
/dev/fileserver/share   /var/share     ext3       rw,noatime    0 0
/dev/fileserver/backup    /var/backup      xfs        rw,noatime    0 0
/dev/fileserver/media    /var/media      reiserfs   rw,noatime    0 0

Wenn Du es mit dem Backup unserer ursprünglichen Datei, /etc/fstab_orig, vergleichst, wirst Du feststellen, dass wir folgende Zeile hinzugefügt haben:

/dev/fileserver/share /var/share ext3 rw,noatime 0 0
/dev/fileserver/backup /var/backup xfs rw,noatime 0 0
/dev/fileserver/media /var/media reiserfs rw,noatime 0 0
Now we reboot the system:

shutdown -r now

Nachdem das System wieder gestartet ist, lass Folgendes erneut laufen

df -h

Es sollte immer noch unsere Logical Volumes in der Ausgabe anzeigen:

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

Nun ist unser LVM auf RAID1 Setup abgeschlossen.

8 Ersetzen Der Festplatten Mit Größeren Festplatten

Momentan verwenden wir vier Festplatten je von der Größe 25GB (zumindest tun wir so). Lass uns nun davon ausgehen, dass dies nicht mehr ausreicht und wir brauchen in unserem RAID Setup mehr Speicherplatz. Daher ersetzen wir unsere 25GB Festplatten mit 80GB Festplatten (tatsächlich verwenden wir immer noch die derzeitigen Festplatten, jedoch schöpfen wir nun ihre volle Kapazität aus – normalerweise würdest Du Deine alten, kleinen Festplatten mit neuen, größeren Festplatten esetzen).

Das Prozedere lautet wie folgt: Zuerst entfernen wir /dev/sdb und /dev/sdd aus den RAID arrays, ersetzen sie mit größeren Festplatten, setzen sie wieder in die RAID arrays ein und dann führen wir das Gleiche mit /dev/sdc und /dev/sde durch.

Zunächst markieren wir /dev/sdb1 als fehlgeschlagen:

mdadm –manage /dev/md0 –fail /dev/sdb1

server1:~# mdadm –manage /dev/md0 –fail /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0

Die Ausgabe von

cat /proc/mdstat

sieht nun wie folgt aus:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0] sdb1[2](F)
24418688 blocks [2/1] [U_]

md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]

unused devices: <none>

Dann entfernen wir /dev/sdb1 aus dem RAID array /dev/md0:

mdadm –manage /dev/md0 –remove /dev/sdb1

server1:~# mdadm –manage /dev/md0 –remove /dev/sdb1
mdadm: hot removed /dev/sdb1

cat /proc/mdstat

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]

md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]

unused devices: <none>

Nun verfahren wir genauso mit /dev/sdd1:

mdadm –manage /dev/md1 –fail /dev/sdd1

server1:~# mdadm –manage /dev/md1 –fail /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1

cat /proc/mdstat

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]

md1 : active raid1 sde1[0] sdd1[2](F)
24418688 blocks [2/1] [U_]

unused devices: <none>

mdadm –manage /dev/md1 –remove /dev/sdd1

server1:~# mdadm –manage /dev/md1 –remove /dev/sdd1
mdadm: hot removed /dev/sdd1

cat /proc/mdstat

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]

md1 : active raid1 sde1[0]
24418688 blocks [2/1] [U_]

unused devices: <none>

Normalerweise würdest Du das System jetzt runter fahren, die 25GB /dev/sdb und /dev/sdd entnehmen und sie mit 80GB Festplatten ersetzen. Wie ich bereits erwähnt habe, müssen wir dies nicht tun, da jede Festplatte bereits eine Kapazität von 80GB hat.

Als Nächstes müssen wir /dev/sdb und /dev/sdd formatieren. Wir müssen eine /dev/sdb1 bzw. /dev/sdd1 Partition erstellen, fd tippen (Linux RAID autodetect), Größe 25GB (die gleichen Einstellungen wie auf den alten Festplatten) und eine /dev/sdb2 bzw. /dev/sdd2 Partition erstellen, fd tippen, die den Rest der Festplatten ausschöpfen. Da /dev/sdb1 und /dev/sdd1 immer noch auf unseren Festplatten präsent sind, müssen wir in diesem speziellen Beispiel nur /dev/sdb2 und /dev/sdd2 erstellen.

fdisk /dev/sdb

server1:~# fdisk /dev/sdb

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)

Command (m for help): <– p

Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 3040 24418768+ fd Linux raid autodetect

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

Command (m for help): <– t
Partition number (1-4): <– 2
Hex code (type L to list codes): <– fd
Changed system type of partition 2 to fd (Linux raid autodetect)

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

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

Das könnte dich auch interessieren …