Re: Ceph-deploy for FreeBSD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21-04-17 15:52, Sage Weil wrote:
> On Fri, 21 Apr 2017, Sage Weil wrote:
>> On Fri, 21 Apr 2017, Fabian Grünbichler wrote:
>>> On Fri, Apr 21, 2017 at 01:16:23PM +0000, Sage Weil wrote:
>>>> On Fri, 21 Apr 2017, Fabian Grünbichler wrote:
>>>>> On Thu, Apr 20, 2017 at 08:11:38PM +0200, Nathan Cutler wrote:
>>>>>> Hi Willem:
>>>>>>
>>>>>> It sounds like you are trying to use the sysvinit scripts? These have been
>>>>>> unmaintained (presumably with lots of weeds growing up) since infernalis.
>>>>>> Until now I have been assuming that all init systems other than systemd
>>>>>> (sysvinit, upstart, etc.) are deprecated in Ceph.
>>>>>
>>>>> Slightly OT, but AFAICT http://tracker.ceph.com/issues/18305 still
>>>>> applies to the official ceph.com Kraken Debian packages, i.e., ceph-base
>>>>> installs and activates the init.d script, which then races against the
>>>>> (udev-activated) ceph-osd systemd units. If anything except systemd is
>>>>> indeed deprecated, I wonder why the Debian packages (still) ship AND
>>>>> activate both systemd units and Sys V init scripts?
>>>>>
>>>>> (Note that the proposed fix probably does not apply as is anymore,
>>>>> because ceph-disk and the systemd units have been changed in the
>>>>> meantime).
>>>>
>>>> I think the issue with Debian (generally) is that it "supports" multiple 
>>>> init systems (sysvinit and systemd both), even though systemd is the one 
>>>> installed default.  Which means we ship the sysvinit script and systemd 
>>>> unit files.
>>>>
>>>> (There may very well be a bug in how we "activate" them, though!)
>>>>
>>>
>>> that's why I reported the original issue - in general you never want to
>>> have both a multi-daemon init script (like the "old" ceph one) and the
>>> replacing split up systemd units active at the same time.
>>>
>>> since systemd will generate a unit for every init script for which a
>>> unit of the same name does not already exist, you either need to mask
>>> the auto-generated unit (i.e., symlink it to /dev/null) or write a
>>> replacement unit that has the identical name (so the "ceph" init script
>>> becomes the "ceph.service" unit). if you don't do that and your units
>>> are named differently than your init script, both will be active (this
>>> is not a Debianism, it is how the LSB generator in systemd is supposed
>>> to work to ease the transition from Sys V init to systemd..).
>>>
>>> what exacerbates the issue in this case is that the systemd units + udev
>>> actually don't completely replace the old init scripts, because some of
>>> the udev events might have been processed before the system was fully
>>> booted, and osds might not be properly activated on boot as a result.
>>>
>>> hence my proposal to add a ceph.service that simply calls "ceph-disk
>>> activate-all", which is AFAICT the only part of the init script that is
>>> not covered by the current systemd units / udev rules.
>>
>> This sounds reasonable to me.  It could also do nothing... IIRC the 
>> ceph-disk activate-all was a workaround for racy/buggy udev interactions 
>> that preventing all osds from starting on large boxes with lots of disks 
>> (see below).  Given that we don't have such a workaround on systemd 
>> anymore I'm not sure if it's still necessary or not.  (I guess it can't 
>> hurt, though!)
> 
> Hmm, it's a bit tricky because of the package separation between 
> ceph-base, ceph-common, and ceph-osd.  The ceph sysvinit script is in the 
> base or common package but ceph-disk is in ceph-osd... I'm not sure where 
> the ceph.service masking service should go.

Well that is certainly something I cannot test, nor repair.
So that has to go on somebody else's plate.

--WjW


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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux