ceph/systemd/ceph-osd@.service.in

33 lines
953 B
SYSTEMD
Raw Normal View History

[Unit]
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 11:55:58 +00:00
Description=Ceph object storage daemon osd.%i
After=network-online.target local-fs.target time-sync.target ceph-mon.target
Wants=network-online.target local-fs.target time-sync.target
PartOf=ceph-osd.target
[Service]
LimitNOFILE=1048576
LimitNPROC=1048576
EnvironmentFile=-@SYSTEMD_ENV_FILE@
Environment=CLUSTER=ceph
ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
ExecReload=/bin/kill -HUP $MAINPID
LockPersonality=true
MemoryDenyWriteExecute=true
# Need NewPrivileges via `sudo smartctl`
NoNewPrivileges=false
ProtectControlGroups=true
ProtectHome=true
ProtectKernelModules=true
# flushing filestore requires access to /proc/sys/vm/drop_caches
ProtectKernelTunables=false
ProtectSystem=full
PrivateTmp=true
TasksMax=infinity
Restart=on-failure
StartLimitInterval=30min
systemd: only restart 3 times in 30 minutes, as fast as possible Once upon a time, we configured our init systems to only restart an OSD 3 times in a 30 minute period. This made sure a permanently-slow OSD would stay dead, and that an OSD which was dying on boot (but only after a long boot process) would not insist on rejoining the cluster for *too* long. In 62084375fa8370ca3884327b4a4ad28e0281747e, Boris applied these same rules to systemd in a great bid for init system consistency. Hurray! Sadly, Loic discovered that the great dragons udev and ceph-disk were susceptible to races under systemd (that we apparently didn't see with the other init systems?), and our 3x start limit was preventing the system from sorting them out. In b3887379d6dde3b5a44f2e84cf917f4f0a0cb120 he configured the system to allow *30* restarts in 30 minutes, but no more frequently than every 20 seconds. So that resolved the race issue, which was far more immediately annoying than any concern about OSDs sometimes taking too long to die. But I've started hearing in-person reports about OSDs not failing hard and fast when they go bad, and I attribute some of those reports to these init system differences. Happily, we no longer rely on udev and ceph-disk, and ceph-volume shouldn't be susceptible to the same race, so I think we can just go back to the old way. Partly-reverts: b3887379d6dde3b5a44f2e84cf917f4f0a0cb120 Partly-fixes: http://tracker.ceph.com/issues/24368 Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2018-05-31 22:55:51 +00:00
StartLimitBurst=3
[Install]
WantedBy=ceph-osd.target