System ist ein Debian Wheezy. Ziel soll es sein das Raid für Root (md0), SWAP (md1) und Datenspeicher (md2) zu vergrößern. Das Dateisystem ist EXT4 bzw. XFS (md2).
Hardware
Seagate ST3000DM001 mit 3TB Größe.
Status Quo
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md2 : active raid6 sda4[0] sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1]
11700619264 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
md1 : active (auto-read-only) raid6 sda3[0] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1]
7804928 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
md0 : active raid6 sda2[0] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
11708416 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
unused devices: <none>
Detailierter Status MD0
mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Sep 18 20:56:39 2013 Raid Level : raid6 Array Size : 11708416 (11.17 GiB 11.99 GB) Used Dev Size : 2927104 (2.79 GiB 3.00 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Update Time : Sat Apr 26 23:33:19 2014 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : node01:0&nbsp; (local to host node01) UUID : 2bd8ce30:0a6ac7ea:d695d7f2:33a58e50 Events : 27Detail MD1
mdadm --detail /dev/md1 /dev/md1: Version : 1.2 Creation Time : Wed Sep 18 20:57:00 2013 Raid Level : raid6 Array Size : 7804928 (7.44 GiB 7.99 GB) Used Dev Size : 1951232 (1905.82 MiB 1998.06 MB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Update Time : Tue Dec 24 22:55:03 2013 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : node01:1&nbsp; (local to host node01) UUID : 966dfd87:f2d195b2:f9b1dd15:0a6073e9 Events : 22Detail MD2
mdadm --detail /dev/md2 /dev/md2: Version : 1.2 Creation Time : Wed Sep 18 20:57:17 2013 Raid Level : raid6 Array Size : 11700619264 (11158.58 GiB 11981.43 GB) Used Dev Size : 2925154816 (2789.65 GiB 2995.36 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Update Time : Sat Apr 26 23:13:25 2014 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : node01:2&nbsp; (local to host node01) UUID : 94f3531e:20b308d6:aa1db813:2d37c71d Events : 360Formatierung von SDA als Beispiel:
parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type ‚help‘ to view a list of commands.
(parted) print
Model: ATA ST3000DM001-9YN1 (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gptNumber Start End Size File system Name Flags
1 1049kB 99,6MB 98,6MB bios bios_grub
2 99,6MB 3100MB 3000MB root raid
3 3100MB 5099MB 2000MB swap raid
4 5099MB 3001GB 2995GB node01 raidMit parted die neuen Partitionen anlegen
parted /dev/sdg
GNU Parted 2.3
Using /dev/sdg
Welcome to GNU Parted! Type ‚help‘ to view a list of commands.
(parted) mklabel gpt
(parted) unit MB1. Partition für Grup Bios
(parted) mkpart primary 1049kB 99,6MB
(parted) set 1 bios_grub on
(parted) name 1 bios2. Partition für Root
(parted) mkpart primary 99,6MB 3100MB
(parted) set 2 raid on
(parted) name 2 root3. Partition für SWAP
(parted) mkpart primary 3100MB 5099MB
(parted) set 3 raid on
(parted) name 3 swap4. Partition für die Daten
(parted) mkpart primary 5099MB 3001GB
(parted) set 4 raid on
(parted) name 4 node01ODER mittels sgdisk
# sgdisk --replicate=/dev/sdg /dev/sda (kurz sgdisk -R/dev/target /dev/source
) The operation has completed successfully. Nun noch eine einmalige Datenträger-ID = GUID zuweisensgdisk -G /dev/sdg
The operation has completed successfully.Kontrolle mittels: sgdisk -p /dev/sdgDisk /dev/sdg: 5860533168 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 08AE7727-8FD8-410E-BA0A-26DB608F5056
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2925 sectors (1.4 MiB)Number Start (sector) End (sector) Size Code Name
1 2048 194559 94.0 MiB EF02 bios
2 194560 6053887 2.8 GiB FD00 root
3 6053888 9959423 1.9 GiB FD00 swap
4 9959424 5860532223 2.7 TiB FD00 node01Im übrigen muss für sgdisk das Paket gdisk, was für MBR Datenträger ist, installiert werden:
aptitude install gdisk (hier ist sgdisk enthalten)Kontrolle
Model: ATA ST3000DM001-1CH1 (scsi)
Disk /dev/sdg: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gptNumber Start End Size File system Name Flags
1 1049kB 99,6MB 98,6MB bios bios_grub
2 99,6MB 3100MB 3000MB root raid
3 3100MB 5099MB 2000MB swap raid
4 5099MB 3001GB 2995GB node01 raid(parted) quit
Information: You may need to update /etc/fstab.Hinzufügen der Partitionen zu den Raids
# mdadm –add /dev/md0 /dev/sdg2
mdadm: added /dev/sdg2
# mdadm –add /dev/md1 /dev/sdg3
mdadm: added /dev/sdg3
# mdadm –add /dev/md2 /dev/sdg4
mdadm: added /dev/sdg4Kontrolle ob die Partitionen hinzugefügt wurden
# mdadm –detail /dev/md0
6 8 98 – spare /dev/sdg2# mdadm –detail /dev/md1
6 8 99 – spare /dev/sdg3# mdadm –detail /dev/md2
6 8 100 – spare /dev/sdg4Erweitern der Raids
Während der Vergrößerung sollte das Raid nicht eingebunden sein, es geht manchmal nicht anders und dann klappt es auch mit der Onlinevergrößerung.
# mdadm -v –grow –raid-devices=7 /dev/md0 –backup-file=/mnt/usb/md0.bak
mdadm: Need to backup 10240K of critical section..
# mdadm -v –grow –raid-devices=7 /dev/md1 –backup-file=/mnt/usb/md0.bak
mdadm: Need to backup 10240K of critical section..
# mdadm -v –grow –raid-devices=7 /dev/md2 –backup-file=/mnt/usb/md0.bak
mdadm: Need to backup 10240K of critical section..Die Option -v dient der erweiterten Ausgabe, während raid-devices=7 die neue Anzahl der Laufwerke angibt. mit der zusätzlichen Option (muss nicht aber wird empfohlen) –backup-file werden kritische Bereiche (wenige MBs) auf ein anderes Medium gesichert. Sollte grow fehlschlagen (Absturz z.B.) kann die Erweiterung später fortgesetzt werden:
# mdadm /dev/md0 –continue –backup-file=/mnt/usb/md0.bak
Beschleunigen des Resync und Rebuilds
Es gibt diverse Möglichkeiten wie ein Resync oder Rebuild beschleunigt werden kann. Hier mal ein Beitrag dazu: MADM Raid Resync oder Rebuild beschleunigen
Kontrolle, Warten und Kontrolle
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md2 : active raid6 sdg4[6] sda4[0] sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1]
11700619264 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
resync=DELAYEDmd1 : active raid6 sdg3[6] sda3[0] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1]
7804928 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
resync=DELAYEDmd0 : active raid6 sdg2[6] sda2[0] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
11708416 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
[============>……..] reshape = 60.8% (1781760/2927104) finish=0.7min speed=26299K/secunused devices: <none>
Finish – 7 Disk hinzugefügt
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md2 : active raid6 sdg4[6] sda4[0] sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1]
14625774080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]md1 : active raid6 sdg3[6] sda3[0] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1]
9756160 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]md0 : active raid6 sdg2[6] sda2[0] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
14635520 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]Raid’s mit Dateisystem ext4 vergrößern
Aktuell können wir noch die alte Größe der Raids sehen „du -h“ . Daher müssen sie als nächstes vergrößert werden. Normalerweise sollte man sie aushängen:# umount /mnt/raid
Danach dann überprüfen:
fsck.ext4 -f /dev/md0
fsck.ext4 -f /dev/md1Da md0 und md1 jedoch System und Swap sind, kann ich sie nicht einfach ausshängen sodass sie Online vergrößert werden müssen:
# resize2fs /dev/md0
resize2fs 1.42.5 (29-Jul-2012)
Das Dateisystem auf /dev/md0 ist auf / eingehängt; Online-Grössenveränderung nötig
old_desc_blocks = 1, new_desc_blocks = 1
Eine Online-Grössenänderung von /dev/md0 auf 3658880 (4k) Blöcke wird durchgeführt.
Das Dateisystem auf /dev/md0 ist nun 3658880 Blöcke groß.# resize2fs /dev/md2
resize2fs 1.42.5 (29-Jul-2012)
Das Dateisystem auf /dev/md2 ist auf /media/node01 eingehängt; Online-Grössenveränderung nötig
old_desc_blocks = 698, new_desc_blocks = 872
Eine Online-Grössenänderung von /dev/md2 auf 3656443520 (4k) Blöcke wird durchgeführt.
Das Dateisystem auf /dev/md2 ist nun 3656443520 Blöcke groß.Raid MD2 mit Dateisystem XFS vergrößern
Da das Raid md2 zuletzt von ext4 auf xfs umgestellt wurde, muss dieses nun auch vergrößert werden. Dies ist mit nachfolgendem Befehl recht einfach, zuvor muss das Paket xfsprogs (enthält: xfs_admin, xfs_copy, xfs_freeze, xfs_info, xfs_mdrestore, xfs_ncheck, xfs_rtcp, xfs_bmap, xfs_db, xfs_fsr, xfs_io, xfs_metadump, xfs_quota, xfs_check, xfs_estimate, xfs_growfs, xfs_logprint, xfs_mkfile, xfs_repair) installiert und das Device jedoch wieder gemountet werden:
# mount /dev/md2 /media/node01
# xfs_growfs /media/node01/
Metadaten =/dev/md2 isize=256 agcount=32, agsize=45598848 blks
= sectsz=4096 attr=2
Daten = bsize=4096 Blöcke=1459159296, imaxpct=5
= sunit=128 swidth=256 blks
Benennung =Version 2 bsize=4096 ascii-ci=0
Protokoll =Intern bsize=4096 Blöcke=521728, Version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
Echtzeit =keine extsz=4096 Blöcke=0, rtextents=0
Datenblöcke von 1459159296 auf 2188738944 geändert.MDADM.CONF prüfen und ggf. die UUID’s erneuern
Die /etc/mdadm/mdadm.conf sollte eigentlich die selben UUID’s wie vorher anzeigen. Sollte dies nicht so sein, können die neuen Werte recht einfach gesetzt werden:
neu anlegen der Inahlte (alten werden gelöscht!)
# mdadm –examine –scan –config=mdadm.conf >> /etc/mdadm/mdadm.conf
oder mittels
# mdadm –detail –scan >> /etc/mdadm/mdadm.conf
Hier müssen dann aber die alte Zeile auskommentiere oder gelöscht werden.Falls beim Booten einen Fehler der metadate=00.90 angezeigt wird, muss dieser Wert in der mdadm.conf auf 0.90 abgeändert werden.
Grub in den Bootloader der Disk installieren
grub-install /dev/sdg Installation finished. No error reported.Ende
Das wars alle Punkte wurden kontrolliert, Einhängepunkte erneut hergestellt, das System kann neugestartet werden.
Info
Das Hinzufügen der 7. Disk hat mehr als 24h gedauert. Da es nachts abgeschlossen war waren es ca. 26-30h, ohne der Tipps für die Beschleunigung. Mit der Beschleunigung dauerte es ca. halb so lange, also 13-13h.
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.