Cloud Instanzen optimieren

Viele Administratoren haben in VMs jahrelang ext3 als Dateisystem eingesetzt. Bei lokalem Storage ist dies durchaus sinnvoll, da das Dateisystem robuster gegen Timeouts ist als ext4. Wie im Post zur Umstellung auf virtio-scsi erklärt will man spätestens bei verteiltem Storage aber ext4 nutzen, primär wegen der discard Mountoption. Wie konvertiert man das ganze nun?

Zuerst sollte die VM in ein Live Linux gebootet werden, danach kann man für jede Partition die ext4 Features hinzufügen:

for i in /dev/sda1 /dev/sda2 /dev/sdb1; do
tune2fs -O extent,uninit_bg,dir_index $i;
done

Um das nach fehlende Journal zu erzeugen muss ein Filesystemcheck erzwungen werden:

for i in /dev/sda1 /dev/sda2 /dev/sdb1; do
fsck -fvyC0 $i;
done

Nun ist es ein ext4 Dateisystem, alte Dateien liegen aber immernoch als ext3 vor, um dies zu ändern kann man sie defragmentieren:

for i in /dev/sda1 /dev/sda2 /dev/sdb1; do
mount -t ext4 $i /mnt;
e4defrag -v $i;
umount /mnt;
done

Zum Schluss muss man noch die Mountoptionen in der fstab anpassen, so könnte es aktuell aussehen:

UUID=643b6731-c354-4e6b-bd69-1eae601e638f /boot ext3 defaults 0 2

Daraus sollte werden:

UUID=643b6731-c354-4e6b-bd69-1eae601e638f /boot ext4 defaults,discard,noatime,barrier=0 0 2
  • UUID – Sollte genutzt werden anstatt einem absoulten Pfad
  • /boot – Hier wird es gemountet
  • ext4 – Das Dateisystem
  • default – Die Standardoptionen für ext4
  • discard – Gelöschte Blöcke automatisch freigeben
  • noatime – Keine lesenden Dateizugriffe speichern
  • barrier – Barriers sind auf gesichertem Cache unnötig
This entry was posted in General, Linux, Virtualization. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.