Service daemons

From Proxmox VE
Revision as of 15:02, 12 April 2016 by Bernard S. (talk | contribs) (→‎pve-ha-crm: typos)
Jump to navigation Jump to search

Introduction

A Proxmox VE node runs a couple of services for proper operation. This article provides a short overview of those services, describing their basic functionality.

Proxmox VE Services

pve-cluster

This service is the heart of any Proxmox VE installation. It provides the Proxmox_Cluster_file_system_(pmxcfs), a database-driven file system for storing configuration files, replicated in real time on all nodes using corosync.

The service makes the data accessible on the normal file system level, mounted at /etc/pve (using fuse). All Proxmox VE related configuration is stored there.

Note: You also need this service if you do not run a cluster.

This service also provides a cluster wide locking implementation, and we use it to distribute statistic data to all cluster nodes.

pve-ha-crm

This is the Proxmox VE High Availability Cluster Resource Manager, it manages the cluster which means there is only one active if a ha-resource is set, and this is the cluster master.

If the one master crm is failing a new one will elected. This procedure will take a while.

pve-ha-lrm

This is the Proxmox VE High Availability Local Resource Manager, every node has an active lrm if ha is enabled.

They have to execute the commands from the crm and report the crm.

pvedaemon

pvedaemon is the REST API server. All API calls which require root privileges are done using this Server. The Server runs as 'root', but only listens to a local address 127.0.0.1 port 85 for security reasons. It usually serves request from pveproxy, which listens to public ports, and run as non-root user.

pveproxy

pveproxy is the REST API proxy server, listening on port 8006 - used in PVE 3.0+ onwards. This service run as user 'www-data', and forwards request to other nodes (or pvedaemon) if required. API calls which do not require root privileges are directly answered by this server.

pvestatd

pvestatd is the PVE Status Daemon. It queries the status of all resources (VMs, Containers and Storage), and send the result to all cluster members. You can easily query the resulting data with:

# cat /etc/pve/.rrd

pve-manager

This is just a startup script (not a daemon), used to start/stop all VMs and Containers.

pve-firewall

Proxmox VE Firewall manage the Firewall(iptables) which works cluster wide.

pvefw-logger

Proxmox VE Firewall logger logs the Firewall events.

Cluster Services

Those services are only required if you run a cluster.

cman (corosync 1.x)

Yellowpin.svg Note: Only on the old stable Proxmox VE 3.x releases

cman is a symmetric general-purpose cluster manager. It provides a service manager that handles service groups, plus a connection manager that handles cluster membership management, messaging among cluster nodes, event notification, quorum and state transitions.

corosync 2.x

The Corosync Cluster Engine is a group communication system with additional features for implementing high availability within applications. configuration a in-memory database that provide the ability to set, retrieve, and receive change notifications of information. quorum system that notifies applications when quorum is achieved or lost.

fenced

Yellowpin.svg Note: Only on the old stable Proxmox VE 3.x releases

The fencing daemon, fenced, fences cluster nodes that have failed. Fencing a node generally means rebooting it or otherwise preventing it from writing to storage, e.g. disabling its port on a SAN switch. Fencing involves interacting with a hardware device, e.g. network power switch, SAN switch, storage array. Different "fencing agents" are run by fenced to interact with various hardware devices.

rgmanager

Yellowpin.svg Note: Only on the old stable Proxmox VE 3.x releases

rgmanager is the Resource Group (Cluster Service) Manager Daemon. rgmanager handles management of user-defined cluster services (also known as resource groups). This includes handling of user requests including service start, service disable, service relocate, and service restart. The service manager daemon also handles restarting and relocating services in the event of failures.

Standard Services

Almost any Linux server runs this services. I just mention them here for completeness.

cron

cron daemon execute scheduled commands.

ntp

ntp is the Network Time Protocol (NTP) daemon.

rsyslog

rsyslogd is a system utility providing support for message logging (syslog).

postfix

Postfix is the mail server (smtp).