Discussion:
ceph-disk vs keyvaluestore
Sage Weil
2014-09-29 23:48:18 UTC
Permalink
Hi Haomai,

Not sure if you saw

http://tracker.ceph.com/issues/9580

which came from an issue Mark had getting ceph-disk to work with the
keyvaluestore backend. I think the answer is to make a command
like

ceph-osd -i 123 --check-needs-journal

to query whether the configured backend wants a journal backend. That
would let ceph-disk skip the work. Would need to be careful to
distinguish between errors and a true/false answer.

Any interest in wiring that up?
sage

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Haomai Wang
2014-09-30 02:23:07 UTC
Permalink
No problem, I would like do it.
Post by Sage Weil
Hi Haomai,
Not sure if you saw
http://tracker.ceph.com/issues/9580
which came from an issue Mark had getting ceph-disk to work with the
keyvaluestore backend. I think the answer is to make a command
like
ceph-osd -i 123 --check-needs-journal
to query whether the configured backend wants a journal backend. That
would let ceph-disk skip the work. Would need to be careful to
distinguish between errors and a true/false answer.
Any interest in wiring that up?
sage
--
Best Regards,

Wheat
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Haomai Wang
2014-09-30 04:00:35 UTC
Permalink
Hi sage,

What do you think use existing ObjectStore::peek_journal_fsid
interface to detect whether journal needed.

KeyValueStore and MemStore could set passing argument "fsid" to zero
to indicate no journal.
Post by Haomai Wang
No problem, I would like do it.
Post by Sage Weil
Hi Haomai,
Not sure if you saw
http://tracker.ceph.com/issues/9580
which came from an issue Mark had getting ceph-disk to work with the
keyvaluestore backend. I think the answer is to make a command
like
ceph-osd -i 123 --check-needs-journal
to query whether the configured backend wants a journal backend. That
would let ceph-disk skip the work. Would need to be careful to
distinguish between errors and a true/false answer.
Any interest in wiring that up?
sage
--
Best Regards,
Wheat
--
Best Regards,

Wheat
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Sage Weil
2014-09-30 04:05:36 UTC
Permalink
Post by Haomai Wang
Hi sage,
What do you think use existing ObjectStore::peek_journal_fsid
interface to detect whether journal needed.
KeyValueStore and MemStore could set passing argument "fsid" to zero
to indicate no journal.
I'm not sure it's a good fit... it's called on an existing store and tells
you something about it. I would probably expect a zeroed fsid to mean
that the specified journal is empty or does not exist, not that it doesn't
need to exist.

What we need, on the other hand, is something that just tells us whether
we should create a journal...

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Kirkwood
2014-10-01 23:46:44 UTC
Permalink
Post by Sage Weil
Post by Haomai Wang
Hi sage,
What do you think use existing ObjectStore::peek_journal_fsid
interface to detect whether journal needed.
KeyValueStore and MemStore could set passing argument "fsid" to zero
to indicate no journal.
I'm not sure it's a good fit... it's called on an existing store and tells
you something about it. I would probably expect a zeroed fsid to mean
that the specified journal is empty or does not exist, not that it doesn't
need to exist.
What we need, on the other hand, is something that just tells us whether
we should create a journal...
And perhaps the "type" (probably not the right word) of journal:

- filestore: device or filesystem
- rocksdb: filesystem (wal directory)
- leveldb: none (I think)

FWIW, it looks like the log files for leveldb *could* benefit from being
placed somewhere else (e.g on faster storage). Is it worthwhile
suggesting to the leveldb devs?

Cheers

Mark

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Sage Weil
2014-10-01 23:53:00 UTC
Permalink
Post by Mark Kirkwood
Post by Sage Weil
Post by Haomai Wang
Hi sage,
What do you think use existing ObjectStore::peek_journal_fsid
interface to detect whether journal needed.
KeyValueStore and MemStore could set passing argument "fsid" to zero
to indicate no journal.
I'm not sure it's a good fit... it's called on an existing store and tells
you something about it. I would probably expect a zeroed fsid to mean
that the specified journal is empty or does not exist, not that it doesn't
need to exist.
What we need, on the other hand, is something that just tells us whether
we should create a journal...
- filestore: device or filesystem
- rocksdb: filesystem (wal directory)
- leveldb: none (I think)
Hmm, good point. Haomai added this as yes/no, maybe 'none' and 'device'
is a bit more flexible in case we add 'dir' in the future?
Post by Mark Kirkwood
FWIW, it looks like the log files for leveldb *could* benefit from being
placed somewhere else (e.g on faster storage). Is it worthwhile suggesting to
the leveldb devs?
Worth a shot, but don't hold your breath :)

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Haomai Wang
2014-10-02 05:25:08 UTC
Permalink
Post by Sage Weil
Post by Mark Kirkwood
Post by Sage Weil
Post by Haomai Wang
Hi sage,
What do you think use existing ObjectStore::peek_journal_fsid
interface to detect whether journal needed.
KeyValueStore and MemStore could set passing argument "fsid" to zero
to indicate no journal.
I'm not sure it's a good fit... it's called on an existing store and tells
you something about it. I would probably expect a zeroed fsid to mean
that the specified journal is empty or does not exist, not that it doesn't
need to exist.
What we need, on the other hand, is something that just tells us whether
we should create a journal...
- filestore: device or filesystem
- rocksdb: filesystem (wal directory)
- leveldb: none (I think)
Hmm, good point. Haomai added this as yes/no, maybe 'none' and 'device'
is a bit more flexible in case we add 'dir' in the future?
Looks good to me. Any other points?
Post by Sage Weil
Post by Mark Kirkwood
FWIW, it looks like the log files for leveldb *could* benefit from being
placed somewhere else (e.g on faster storage). Is it worthwhile suggesting to
the leveldb devs?
Worth a shot, but don't hold your breath :)
sage
--
Best Regards,

Wheat
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to ***@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Loading...