The sufficient OSD capabilities to enable write access on cephfs
Hi guys, I have a Ceph Cluster up and running and cephfs created (all done by ceph-ansible). I following the guide to mount the volume on CentOS7 via FUSE. When I mount the volume as the default admin (client.admin), everything works fine just like normal file system. Then I created a new client just for FUSE mount purpose, follow this guide: https://docs.ceph.com/docs/master/cephfs/mount-prerequisites/ The ceph fs authorize command created a new client with the following caps: [client.wp_test] key = AQDAEc9ebLXjGhAAxEGqTuTvCOoN30g4UzF5jw== caps mds = "allow rw" caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs" It can mount the volume, and I can touch a file. But when I tried write data, such as editing a new text or cat a file, I got some read-only error or [root@mon-6-26 ceph_root]# cat test.txt cat: test.txt: Operation not permitted if I modified the OSD cap to "allow *", the it allows write again. Can anyone suggest what have been done incorrectly? We are using 14.2.9 (581f22da52345dba46ee232b73b990f06029a2a0) nautilus (stable) Cheers, Derrick
I did some brute-force experiments and found the following setting works for me: caps osd = "allow rw pool=cephfs_data" I am not sure why ceph fs authorize command set in that way and for what purpose... Cheers On Fri, May 29, 2020 at 12:03 PM Derrick Lin <klin938@gmail.com> wrote:
Hi guys,
I have a Ceph Cluster up and running and cephfs created (all done by ceph-ansible).
I following the guide to mount the volume on CentOS7 via FUSE.
When I mount the volume as the default admin (client.admin), everything works fine just like normal file system.
Then I created a new client just for FUSE mount purpose, follow this guide: https://docs.ceph.com/docs/master/cephfs/mount-prerequisites/
The ceph fs authorize command created a new client with the following caps:
[client.wp_test] key = AQDAEc9ebLXjGhAAxEGqTuTvCOoN30g4UzF5jw== caps mds = "allow rw" caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs"
It can mount the volume, and I can touch a file. But when I tried write data, such as editing a new text or cat a file, I got some read-only error or
[root@mon-6-26 ceph_root]# cat test.txt cat: test.txt: Operation not permitted
if I modified the OSD cap to "allow *", the it allows write again.
Can anyone suggest what have been done incorrectly?
We are using
14.2.9 (581f22da52345dba46ee232b73b990f06029a2a0) nautilus (stable)
Cheers, Derrick
There are two bugs that may cause the tag to be missing from the pools, you can somehow manually add these tags with "ceph osd pool application ..."; I think I posted these commands some time ago on tracker.ceph.com Paul -- Paul Emmerich Looking for help with your Ceph cluster? Contact us at https://croit.io croit GmbH Freseniusstr. 31h 81247 München www.croit.io Tel: +49 89 1896585 90 On Fri, May 29, 2020 at 7:21 AM Derrick Lin <klin938@gmail.com> wrote:
I did some brute-force experiments and found the following setting works for me:
caps osd = "allow rw pool=cephfs_data"
I am not sure why ceph fs authorize command set in that way and for what purpose...
Cheers
On Fri, May 29, 2020 at 12:03 PM Derrick Lin <klin938@gmail.com> wrote:
Hi guys,
I have a Ceph Cluster up and running and cephfs created (all done by ceph-ansible).
I following the guide to mount the volume on CentOS7 via FUSE.
When I mount the volume as the default admin (client.admin), everything works fine just like normal file system.
Then I created a new client just for FUSE mount purpose, follow this guide: https://docs.ceph.com/docs/master/cephfs/mount-prerequisites/
The ceph fs authorize command created a new client with the following caps:
[client.wp_test] key = AQDAEc9ebLXjGhAAxEGqTuTvCOoN30g4UzF5jw== caps mds = "allow rw" caps mon = "allow r" caps osd = "allow rw tag cephfs data=cephfs"
It can mount the volume, and I can touch a file. But when I tried write data, such as editing a new text or cat a file, I got some read-only error or
[root@mon-6-26 ceph_root]# cat test.txt cat: test.txt: Operation not permitted
if I modified the OSD cap to "allow *", the it allows write again.
Can anyone suggest what have been done incorrectly?
We are using
14.2.9 (581f22da52345dba46ee232b73b990f06029a2a0) nautilus (stable)
Cheers, Derrick
_______________________________________________ ceph-users mailing list -- ceph-users@ceph.io To unsubscribe send an email to ceph-users-leave@ceph.io
participants (2)
-
Derrick Lin
-
Paul Emmerich