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 <k0...@k0ste.ru> wrote:
>
> > ceph_disk.main.Error: Error: journal specified but not allowed by osd 
> > backend
>
> I 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@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to