Disk Konfiguration
RAID Setup
Mein RAID Setup mit unterschiedlichen Disks.
Anforderungen:
- Eine Disk kann ausfallen, ohne Datenverlust (bis auf den "Verschnitt" in vg_single -> Backup)
- Eine Volume Group vg_single nimmt die Partitionen auf, die in kein RAID mehr passen ("Verschnitt")
- Alle Daten auf mindestens drei unterschiedlichen Disks, soweit möglich
- Alle Daten (Dokumente und VM's) sind verschlüsselt, oder
- im RAID5 (Medien: Musik und Filme) über mindestens drei Disks verteilt (cryptdisk möglich, aber nicht notwendig)
- Alle aktiven VM's liegen auf der einzigen verschlüsselten SSD
- Alle VM's haben ein Snapshot auf einer verschlüsselten Disk
- Der XEN-Host und alle VM'S können im Notfall von allen Disks (md0 oder md1) gebootet werden (auf einem beliebigen anderem Rechner, sofern ein USB-Stick mit dem dem LUKS-Key verfügbar ist)
Mein Bootscript liest den LUKS-Schlüssel zum Booten meines XEN-Servers auf mehreren Devices (USB-Sticks oder Festplatten).
Austausch der 2 TB Disk durch eine neue 8 TB Disk
Wo wird die 2TB Disk verwendet?
Welche Disk und welche RAID Verbünde sind betroffen?
# fdisk -l /dev/sdb Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors Disk model: WDC WD20EFRX-68A Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 1FB146D4-AEFD-1C4B-90AF-315105C08C34 Device Start End Sectors Size Type /dev/sdb1 2048 4095 2048 1M BIOS boot /dev/sdb2 4096 514047 509952 249M Linux RAID /dev/sdb3 514048 1049090047 1048576000 500G Linux RAID /dev/sdb4 1049090048 2097666047 1048576000 500G Linux RAID /dev/sdb5 2097666048 3907029134 1809363087 862,8G Linux RAID # cat /proc/mdstat | grep sdb | sort md0 : active raid1 sda2[2] sdb2[1] sdf2[0] md3 : active raid1 sde3[2](S) sda3[0] sdb3[1] md4 : active raid5 sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1] md6 : active raid5 sde6[3] sda6[0] sdb5[1]
Disk aus RAID Verbund lösen
RAID 1: md0
### md0 : active raid1 sda2[2] sdb2[1] sdf2[0] ### 254912 blocks [3/3] [UUU] # mdadm /dev/md0 --fail /dev/sdb2 --remove /dev/sdb2 mdadm: set /dev/sdb2 faulty in /dev/md0 mdadm: hot removed /dev/sdb2 from /dev/md0 # mdadm --grow /dev/md0 --raid-devices=2 raid_disks for /dev/md0 set to 2 ### md0 : active raid1 sda2[1] sdf2[0] ### 254912 blocks [2/2] [UU] ### console (dmesg) [436568.811061] md/raid1:md0: Disk failure on sdb2, disabling device. md/raid1:md0: Operation continuing on 2 devices.
RAID 1: md1
### md3 : active raid1 sde3[2](S) sda3[0] sdb3[1] ### 524287936 blocks [2/2] [UU] ### bitmap: 0/4 pages [0KB], 65536KB chunk # mdadm /dev/md3 --fail /dev/sdb3 --remove /dev/sdb3 mdadm: set /dev/sdb3 faulty in /dev/md3 mdadm: hot removed /dev/sdb3 from /dev/md3 ### md3 : active raid1 sde3[2] sda3[0] ### 524287936 blocks [2/1] [U_] ### [>....................] recovery = 0.2% (1372800/524287936) finish=50.7min speed=171600K/sec ### bitmap: 0/4 pages [0KB], 65536KB chunk ### console (dmesg) [437831.642672] md/raid1:md3: Disk failure on sdb3, disabling device. md/raid1:md3: Operation continuing on 1 devices. [437831.681725] md: recovery of RAID array md3 [440886.670057] md: md3: recovery done.
RAID 5:
Zuerst ein Spare Device hinzufügen, bevor der RAID 5 Verbund aufgelöst wird, anschliessend die Disk entfernen.
VolumeGroup vg_single hat 1x 500GB Platz um den Spare für md4 aufzunehmen.
# vgs VG #PV #LV #SN Attr VSize VFree ssd 1 17 0 wz--n- 232,62g 12,62g vg_disk 4 2 0 wz--n- 9,38t <291,20g vg_single 2 5 0 wz--n- 3,77t 1,03t vm 1 8 0 wz--n- 499,98g 46,98g # pvs PV VG Fmt Attr PSize PFree /dev/mapper/md2_crypt vg_disk lvm2 a-- 499,98g <291,20g /dev/mapper/md3_crypt vm lvm2 a-- 499,98g 46,98g /dev/mapper/sda7_crypt vg_single lvm2 a-- 68,71g 68,71g /dev/mapper/sde7_crypt vg_single lvm2 a-- <3,71t <986,73g /dev/mapper/sdf3_crypt ssd lvm2 a-- 232,62g 12,62g /dev/md4 vg_disk lvm2 a-- 1,95t 0 /dev/md5 vg_disk lvm2 a-- <5,26t 0 /dev/md6 vg_disk lvm2 a-- 1,68t 0 # lvcreate -L 500G vg_single -n spare_md4 # fdisk -l /dev/vg_single/spare_md4 Disk /dev/vg_single/spare_md4: 500 GiB, 536870912000 bytes, 1048576000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes # fdisk -l /dev/vg_single/spare_md4 ### 1048576000 sectors # fdisk -l /dev/sdb4 ### 1048576000 sectors
RAID 5: md4
Zuerst ein Spare Device hinzufügen, bevor der RAID 5 Verbund aufgelöst wird, anschliessend die Disk entfernen.
### md4 : active raid5 sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1] ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU] ### bitmap: 0/4 pages [0KB], 65536KB chunk # mdadm /dev/md4 --add /dev/vg_single/spare_md4 mdadm: added /dev/vg_single/spare_md4 ### md4 : active raid5 dm-37[6](S) sde4[5] sdd4[3] sdc4[2] sda4[0] sdb4[1] ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU] ### bitmap: 0/4 pages [0KB], 65536KB chunk # mdadm /dev/md4 --fail /dev/sdb4 --remove /dev/sdb4 ### md4 : active raid5 dm-37[6] sde4[5] sdd4[3] sdc4[2] sda4[0] ### 2096623616 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [U_UUU] ### [>....................] recovery = 0.0% (157824/524155904) finish=331.9min speed=26304K/sec ### bitmap: 0/4 pages [0KB], 65536KB chunk
- Aufgezählter Listeneintrag
RAID 5: md6
Braucht es eigentlich nicht: Zuerst ein Spare Device hinzufügen, bevor der RAID 5 Verbund aufgelöst wird, anschliessend die Disk entfernen.
Das Spare in den RAID hängen, bevor die neue Disk reinkommt bringt hier nix, denn sobald ich die alte Disk aus dem RAID5 nehme, fängt der SPARE an zu syncen. D.h. bis der Sync fertig ist, ist das RAID online, und bekommt ein Problem wenn eine weitere Disk ausfällt. Also kann ich auch gleich den RAID auf die neue Disk syncen - der RAID Verbund ist damit genauso lange ohne Redundanz wie mit einem Spare.
## machen wir nicht, aber wenn's nötig gewesen wäre ein LV zu verkleinern (2T -> 1.5T): ## lvresize --resizefs --size 1.5T /dev/vg_single/media3 ### md6 : active raid5 sde6[3] sda6[0] sdb5[1] ### 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] ### bitmap: 0/7 pages [0KB], 65536KB chunk # mdadm /dev/md6 --fail /dev/sdb5 --remove /dev/sdb5 ### md6 : active raid5 sde6[3] sda6[0] ### 1809098752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U] ### bitmap: 0/7 pages [0KB], 65536KB chunk
Neue Disk in RAID Verbund geben
Alte 2TB (ziehe den richtigen SATA-Stecker) ausbauen, neue 8TB Disk einhängen und entsprechend partitionieren (analog der vorhandenen 8TB Disk).
## Disk Partition Layout kopieren und mit neuer UUID versehen # sgdisk /dev/sde -R /dev/sdb # sgdisk -G /dev/sdb