ceph client rbd cahce配置

修改ceph.conf文件

添加如下内容:

1
2
3
4
5
6
7
8
9
vim /etc/ceph/ceph.conf
...
[client]
rbd cache = true
rbd cache size = 268435456
rbd cache max dirty = 134217728
rbd cache max dirty age = 5
rbd cache writethrough until flush = true
admin socket = /var/run/ceph/ceph-client/$cluster-$type.$id.$pid.asok

修改libvirt-qemu文件

添加如下内容:

1
2
3
4
5
6
7
vim /etc/apparmor.d/abstractions/libvirt-qemu
...
# for rbd
/etc/ceph/ceph.conf r,
capability mknod,
/var/log/ceph/* rw,
/{,var/}run/ceph/** rw,

重启相关服务

重启libvirt-binnova-compute服务

1
2
service libvirt-bin restart
service nova-compute restart

重启nova instances

重启Host上的所有nova instances

1
nova reboot [--hard] [--poll] <server> [<server> ...]

验证

查看asok文件是否存在,并执行perf dump和config show命令

在 /var/run/ceph/ceph-client/ 目录下会出现类似如下的文件:
ceph-client.volumes.824997.asok

1
2
ceph --admin-daemon /var/run/ceph/ceph-client.volumes.824997.asok perf dump
ceph --admin-daemon /var/run/ceph/ceph-client.volumes.824997.asok config show

[注]: /var/run/ceph的目录是root权限,需要在其下创建ceph-client目录,然后执行 chmod 777 ceph-client,使得libvirt-qemu用户有创建asok的权限。

支持原创