Fio kompilieren
Fio ist ein Werkzeug zum Messen von IO-Performance. Dieser Artikel zeigt, wie sie Fio mit dem zugehörigen Quellcode selbst kompilieren können. Es kann dazu auch der Source Code aus dem Git-Repository verwendet werden.
Source Code beziehen
Per Download
Der Fio-Quellcode kann von der Fio-Github-Webseite (github.com) herunter geladen werden:
$ wget https://github.com/axboe/fio/archive/fio-2.14.tar.gz
Im ersten Schritt wird das tar.gz entpackt:
$ tar -xzvf fio-2.14.tar.gz $ ls fio-2.14.tar.gz fio-fio-2.14
Per Git-Repo
Die aktuellen Commits und Neuerung können immer auf der Webseite http://git.kernel.dk/?p=fio.git;a=summary begutachtet werden. Weitere Informationen zu Git finden sie auch in der Kategorie Git. Zum klonen des Fio-Repos verwenden Sie folgenden Befehl:
$ git clone https://github.com/axboe/fio.git $ ls fio
Aus dem Git-Repo können regelmäßig neue Updates einfach geholt werden:
$ cd fio $ git pull [...]
Danach kann Fio neu kompiliert werden, um die aktuellste Version zu installieren.
Kompilieren
Zum Kompilieren wird eine Build-Umgebung (make etc.) benötigt. Außerdem muss für die asynchronen IO-Zugriffe die Bibliothek "libaio" installiert sein.
$ sudo apt-get install libaio1 libaio-dev [...] $ ls arch client.c diskutil.c fifo.h fio.c flow.c helpers.h iolog.c log.h mutex.h profile.c REPORTING-BUGS stat.c trim.h backend.c compiler diskutil.h file.h fio_generate_plots flow.h HOWTO iolog.h Makefile options.c profile.h server.c stat.h verify.c blktrace_api.h COPYING engines filehash.c fio_generate_plots.1 gettime.c init.c io_u.c memalign.c options.h profiles server.h t verify.h blktrace.c crc eta.c filehash.h fio.h gettime.h io_ddir.h lib memalign.h os rbtree.c SERVER-TODO time.c cgroup.c debug.c examples filesetup.c FIO-VERSION-GEN hash.h ioengine.h libfio.c memory.c parse.c rbtree.h smalloc.c time.h cgroup.h debug.h fifo.c fio.1 flist.h helpers.c ioengines.c log.c mutex.c parse.h README smalloc.h trim.c $ make FIO_VERSION = fio-2.0.9-3-ga7321 DEP .depend [...] CC profiles/tiobench.o CC fio
Installieren
Die kompilierten Binär-Dateien werden abschließend in die zugehörigen Verzeichnisse kopiert:
$ sudo make install install -m 755 -d /usr/local/bin install fio fio_generate_plots /usr/local/bin install -m 755 -d /usr/local/man/man1 install -m 644 fio.1 /usr/local/man/man1 install -m 644 fio_generate_plots.1 /usr/local/man/man1 $ fio --version fio-2.0.9-3-ga7321
Autor: Georg Schönberger Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.
|