On 2018/11/26 5:01, Mohanraj B wrote: > Hi, > > 1) How are you installing FIO – from the apt repos, or building from source? > I build fio from source, below is my dockerfile. > > FROM centos:latest > RUN yum update -y > RUN yum install git gcc gcc-c++ make -y > RUN git clone https://github.com/axboe/fio > RUN yum install zlib-devel libaio -y yum install libaio-devel ? Otherwise, libaio will not be compiled... > WORKDIR /fio > RUN ./configure > RUN make > RUN make install > VOLUME /tmp/fio-data > WORKDIR /tmp/fio-data > ENTRYPOINT ["fio"] > > > 2) What storage are you using in the container – a mounted volume or > are you trying to use the host OS/raw device? > After reading this question, I getting more doubts, with the above > docker file and few examples given below. > docker run fio:6.0 --name:job1 --size=50m --rw=read > docker run fio:6.0 --name:job1 --size=100m --rw=readwrite > > Am I really testing the host HDD or testing docker volume only. If I > am testing only the docker volume then its not my intended use case, I > need to test host machine HDD. > What is the best way to test host machine HDD ? > > 3) Is the container running as privileged if you are trying to access the host? > Only when I am trying to test a RAW device, I use --privileged=true > like below otherwise I dont supply --privileged=true . > docker run --privileged=true fio:6.0 --name=file --size=100m > --filename=/dev/sdc > > Thanks and Regards, > Mohan > > On 11/26/18, Beierl, Mark <Mark.Beierl@xxxxxxxx> wrote: >> Hello! >> >> I have a couple of questions, as I also build FIO in an Alpine container, >> but there I build it from source so that I have all required libraries. The >> source for the container is here [1] and it is part of the OPNFV StorPerf >> project, which is for wrapping FIO in a web front end and making it easier >> to test against various distributions or VMs [2]. >> >> My questions are: >> >> 1) How are you installing FIO – from the apt repos, or building from >> source? >> 2) What storage are you using in the container – a mounted volume or are you >> trying to use the host OS/raw device? >> 3) Is the container running as privileged if you are trying to access the >> host? >> >> [1] https://git.opnfv.org/storperf/tree/docker/storperf-master/Dockerfile >> [2] https://wiki.opnfv.org/display/storperf >> >> Regards, >> Mark >> >> Mark Beierl >> SW System Sr Principal Developer >> Dell EMC | Cloud & Communication Service Provider Solution >> Mark.Beierl@xxxxxxxx >> >> On 2018-11-25, 15:28, "fio-owner@xxxxxxxxxxxxxxx on behalf of Mohanraj B" >> <fio-owner@xxxxxxxxxxxxxxx on behalf of bmohanraj91@xxxxxxxxx> wrote: >> >> >> [EXTERNAL EMAIL] >> >> typo >> running in docker container. >> >> On 11/26/18, Mohanraj B <bmohanraj91@xxxxxxxxx> wrote: >> > Hello, >> > >> > I am trying to use libaio engine for a job file in my docker >> > container, but it throws fio: engine libaio not loadable error. >> > >> > fio --name=hello1 --size=1m --ioengine=libaio >> > >> > fio: engine libaio not loadable >> > fio: engine libaio not loadable >> > fio: failed to load engine >> > fio: file:ioengines.c:89, func=dlopen, error=libaio: cannot open >> > shared object file: No such file or directory >> > >> > Available IO engines: >> > [root@210df130f2c7 fio-data]# fio --enghelp >> > Available IO engines: >> > cpuio >> > mmap >> > sync >> > psync >> > vsync >> > pvsync >> > pvsync2 >> > null >> > net >> > netsplice >> > ftruncate >> > filecreate >> > posixaio >> > falloc >> > e4defrag >> > splice >> > mtd >> > sg >> > >> > >> > libaio is not listed above, but its installed in container. >> > >> > yum install libaio >> > Loaded plugins: fastestmirror, ovl >> > Loading mirror speeds from cached hostfile >> > * base: ftp.iitm.ac.in >> > * extras: ftp.iitm.ac.in >> > * updates: ftp.iitm.ac.in >> > Package libaio-0.3.109-13.el7.x86_64 already installed and latest >> version >> > Nothing to do >> > >> > Centos docker container : centos-release-7-5.1804.5.el7.centos.x86_64 >> > >> > >> > Re pvsync2 operation not permitted error >> > >> > fio --name=hello --size=10m --ioengine=pvsync2 >> > >> > hello: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) >> > 4096B-4096B, ioengine=pvsync2, iodepth=1 >> > fio-3.12-18-g92a1 >> > Starting 1 process >> > hello: Laying out IO file (1 file / 10MiB) >> > fio: io_u error on file hello.0.0: Operation not permitted: read >> > offset=0, buflen=4096 >> > fio: pid=59, err=1/file:io_u.c:1789, func=io_u error, error=Operation >> > not permitted >> > >> > hello: (groupid=0, jobs=1): err= 1 (file:io_u.c:1789, func=io_u >> error, >> > error=Operation not permitted): pid=59: Sun Nov 25 19:23:14 2018 >> > cpu : usr=0.00%, sys=0.00%, ctx=2, majf=0, minf=19 >> > IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >> >>=64=0.0% >> > submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >> >>=64=0.0% >> > complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >> >>=64=0.0% >> > issued rwts: total=1,0,0,0 short=0,0,0,0 dropped=0,0,0,0 >> > latency : target=0, window=0, percentile=100.00%, depth=1 >> > >> > Run status group 0 (all jobs): >> > >> > Disk stats (read/write): >> > sda: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00% >> > >> > I dont have access to machine running centos, so running in centos >> > docker container. Are these issues occuring because of running in >> fio? >> > >> > host machine OS is ubuntu 18.04. >> > >> > Thanks and Regards, >> > Mohan >> > >> >> >> > -- Damien Le Moal Western Digital Research