テスト環境でcephfsボリュームの作成が非常に遅い

テスト環境でcephfsボリュームの作成が非常に遅い

テスト用に単一の仮想マシンにCephをインストールしました(ceph自体をテストするのではなく、実行するツールのcephエンドポイントが必要です)。インストールはとても簡単でしたが、ceph fs volume create tank私が作成しようとしていたcephfsファイルシステム()を使用できるようになるまでに長い時間がかかりました(ここで、「ever」は「今まで少なくとも20分」を意味します)。実行中のceph mds statusプログラム:

tank:1 {0=tank.ceph.znlhma=up:creating} 1 up:standby

実行中のceph statusプログラム:

  cluster:
    id:     0350c95c-e59a-11eb-be4b-52540085de8c
    health: HEALTH_WARN
            1 MDSs report slow metadata IOs
            Reduced data availability: 64 pgs inactive
            Degraded data redundancy: 64 pgs undersized
            OSD count 1 < osd_pool_default_size 3

  services:
    mon: 1 daemons, quorum ceph.storage (age 50m)
    mgr: ceph.storage.pealqx(active, since 50m)
    mds: 1/1 daemons up, 1 standby
    osd: 1 osds: 1 up (since 50m), 1 in (since 58m)

  data:
    volumes: 1/1 healthy
    pools:   2 pools, 64 pgs
    objects: 0 objects, 0 B
    usage:   6.1 MiB used, 100 GiB / 100 GiB avail
    pgs:     100.000% pgs not active
             64 undersized+peered

これは、症状があると仮定する「遅いメタデータIOを報告する1 MDS」を除いて、ほとんど予想される現象です。/dev/vdbNVMEディスクのbtrfsファイルシステムでサポートされている100 GBの仮想ディスク()にOSDがあります。

生成速度を上げるためにできることはありますか? Cephは特にパフォーマンスが良い必要はありませんが、このテスト環境をより短時間で稼働できるようにしたいです。

答え1

答えは、基本的にcephが3つ未満のレプリカを持つOSDをアクティブにしないことです。回避策は、そのmin_sizeプールを次のように設定することです。

ceph osd pool set cephfs.tank.meta min_size 1
ceph osd pool set cephfs.tank.data min_size 1

cephfs.tank.metaおよびcephfs.tank.dataご使用の環境に適したプール名に変更してください。)

関連情報