Service daemons: Difference between revisions
No edit summary |
|||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction | == 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. | 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= | == Proxmox VE Services == | ||
==pve-cluster== | === 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. | 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. | ||
Line 15: | Line 15: | ||
This service also provides a cluster wide locking implementation, and we use it to distribute statistic data to all cluster nodes. | This service also provides a cluster wide locking implementation, and we use it to distribute statistic data to all cluster nodes. | ||
==pve-ha-crm== | === pve-ha-crm === | ||
This is the Proxmox VE High Availability Cluster Resource Manager, | 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. | If the one master crm is failing a new one will elected. This procedure will take a while. | ||
==pve-ha-lrm== | === pve-ha-lrm === | ||
This is the Proxmox VE High Availability Local Resource Manager, every node has an active lrm if ha is enabled. | This is the Proxmox VE High Availability Local Resource Manager, every node has an active lrm if ha is enabled. | ||
Line 27: | Line 27: | ||
They have to execute the commands from the crm and report the crm. | They have to execute the commands from the crm and report the crm. | ||
==pvedaemon== | === 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. | 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 === | ||
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. | 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 === | ||
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: | 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 | # cat /etc/pve/.rrd | ||
==pve-manager== | === pve-manager === | ||
This is just a startup script (not a daemon), used to start/stop all VMs and Containers. | This is just a startup script (not a daemon), used to start/stop all VMs and Containers. | ||
=Cluster Services= | === 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. | Those services are only required if you run a cluster. | ||
==cman (corosync 1.x)== | === cman (corosync 1.x) === | ||
{{Note|Only on the old stable Proxmox VE 3.x releases}} | {{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. | 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== | === corosync 2.x === | ||
The Corosync Cluster Engine is a group communication system with additional features for implementing high availability within applications. | 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. | 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. | quorum system that notifies applications when quorum is achieved or lost. | ||
==fenced== | === fenced === | ||
{{Note|Only on the old stable Proxmox VE 3.x releases}} | {{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. | 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== | === rgmanager === | ||
{{Note|Only on the old stable Proxmox VE 3.x releases}} | {{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. | 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= | == Standard Services == | ||
Almost any Linux server runs this services. I just mention them here for completeness. | Almost any Linux server runs this services. I just mention them here for completeness. | ||
==cron== | === cron === | ||
cron daemon execute scheduled commands. | cron daemon execute scheduled commands. | ||
* [http://team.macnn.com/drafts/crontab_defs.html Crontab Defs] | * [http://team.macnn.com/drafts/crontab_defs.html Crontab Defs] | ||
==ntp== | === ntp === | ||
ntp is the Network Time Protocol (NTP) daemon. | ntp is the Network Time Protocol (NTP) daemon. | ||
==rsyslog== | === rsyslog === | ||
rsyslogd is a system utility providing support for message logging (syslog). | rsyslogd is a system utility providing support for message logging (syslog). | ||
==postfix== | === postfix === | ||
Postfix is the mail server (smtp). | Postfix is the mail server (smtp). | ||
[[Category:HOWTO | [[Category:HOWTO]] |
Latest revision as of 13:27, 24 May 2017
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)
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
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
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).