Ceph 命令大全。
监控:
ceph osd status #用于查看每个osd的读写带宽和读写IOPS
ceph osd pool ls detail #查看每个池的PGS,PG以及自动缩容扩容的开关。
ceph df #查看所有磁盘和池的使用空间
rbd du -p volumes #查看所有磁盘实际占用空间
ceph osd status 查看每个OSD的写入数据速率和IOPS等
压测:
查看压测时集群IO参数一秒钟执行一次watch:
watch -n 1 ceph -s
写入性能测试,基准测试10秒,--no-cleanup:指示基准测试在测试结束后不清理(删除)写入到池中的对象:
rados bench -p vms 10 write --no-cleanup
4k写入性能测试:
rados bench -p vms 10 write -t 4 -b 4096
10 测试10秒
4 4个线程写入,建议1000个线程左右
4096 每个对象大小
顺序读取测试:
rados bench -p vms 10 seq
随机读取数据测试:
rados bench -p vms 10 rand
rados load-gen 是CEPH提供的另一个测试工具, 像它的命名一样,rados load-gen 工具能用来在Ceph cluster上生成负载和用于模拟高负载场景:
rados -p vms load-gen --num-objects 200 --min-object-size 4M --max-object-size 8M --max-ops 10 --read-percent 0 --min-op-len 1M --max-op-len 4M --target-throughput 2G --run-length 20
rados -p <pool-name> load-gen
--num-objects: 生成测试用的对象数,默认 200
--min-object-size: 测试对象的最小size,默认 1KB,单位byte
--max-object-size: 测试对象的最大size,默认 5GB,单位byte
--min-ops: 最小IO操作数,相当于iodepth
--max-ops: 最大IO操作数,相当于iodepth
--min-op-len: 压测IO的最小operation size,默认 1KB,单位byte
--max-op-len: 压测IO的最大operation size,默认 2MB,单位byte
--max-backlog: 一次提交IO的吞吐量上限,默认10MB/s (单位MB)
--percent: 读操作所占的百分百
--target-throughput: 目标吞吐量,默认 5MB/s (单位MB)
--run-length: 运行的时间,默认60s,单位秒
查看池中所有对象:
rados -p vms ls
删除测试的对象:
rados -p vms rm `rados -p vms ls | grep benchmark`
数据过多时删除对象:
rados -p vms ls | grep benchmark | xargs -d '\n' rados -p vms rm