テスト用に単一の仮想マシンに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/vdb
NVMEディスクの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
ご使用の環境に適したプール名に変更してください。)