From: Alex Elsayed <eternaleye@gmail.com>
To: ceph-devel@vger.kernel.org
Subject: Re: systemd status
Date: Wed, 29 Jul 2015 07:30:20 -0700 [thread overview]
Message-ID: <mpao1u$pe2$1@ger.gmane.org> (raw)
In-Reply-To: alpine.DEB.2.00.1507290715450.22099@cobra.newdream.net
Sage Weil wrote:
> On Wed, 29 Jul 2015, Alex Elsayed wrote:
>> Sage Weil wrote:
>>
>> > On Wed, 29 Jul 2015, Alex Elsayed wrote:
<snip some>
>>
>> Does it?
>>
>> If the mount point is (say) /var/ceph/$UUID, and ceph-osd can take a --
>> datadir parameter from which it _reads_ the cluster and ID if they aren't
>> passed on the command line, I think that'd resolve the issue rather
>> tidily _without_ requring that be known prior to mount.
>>
>> And if I understand correctly, that data is _already in there_ for
>> ceph-disk to mount it in the "final location" - it's just shuffling
>> around who reads it.
>
> So, we could do this. It would mean either futzing with the ceph-osd
> config variables so that they take a $uuid substitution (passed at
> startup) -or- have ceph-disk set up a symlink from the current
> /var/lib/ceph/osd/$cluster-$id location (instead of doing the bind mount
> it currently does).
My thinking is more that the "osd data = " key makes a lot less sense in the
systemd world overall - passing the OSD the full path on the commandline via
some --datadir would mean you could trivially use systemd's instance
templating, and just do
ExecStart=/usr/bin/ceph-osd -f --datadir=/var/lib/ceph/osd/%i
and be done with it. Could even do RequiresMountsFor=/var/lib/ceph/osd/%i
too, which would order it after (and make it depend on) any systemd.mount
units for that path.
If the path comes from ceph.conf, then the systemd unit can't do
RequiresMountsFor, because it just plain doesn't have that information, and
so forth. You wind up giving up various systemd capabilities because ceph's
got its own custom-built wheel.
> But, it'll come at some cost to operators, who won't be able to 'df' or
> 'mount' and see which OSD mounts are which... they'll have to poke around
> in each directory to see what mount is which.
This is a fair point, though - however, if the symlinks just are for human
inspection rather than critical to the operation of the system, it takes
them out of the hot path and reduces the opportunities for failure due to
unusual usage / extra middle steps.
Maybe put the UUID mounts in a uuid/ subdir, with $cluster-$id symlinks
pointing into it.
>> > If the mounting and binding to the final location is done in a systemd
>> > job identified by the uuid, it seems like systemd would effectively
>> > handle the mutual exclusion and avoid races?
>>
>> What I object to is the idea of a "final location" that depends on the
>> contents of the filesystem - it's bass-ackwards IMO.
>
> It's unusual, but I think it can be made to work reliably.
>
> Are there any other opinions here?
next prev parent reply other threads:[~2015-07-29 14:30 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 19:13 systemd status Sage Weil
2015-07-28 22:16 ` Travis Rhoden
2015-07-29 11:25 ` Alex Elsayed
2015-07-29 12:55 ` Sage Weil
2015-07-29 13:09 ` Wyllys Ingersoll
2015-07-29 14:08 ` Alex Elsayed
2015-07-29 14:19 ` Sage Weil
2015-07-29 14:30 ` Alex Elsayed [this message]
2015-07-29 14:53 ` Sage Weil
2015-07-29 15:17 ` Alex Elsayed
2015-07-29 16:50 ` Vasiliy Angapov
2015-07-31 13:29 ` Owen Synge
2015-07-30 12:45 ` Sage Weil
2015-07-30 19:40 ` Robert LeBlanc
2015-08-03 8:53 ` Owen Synge
2015-07-31 8:11 ` Owen Synge
2015-07-31 13:23 ` Owen Synge
2015-08-03 19:01 ` Fedora 22 systemd and ceph-deploy Owen Synge
2015-08-03 19:07 ` Sage Weil
2015-08-04 10:13 ` Owen Synge
2015-08-04 12:32 ` Fedora 22 systemd and rgw Owen Synge
2015-08-04 13:07 ` Sage Weil
2015-08-04 16:10 ` Owen Synge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='mpao1u$pe2$1@ger.gmane.org' \
--to=eternaleye@gmail.com \
--cc=ceph-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.