docs: explain the difference between services and daemons
26 Aug 2020, ~1700 AEST:
<wowas> https://tracker.ceph.com/issues/46082 (...)`orch ps` will list the cephadm daemons, whereas `orch ls` should be used to list the cephadm services.(...)
<wowas> whats the f*** difference?! :D I always thought services and daemons are the same thing :)
<cervigni> wowas: ahah I don't know... ceph is not really famous to write doco in a correct way
<cervigni> try to ask zdover
<cervigni> apparently you can blame him for anything doco related, isn't it zdover ?
#2 Updated by Zac Dover about 1 year ago
Sebastian Wagner wrote:
That's a good find, but at the minimum we can make this text clearer:
A logical service, Typically comprised of multiple service instances on multiple hosts for HA
fs_name for mds type
rgw_zone for rgw type
ganesha_cluster_id for nfs type
A single instance of a service. Usually a daemon, but maybe not (e.g., might be a kernel service like LIO or knfsd or whatever)
This identifier should uniquely identify the instance
#3 Updated by Sebastian Wagner about 1 year ago
Let's define things for cephadm a bit more in detail:
- a service_type is something like mon, mgr, alertmanager etc.
- a service_id is the name of the service. Some services don't have names.
- a service_name is <service_type>.<service_id>
- a daemon_type is the same as the service_type
- a daemon_id is typically <service_id>.<hostname>.<random-string>. (Not the case for e.g. OSDs. OSDs are always called OSD.N)
- a daemon_name is <daemon_type>.<daemon_id>
#4 Updated by Nathan Cutler about 1 year ago
While the previous comment has a technical definition of various terms, it doesn't make clear the difference between a "service" and a "daemon". This distinction is easy to understand, though:
A service (e.g. "osd service", "mon service", etc.) is a cluster-wide term meaning all daemons of a given type (e.g. "osd", "mon", etc.), no matter where they happen to be in the cluster.
A daemon (e.g. "osd daemon") is just that: an individual daemon supposed to be running on a cluster node.