Fio kompilieren

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

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


Foto Georg Schönberger.jpg

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.


Das könnte Sie auch interessieren

Balkendiagramme aus Fio Logs
Fio
Fio Grundlagen