Commit Graph

16 Commits

Author SHA1 Message Date
Ruben Kerkhof
4179aa8d44 systemd: add osd id to service description
So, instead of logging this:

Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.
Jul 01 13:51:04 localhost systemd[1]: Failed to start Ceph object storage daemon.

We see this, which is a lot more useful:

Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.27.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.32.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.29.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.31.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.23.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.24.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.25.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.30.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.28.
Jul 01 13:59:32 localhost systemd[1]: Failed to start Ceph object storage daemon osd.22.
2016-07-01 14:02:36 +02:00
Nathan Cutler
df893f395e systemd: make Ceph daemon units "want" time-sync.target
Fixes: http://tracker.ceph.com/issues/15419

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-04-23 17:48:08 +02:00
Sage Weil
dcd211cdd1 Merge pull request #8449 from javacruft/ceph-osd-prestart
ceph-osd-prestart.sh: drop --setuser/--setgroup

Reviewed-by: Sage Weil <sage@redhat.com>
2016-04-22 17:06:44 -04:00
Boris Ranto
62084375fa systemd: Use the same restart limits as upstart
Currently, the systemd daemons are not restarted on failure. This patch
adds this functionality and sets the defaults to those defined in
upstart. This resolves to 3 fails per 30 minutes for osd, mon and mds
and 5 fails per 30 seconds for radosgw.

Signed-off-by: Boris Ranto <branto@redhat.com>
2016-04-13 21:26:31 +02:00
James Page
05cafcf19f Drop any systemd imposed process/thread limits
If systemd has task accounting enabled, a default of 512 tasks
will be applied to all systemd units.

For ceph, this is way to low even for a modest cluster, so stop
this restriction being applied and allow administrators to apply
limits using sysctl.

Signed-off-by: James Page <james.page@ubuntu.com>
2016-04-05 17:33:57 +01:00
James Page
74977f7884 Drop --setuser/--setgroup from osd prestart
These are not supported by /usr/lib/ceph/ceph-osd-prestart.sh,
resulting in warnings:

 ceph-osd-prestart.sh[23367]: getopt: unrecognized option '--setuser'
 ceph-osd-prestart.sh[23367]: getopt: unrecognized option '--setgroup'

--setuser and --setgroup are only needed for the ceph-osd process.

Signed-off-by: James Page <james.page@ubuntu.com>
2016-04-05 16:59:38 +01:00
Nathan Cutler
69291f872e packaging: move ceph_common.sh and ceph-osd-prestart.sh to /usr/lib/ceph
First, it makes sense for both ceph_common.sh and ceph-osd-prestart.sh to
reside in the same directory: make it so.

Second, /usr/lib exists on both RHEL/Fedora and SLE/openSUSE, whereas
the later lacks /usr/libexec. To make this less painful, package
ceph_common.sh and ceph-osd-prestart.sh in /usr/lib/ceph.

Third, allow e.g. FreeBSD to do its own thing by using the $(libexecdir)
Autoconf variable (but set it to /usr/lib in the spec file).

http://tracker.ceph.com/issues/14687 Fixes: #14687

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-18 12:19:14 +01:00
Patrick Donnelly
b65d9c5457
systemd: Add systemd sandboxing to services.
This change makes it so the mon/osd/mds/radosgw daemons:
    o Cannot write to /usr, /etc, and /boot.
    o Cannot access /home, /root, or /run/user.
    o Each daemon gets its own private /tmp and /var/tmp.
    o All daemons get a private /dev without physical devices (exception: osd)

I'm not sure if the osd daemon needs access to a full /dev so I left
ProtectDevices out for ceph-osd@.service.

Signed-off-by: Patrick Donnelly <batrick@batbytes.com>
2016-01-28 10:50:00 -05:00
Zhi Zhang
cfa2d0a08a fine-grained control systemd to start/stop/restart ceph services at once
Signed-off-by: Zhi Zhang <zhangz.david@outlook.com>
2015-10-26 15:13:19 +08:00
Sage Weil
ea977611c4 systemd: increase nproc ulimit
We were observed to be hitting the limit on centos7
(triggering pthread_create failures) on a ~2000 OSD cluster.

Increasing this resolves it!

Reported-by: Dan van der Ster <daniel.vanderster@cern.ch>
Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-21 14:35:15 -04:00
Sage Weil
367c794cb1 systemd: no need to preprocess ceph-osd@service
This used to be necessary but now is not.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-09-14 14:00:26 -04:00
Owen Synge
ac347dc340 Template systemd/ceph-osd@.service with autotools,
The libexec path is different for different distributions.
systemd. This path is defined by a new variable on the
configure path.

This variable can be set with enviroment SYSTEMD_LIBEXEC_DIR.
The parameter --with-systemd-libexec-dir overrides the enviroment
variable.

Appropriate conditionals are set for SUSE and RHEL derivatives.

This is then used to template out systemd/ceph-osd@.service

Signed-off-by: Owen Synge <osynge@suse.com>
2015-05-26 19:04:22 +02:00
Owen Synge
ebda4ba1c6 Increase max files open limit for OSD daemon.
Under heavy load the number of file descriptors opened
by the OSD can go beyond the 64K file limit. This patch
increases the default to 128K.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-04-21 11:31:24 +02:00
Owen Synge
929fcd67aa better systemd support
Added ceph.target
Made ceph-mds, ceph-mon, ceph-osd services part of ceph.target
Made ceph-mds, ceph-mon, ceph-osd services require partitions to be available.
Added ceph init script with sysV like behaviour.

Provided by Tim Serong tserong@suse.com and Owen Synge osynge@suse.com

Signed-off-by: Owen Synge <osynge@suse.com>
2014-12-01 14:45:31 +01:00
Marco Garcês
1835778282 needs network or it will not start if enabled
example error message: "unable to find any IP address in networks: 10.2.27.0/25", so the service wont start
2014-08-22 12:30:58 +02:00
Federico Simoncelli
c26477448e init: add systemd service files
This patch adds systemd service files. It is possible to start and
enable multiple instances (per monid, osdid, mds name), e.g.

 # systemctl start ceph-mon@node01
 # systemctl enable ceph-mon@node01

 # systemctl start ceph-osd@0
 # systemctl enable ceph-osd@0

The ceph cluster can be set in the system config file:

 /etc/sysconfig/ceph

adding or editing the CLUSTER environment variable.

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-07-22 11:30:55 -04:00