Hi
I`m forcing firectory split in ceph cluster using command below, which I
run by root.
for osd_num in `df -h | grep osd | awk -F \- '{print $2}'`; do (echo
"start $osd_num"; stop ceph-osd id=${osd_num}; sleep 10; ceph-osd
--flush-journal -i=${osd_num}; sleep 10; ceph-objectstore-tool
--data-path /var/lib/ceph/osd/ceph-${osd_num} --journal-path
/var/lib/ceph/osd/ceph-${osd_num}/journal
--log-file=/var/log/ceph/objectstore_tool.${osd_num}.log --op
apply-layout-settings --pool default.rgw.buckets.data --debug; sleep
10; start ceph-osd id=${osd_num}; echo "finished $osd_num" ) & done
And after It finishes if I`m trying to write into allligned pools, OSD
starts to fail with error:
-3> 2017-05-15 07:20:39.910571 7f4026d47840 0
filestore(/var/lib/ceph/osd/ceph-19) error (13) Permission denied not
handled on operation 0x7f40221d3ebb (145200553.0.0, or op 0, counting
from 0)
-2> 2017-05-15 07:20:39.910582 7f4026d47840 0
filestore(/var/lib/ceph/osd/ceph-19) unexpected error code
-1> 2017-05-15 07:20:39.910584 7f4026d47840 0
filestore(/var/lib/ceph/osd/ceph-19) transaction dump:
{
"ops": [
{
"op_num": 0,
"op_name": "touch",
"collection": "19.169_head",
"oid":
"#19:96836ead:::46fbb8ce-06b2-427d-af92-9dbe5c667cac.243299287.23_aa51d67b33b442b2977c4ccfbfd57b87:head#"
},
{
"op_num": 1,
"op_name": "setattr",
"collection": "19.169_head",
"oid":
"#19:96836ead:::46fbb8ce-06b2-427d-af92-9dbe5c667cac.243299287.23_aa51d67b33b442b2977c4ccfbfd57b87:head#",
"name": "_user.rgw.idtag",
"length": 54
},
{
"op_num": 2,
"op_name": "write",
"collection": "19.169_head",
"oid":
"#19:96836ead:::46fbb8ce-06b2-427d-af92-9dbe5c667cac.243299287.23_aa51d67b33b442b2977c4ccfbfd57b87:head#",
"length": 50240,
"offset": 0,
"bufferlist length": 50240
},
0> 2017-05-15 07:20:39.912700 7f4026d47840 -1
os/filestore/FileStore.cc: In function 'void
FileStore::_do_transaction(ObjectStore::Transaction&, uint64_t, int,
ThreadPool::TPHandle*)' thread 7f4026d47840 time 2017-05-15 07:20:39.910693
os/filestore/FileStore.cc: 2920: FAILED assert(0 == "unexpected error")
ceph version 10.2.7 (50e863e0f4bc8f4b9e31156de690d765af245185)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char
const*)+0x8b) [0x5576bc3b36db]
2: (FileStore::_do_transaction(ObjectStore::Transaction&, unsigned
long, int, ThreadPool::TPHandle*)+0xefd) [0x5576bc0a5d4d]
3: (FileStore::_do_transactions(std::vector<ObjectStore::Transaction,
std::allocator<ObjectStore::Transaction> >&, unsigned long,
ThreadPool::TPHandle*)+0x3b) [0x5576bc0aba8b]
4: (JournalingObjectStore::journal_replay(unsigned long)+0x8c7)
[0x5576bc0c1e67]
5: (FileStore::mount()+0x3bf6) [0x5576bc099a86]
6: (OSD::init()+0x27d) [0x5576bbd6e1cd]
7: (main()+0x29d1) [0x5576bbcd6d71]
8: (__libc_start_main()+0xf5) [0x7f4023a2ff45]
9: (()+0x356a47) [0x5576bbd1fa47]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is
needed to interpret this.
And I see, that dirs, created by ceph-objectstore-tool are owned by root.
$ ls -lah
/var/lib/ceph/osd/ceph-19/current/19.649_head/DIR_9/DIR_4/DIR_6/DIR_0 | head
total 3,0M
drwxr-xr-x 18 ceph ceph 52K May 14 17:10 .
drwxr-xr-x 18 ceph ceph 24K May 14 17:00 ..
drwxr-xr-x 2 root root 152K May 14 17:07 DIR_0
drwxr-xr-x 2 root root 164K May 14 17:07 DIR_1
drwxr-xr-x 2 root root 164K May 14 17:07 DIR_2
drwxr-xr-x 2 root root 164K May 14 17:07 DIR_3
drwxr-xr-x 2 root root 156K May 14 17:07 DIR_4
drwxr-xr-x 2 root root 156K May 14 17:08 DIR_5
drwxr-xr-x 2 root root 168K May 14 17:08 DIR_6
Now, I`m chowning all current dirs to ceph:ceph.
Is it normal, that dirs created with owner root or I`m doing something
wrong?
--
Dmitriev Anton
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com