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.