In modernen Storage-Systemen wie Ceph hat man in der Regel verschiedene Arten und Möglichkeiten Caching zu realisieren. Bei einem einfachem Ceph Setup ist für gewöhnlich ein Schreib-Cache vorhanden der aus SSDs besteht. Verwendet man Ceph in Kombination mit QEMU/KVM so kann zusätzlich noch der sogenannte RBD-Cache aktiviert werden welcher bereits aus den Virtualisierungshosts Daten puffert.

Natürlich wird durch das Puffern der Daten das Lese- und Schreibmuster auf den endgültigem persistentem Datenträger (meist SAS- bzw. SATA-Platten) immer undurchsichtiger.

Mit Hilfe von blktrace kann man die Lese- und Schreibzugriffe auf dem Datenträger lokalisieren und seekwatcher erstellt einem ohne großen Aufwand auch noch ein Video davon.

# yum/apt-get install blktrace seekwatcher mencoder 
# blktrace -d /dev/sda -o find
# seekwatcher -t find.blktrace.* -m -o find.mpg

Der erste Befehl schreibt alle aktuellen Aktivitäten von sda nach find.blktrace.x Dateien. seekwatcher erstellt anschließend ein Video.

Das erste Video zeigt ein `vagrant up` einer icinga2-Box. Die Box wird langsam heruntergeladen, das Image nochmals kopiert und dann geht es los mit der Installation. Das zweite Video zeigt ein `find /`. Jedes Quadrat zeigt einen Sector an und wird farbig sobald IO auf diesem stattfindet. Dieser blendet sich anschließend langsam wieder aus. Ich finde in diesen beiden Fällen kann man die IO-Muster schön interpretieren.

Für einen besseren Vergleich kann man sich die beiden Fälle auch in einer Grafik anzeigen lassen. Hat man noch Datenträger die sich drehen ist hier unter anderem der Seek Count interessant, aber seht selbst.

IO-Vergleich find / vs vagrant up

Achim Ledermueller

Autor: Achim Ledermueller

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist unter anderem für die Automatisierung des RZ-Betriebs und der Evaluierung und Einführung neuer Technologien zuständig.