Ich hatte ja bereits einen Artikel darüber geschrieben, wie genau ich meinen Storage aufgebaut habe. Nun möchte ich zwei weitere Festplatten hinzufügen. Natürlich auch wieder mit Artikel dazu ;)

Wer nicht mehr weiß, wie das alles mit dem Storage war, sollte sich vielleicht nochmal den Artikel durchlesen.

Los geht's

Als erstes check' ich mal, welche Platten aktuell im System vorhanden sind.

ls /dev/

Alles, was da als sdX steht, ist eine Festplatte und wenn eine Zahl dahinter steht, dann handelt es sich um eine Partition auf der entsprechenden Platte.

So, dann gleich mal eine neue Platte angesteckt und gewartet, bis das System sie gefunden hat. Dann nochmal nachschauen welche nun im System sind und schlussfolgern, dass die neue Platte wohl die sein wird, die auch hinzugekommen ist: sdi

Also mal fix den disk identifier rausfinden.

fdisk -l /dev/sdi

Eben diesen hab' ich mir sicherheitshalber in eine Datei mit der Zuordnung zu den verschiedenen RAIDs geschrieben.

Ok, weiter im Text: Festplatte partitionieren und als RAID markieren.

sudo parted /dev/sdi mklabel gpt
sudo parted -a optimal -- /dev/sdi mkpart primary 0% 100%
sudo parted /dev/sdi set 1 raid on

Nachdem ich das dann auch noch für die zweite Platte gemacht hatte, ging's an's RAID.

sudo mdadm --create /dev/md12 --auto md --level=1 --raid-devices=2 /dev/sdi1 /dev/sdj1

Und dann noch die Konfiguration updaten

su -c "/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf"
update-initramfs -u -k all 

Weiter zum LVM

Sobald das RAID fertig gebaut war, konnte ich mich an den LVM wagen. Als erstes wieder ein PV anlegen.

pvcreate /dev/md12

Dann das erstelle PV in die VG einbinden

vgextend storage-vg /dev/md12 

und anschließend das LV vergrößern

lvextend -l +100%FREE /dev/storage-vg/storage 

Perfekt!

LUKS ist das Problem

So, dann kam die Verschlüsselung dran, die übrigens der Grund ist, wieso das alles nicht komplett on-the-fly funktioniert, denn diese will nur einen ausgehängten Container vergrößern. Also hab' ich mich mal daran gehalten.

umount /media/storage
cryptsetup luksClose storage

Danach musste ich den Container wieder einhängen, das Filesystem allerdings nicht mounten. Daher hab' ich ein freies Loop-Device gesucht

losetup -f

und den Container an das Device gebunden.

losetup /dev/loop0 /dev/storage-vg/storage
cryptsetup luksOpen /dev/loop0 storage

Und schon konnte ich den Container vergrößern.

cryptsetup resize storage

Anschließend wieder vom Loop-Device trennen

cryptsetup luksClose storage
losetup -d /dev/loop0

und normal einbinden.

cryptsetup luksOpen /dev/storage-vg/storage storage    
mount /dev/mapper/storage /media/storage

Weiter zum Filesystem

Dann hab' ich fix gecheckt, ob ich auch wirklich XFS als Filesystem benutzt hatte.
df -Th

Anschließend konnte ich dann das XFS-Filesystem vergrößern.

xfs_growfs /media/storage

Dann hab' ich gleich mal nachgeschaut, ob die Partition nun auch wirklich größer ist.

df -Th

Und nachdem alles gut aussah', hab' ich sicherheitshalber mal neu gebootet, um zu schauen, ob auch alles normal hochläuft.

reboot

Perfekt! Jetzt freu' ich mich, dass alles geklappt hat und mein Server freut sich, dass er endlich wieder mehr Speicher hat!

In diesem Sinne, bis dann!