Hm. You are right. Seems ceph-osd uses id 0 in main.py.
I'll have a look in my dev cluster and see if it helps things.
/usr/lib/python2.7/dist-packages/ceph_disk/main.py
def check_journal_reqs(args):
_, _, allows_journal = command([
'ceph-osd', '--check-allows-journal',
'-i', '0',
'--log-file', '$run_dir/$cluster-osd-check.log',
'--cluster', args.cluster,
'--setuser', get_ceph_user(),
'--setgroup', get_ceph_group(),
])
_, _, wants_journal = command([
'ceph-osd', '--check-wants-journal',
'-i', '0',
'--log-file', '$run_dir/$cluster-osd-check.log',
'--cluster', args.cluster,
'--setuser', get_ceph_user(),
'--setgroup', get_ceph_group(),
])
_, _, needs_journal = command([
'ceph-osd', '--check-needs-journal',
'-i', '0',
'--log-file', '$run_dir/$cluster-osd-check.log',
'--cluster', args.cluster,
'--setuser', get_ceph_user(),
'--setgroup', get_ceph_group(),
])
return (not allows_journal, not wants_journal, not needs_journal)
# ceph-osd --help
usage: ceph-osd -i <osdid>
--osd-data PATH data directory
--osd-journal PATH
journal file or block device
--mkfs create a [new] data directory
--convert-filestore
run any pending upgrade operations
--flush-journal flush all data out of journal
--mkjournal initialize a new journal
--check-wants-journal
check whether a journal is desired
--check-allows-journal
check whether a journal is allowed
--check-needs-journal
check whether a journal is required
--debug_osd <N> set debug level (e.g. 10)
--get-device-fsid PATH
get OSD fsid for the given block device
--conf/-c FILE read configuration from the given configuration file
--id/-i ID set ID portion of my name
--name/-n TYPE.ID set name
--cluster NAME set cluster name (default: ceph)
--setuser USER set uid to user or uid (and gid to user's gid)
--setgroup GROUP set gid to group or gid
--version show version and quit
-d run in foreground, log to stderr.
-f run in foreground, log to usual location.
--debug_ms N set message debug level (e.g. 1)
On aug 2 2018, at 11:57 am, Konstantin Shalygin <k0ste@xxxxxxxx> wrote:
ceph_disk.main.Error: Error: journal specified but not allowed by osd backendI faced this issue once before.The problem is - function is query for osd.0 instead your osd.21.Change in main.py'-i', '0',to 21 (your osd number)'-i', '21',and try again.k
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com