0

我已经部署了在 rook/cluster/examples/kubernetes/ceph/csi/rbd/ 目录下找到的 storageclass.yaml 并创建了一个 PVC 声明。我需要使用 ioengine=rbd 进行基准测试。在我的 fio 配置文件中,我需要设置以下内容:

clientname= 
pool=
rbdname=

我在 storageclass.yaml 中查看了合适的值。我最好的猜测如下。

clientname=admin
pool=replicapool
rbdname=rook-ceph-block

这看起来正确吗?

4

1 回答 1

0

当您使用rook- ceph 为您的 k8s 集群提供存储时,您不会直接通过 ceph 客户端(例如 librbd)使用 ceph 接口,但 rook 会为您运行这些客户端并使存储可用于您的容器,以便容器化的应用程序不必关心 ceph。

因此,例如,如果您的目标是在rook ceph 配置的块设备上运行fio基准测试(因此它将由ceph rbd支持),您需要确保已创建存储类,然后您可以:rook-ceph-block

通过PVC请求这样的原始块 PV,如下所示:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: block-storage
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi
  storageClassName: rook-ceph-block
  volumeMode: Block

然后在这样pvc/block-storage的容器规范中引用它(这是一个粗略的例子,但希望你明白):

    spec:
      containers:
      - command:
        - /usr/bin/fio
        - --blocksize=4k
        - --ioengine=libaio
        - --filename=/dev/target
        image: fio:latest
        name: fio
        volumeDevices:
        - devicePath: /dev/target
          name: block-storage
      restartPolicy: Never
      volumes:
      - name: block-storage
        persistentVolumeClaim:
          claimName: block-storage
于 2021-12-16T17:30:58.027 回答