このfioコマンドはどのくらいのストレージ容量を使用しますか?

このfioコマンドはどのくらいのストレージ容量を使用しますか?

私は仕事で実行されるfioワークロードを持っています。

Fioワークロード:

---

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: fio-target
spec:
  #storageClassName: ocs-storagecluster-cephfs
  storageClassName: ocs-storagecluster-ceph-rbd
  accessModes: ["ReadWriteOnce"]
  resources:
    requests:
      storage: 50Gi

---

kind: ConfigMap
apiVersion: v1
metadata:
  name: fio-config
data: 
  workload.fio: |
    [simple-write]
    readwrite=write
    buffered=1
    blocksize=4k
    ioengine=libaio
    directory=/target
    #size=10G
    fill_fs=1

---

apiVersion: batch/v1
kind: Job
metadata:
  name: fio
spec:
  template:
    metadata:
      name: fio
    spec:
      containers:
        - name: fio
          image: quay.io/johnstrunk/fs-performance:latest
          command:
            - "/usr/bin/fio"
            - "--output-format=json"
            - "/etc/fio/workload.fio"
          volumeMounts:
            - name: target
              mountPath: /target
            - name: fio-config-volume
              mountPath: /etc/fio
      restartPolicy: Always
      volumes:
        - name: target
          persistentVolumeClaim:
            claimName: fio-target
        - name: fio-config-volume
          configMap:
            name: fio-config

fioワークロードの出力:

fio: io_u error on file /target/simple-write.0.0: No space left on device: write offset=52638969856, buflen=4096
{
  "fio version" : "fio-3.7",
  "timestamp" : 1578468421,
  "timestamp_ms" : 1578468421512,
  "time" : "Wed Jan  8 07:27:01 2020",
  "jobs" : [
    {
      "jobname" : "simple-write",
      "groupid" : 0,
      "error" : 0,
      "eta" : 0,
      "elapsed" : 149,
      "job options" : {
        "rw" : "write",
        "buffered" : "1",
        "bs" : "4k",
        "ioengine" : "libaio",
        "directory" : "/target",
        "fill_device" : "1"
      },
      "read" : {
        "io_bytes" : 0,
        "io_kbytes" : 0,
        "bw_bytes" : 0,
        "bw" : 0,
        "iops" : 0.000000,
        "runtime" : 0,
        "total_ios" : 0,
        "short_ios" : 0,
        "drop_ios" : 0,
        "slat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000
        },
        "clat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000,
          "percentile" : {
            "1.000000" : 0,
            "5.000000" : 0,
            "10.000000" : 0,
            "20.000000" : 0,
            "30.000000" : 0,
            "40.000000" : 0,
            "50.000000" : 0,
            "60.000000" : 0,
            "70.000000" : 0,
            "80.000000" : 0,
            "90.000000" : 0,
            "95.000000" : 0,
            "99.000000" : 0,
            "99.500000" : 0,
            "99.900000" : 0,
            "99.950000" : 0,
            "99.990000" : 0
          }
        },
        "lat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000
        },
        "bw_min" : 0,
        "bw_max" : 0,
        "bw_agg" : 0.000000,
        "bw_mean" : 0.000000,
        "bw_dev" : 0.000000,
        "bw_samples" : 0,
        "iops_min" : 0,
        "iops_max" : 0,
        "iops_mean" : 0.000000,
        "iops_stddev" : 0.000000,
        "iops_samples" : 0
      },
      "write" : {
        "io_bytes" : 52638969856,
        "io_kbytes" : 51405244,
        "bw_bytes" : 355971772,
        "bw" : 347628,
        "iops" : 86907.177732,
        "runtime" : 147874,
        "total_ios" : 12851312,
        "short_ios" : 0,
        "drop_ios" : 0,
        "slat_ns" : {
          "min" : 2123,
          "max" : 1877670923,
          "mean" : 10619.164491,
          "stddev" : 1295004.136689
        },
        "clat_ns" : {
          "min" : 559,
          "max" : 503883,
          "mean" : 597.424963,
          "stddev" : 334.725902,
          "percentile" : {
            "1.000000" : 572,
            "5.000000" : 572,
            "10.000000" : 572,
            "20.000000" : 580,
            "30.000000" : 580,
            "40.000000" : 580,
            "50.000000" : 580,
            "60.000000" : 588,
            "70.000000" : 588,
            "80.000000" : 588,
            "90.000000" : 596,
            "95.000000" : 604,
            "99.000000" : 780,
            "99.500000" : 868,
            "99.900000" : 1976,
            "99.950000" : 7392,
            "99.990000" : 11968
          }
        },
        "lat_ns" : {
          "min" : 2750,
          "max" : 1877675884,
          "mean" : 11260.353627,
          "stddev" : 1295013.364993
        },
        "bw_min" : 8,
        "bw_max" : 1046704,
        "bw_agg" : 100.000000,
        "bw_mean" : 369150.841727,
        "bw_dev" : 237962.484144,
        "bw_samples" : 278,
        "iops_min" : 2,
        "iops_max" : 261676,
        "iops_mean" : 92287.737410,
        "iops_stddev" : 59490.597358,
        "iops_samples" : 278
      },
      "trim" : {
        "io_bytes" : 0,
        "io_kbytes" : 0,
        "bw_bytes" : 0,
        "bw" : 0,
        "iops" : 0.000000,
        "runtime" : 0,
        "total_ios" : 0,
        "short_ios" : 0,
        "drop_ios" : 0,
        "slat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000
        },
        "clat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000,
          "percentile" : {
            "1.000000" : 0,
            "5.000000" : 0,
            "10.000000" : 0,
            "20.000000" : 0,
            "30.000000" : 0,
            "40.000000" : 0,
            "50.000000" : 0,
            "60.000000" : 0,
            "70.000000" : 0,
            "80.000000" : 0,
            "90.000000" : 0,
            "95.000000" : 0,
            "99.000000" : 0,
            "99.500000" : 0,
            "99.900000" : 0,
            "99.950000" : 0,
            "99.990000" : 0
          }
        },
        "lat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000
        },
        "bw_min" : 0,
        "bw_max" : 0,
        "bw_agg" : 0.000000,
        "bw_mean" : 0.000000,
        "bw_dev" : 0.000000,
        "bw_samples" : 0,
        "iops_min" : 0,
        "iops_max" : 0,
        "iops_mean" : 0.000000,
        "iops_stddev" : 0.000000,
        "iops_samples" : 0
      },
      "sync" : {
        "lat_ns" : {
          "min" : 0,
          "max" : 0,
          "mean" : 0.000000,
          "stddev" : 0.000000,
          "percentile" : {
            "1.000000" : 0,
            "5.000000" : 0,
            "10.000000" : 0,
            "20.000000" : 0,
            "30.000000" : 0,
            "40.000000" : 0,
            "50.000000" : 0,
            "60.000000" : 0,
            "70.000000" : 0,
            "80.000000" : 0,
            "90.000000" : 0,
            "95.000000" : 0,
            "99.000000" : 0,
            "99.500000" : 0,
            "99.900000" : 0,
            "99.950000" : 0,
            "99.990000" : 0
          }
        },
        "total_ios" : 0
      },
      "usr_cpu" : 8.353114,
      "sys_cpu" : 27.498597,
      "ctx" : 9500,
      "majf" : 0,
      "minf" : 20,
      "iodepth_level" : {
        "1" : 100.000000,
        "2" : 0.000000,
        "4" : 0.000000,
        "8" : 0.000000,
        "16" : 0.000000,
        "32" : 0.000000,
        ">=64" : 0.000000
      },
      "latency_ns" : {
        "2" : 0.000000,
        "4" : 0.000000,
        "10" : 0.000000,
        "20" : 0.000000,
        "50" : 0.000000,
        "100" : 0.000000,
        "250" : 0.000000,
        "500" : 0.000000,
        "750" : 98.191811,
        "1000" : 1.513962
      },
      "latency_us" : {
        "2" : 0.197637,
        "4" : 0.019383,
        "10" : 0.060476,
        "20" : 0.012987,
        "50" : 0.010000,
        "100" : 0.010000,
        "250" : 0.010000,
        "500" : 0.000000,
        "750" : 0.010000,
        "1000" : 0.000000
      },
      "latency_ms" : {
        "2" : 0.000000,
        "4" : 0.000000,
        "10" : 0.000000,
        "20" : 0.000000,
        "50" : 0.000000,
        "100" : 0.000000,
        "250" : 0.000000,
        "500" : 0.000000,
        "750" : 0.000000,
        "1000" : 0.000000,
        "2000" : 0.000000,
        ">=2000" : 0.000000
      },
      "latency_depth" : 1,
      "latency_target" : 0,
      "latency_percentile" : 100.000000,
      "latency_window" : 0
    }
  ],
  "disk_util" : [
    {
      "name" : "rbd0",
      "read_ios" : 35,
      "write_ios" : 9010,
      "read_merges" : 0,
      "write_merges" : 9085,
      "read_ticks" : 20979,
      "write_ticks" : 23182697,
      "in_queue" : 23199138,
      "util" : 5.652565
    }
  ]
}

この作業にはなぜより多くのスペースが必要なのか理解できません。このタスクを実行した後、「kubelet_volume_stats_used_bytes」指標の下にリストされているfio PVCは表示されません。

また、奇妙なことは、私のクラスタで使用されているストレージ容量が0.4 GBから148 GBに急増したことです。

私が知っている限り、誰かが50GBしか使わないと説明できますか?

ベストアンサー1

まあ、fioの周りに一種のラッパーを使っているようです(なぜならfio自体はYAMLを作業ファイル形式として使用しません。)これはこの質問を喜んで見ることができる人の数を減らします...しかし、fio JSON出力を含めることで実際の作業パラメータを見ることができます:-)。主な内容は次のとおりです。

      "job options" : {
        "rw" : "write",
        "buffered" : "1",
        "bs" : "4k",
        "ioengine" : "libaio",
        "directory" : "/target",
        "fill_device" : "1"
      },

だからあなたは設定していますfill_device=1(これをエイリアスに設定した場合fill_fs=1)残りのスペースがなくなるまでファイルサイズを増やそうとし、そのファイルに対するI / Oの実行を開始します。ファイルがクリーンアップされない場合は、今後の実行で空き領域が見つからないことがわかります。

このfioコマンドはどのくらいのストレージ容量を使用しますか?

あなたができる限り!

この作業にはなぜより多くのスペースが必要なのか理解できません。

設定を通して言われたので、すべてのスペースが必要ですfill_fs=1

私が知っている限り、誰かが50GBしか使わないと説明できますか?

なぜこれに制限するのかわかりません。構成に50GBを参照する項目はありますか?

PS:libaioバッファリングされたI / Oを使用すると、ioengineは非同期化されません。...

おすすめ記事