Wie in einem früheren Blog Eintrag beschrieben muss man nach dem Vergrössern eines Raid’s noch die Partition vergrößern.
Bei ext3 Partitionen sollte das mit parted ohne Probleme klappen, bei ext4 Partitionen bekommt man eine Fehlermeldung:
Fehler: Dateisystem hat eine inkompatible Funktion eingeschaltet. Kompatible Funktionen sind has_journal, dir_index, filetype, sparse_super und large_file. Verwenden Sie tune2fs oder debugfs, um die Funktion zu entfernen.
Mit tune2fs die nicht kompatiblen Funktionen wieder zu entfernen klappt leider nicht.
Also bleibt nur die Möglichkeit die Partition zu löschen und mit neuer Größe anzulegen. Ein wenig Bauchweh bereitet mir der Gedanke schon, aber hilft ja nichts – da muss man durch…
Also parted starten und die Partition löschen (der freie Bereich muss direkt hinter der zu vergrößernden Partition liegen, ansonsten klappt es nicht!).
Meine alte Partition sah wie folgt aus:
9 142GB 7000GB 6858GB srv
In parted entfernt „rm 9“ die Parition.
Legt man jetzt einfach mit mkpart eine neue Partition mit Beginn 142G an kann es passieren dass die Partition anders ausgerichtet wird und das Filesystem nicht mehr lesbar ist (keine Superblöcke gefunden werden). Daher habe ich den Anfang der Partition mit 141G angegeben, parted erkennt dass dort bereits eine Partition liegt und bietet automatisch den nächsten möglichen Anfangspunkt an.
mkpart srv ext4 141G 100%
legt also die Partition an, die Nachfrage ob der alternative Startort akzeptabel ist annehmen und auch gleich die Info dass die Partition nicht optimal ausgerichtet ist akzeptieren.
Die Partition wäre dann hiermit wieder korrekt angelegt, anschließend braucht es einen Filesystemcheck:
fsck.ext4 -f /dev/sda9
Läuft dieser ohne Probleme durch kann man anschließend das Filesystem der Partitionsgröße anpassen:
resize2fs /dev/sda9
Und nach ein wenig Wartezeit kann man das Filesystem wie gewohnt wieder mounten und nutzen.
Für den fall dass sich die Partition für diese Prozedur nicht aushängen lässt, einfach mit einer Rettungs-CD starten und dort die angegebenen Schritte durchführen.