Service management
Introduction to Abiquo services
The table below summarizes the most important services that are used by Abiquo profiles. A description of each service is provided below the table.
Please be aware that the services marked with are optional. This is explained in each service description. These tables are for guidance only and because Abiquo is a distributed platform, the location of these services may vary in customized installations.
Table of Profiles and Services
Service | Monolithic | Distributed Server | Distributed RS | Distributed V2V | Abiquo KVM | DHCP Relay | Monitoring | NFS Repository |
---|---|---|---|---|---|---|---|---|
abiquo-tomcat | ||||||||
mysql | ||||||||
redis | ||||||||
rabbitmq-server | ||||||||
v2v-diskmanager* | ||||||||
mechadora | ||||||||
nfs | ||||||||
dhcpd | ||||||||
dhrelay | ||||||||
abiquo-aim | ||||||||
abiquo-emmett | ||||||||
abiquo-delorean | ||||||||
kairosdb | ||||||||
cassandra |
Notes on Profiles in the Table
Monolithic
Installation for a single-server Abiquo platform. See Install a test environment for more information.
Distributed Install
Abiquo Server in Distributed Install with central Abiquo Server and API machine that coordinates Remote Services servers for each physical datacenter.
See Distributed environment for more information.
Distributed RS
Remote Services Server in Distributed Install that manages resources for a physical data center and receives orders from the Distributed Install.
See Distributed environment for more information.
abiquo-tomcat
What it does: It is a servlet container responsible for the management of Abiquo modules.
When it is required: When there are Abiquo modules on the server.
How to check its status:
# ps aux | grep tomcat
Example output:
root 18348 9.6 26.9 2457384 833320 ? Sl Feb29 782:38 /usr/java/default/bin/java -Djava.util.logging.config.file=/opt/abiquo/tomcat/conf/logging.properties -server -Xms1024m -Xmx1500m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -Djava.awt.headless=true - Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/abiquo/tomcat/endorsed - classpath /opt/abiquo/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/abiquo/tomcat -Dcatalina.home=/opt/abiquo/tomcat - Djava.io.tmpdir=/opt/abiquo/tomcat/temp org.apache.catalina.startup.Bootstrap start
How to start or stop it:
# service abiquo-tomcat start # service abiquo-tomcat stop # service abiquo-tomcat restart
mysqld
What it does: MySQL daemon that runs the MariaDB database that contains most of the information that Abiquo uses
When it is required: By default, it is installed on the Abiquo Server. It can be installed on a separate server or an already existing MySQL server.
How to check its status:
How to start or stop it:
Stopping the MySQL database server before the Abiquo Server may harm the environment and cause data loss.
redis
What it does: The Redis server manages event subscription on nodes and delivers it to Abiquo. The Monitor manager or VSM remote service detects state changes in the virtual systems. So for example, when you add a virtual machine, the VSM creates a monitor for that virtual machine, and when the virtual machine is powered on, the state change is detected and notified by the VSM.
Where is it required: On Remote Services servers that contain the Monitor Manager (VSM) Remote Service. Redis can also be installed on a separate server for the remote services. Redis is also installed on the Abiquo Server. In a monolithic configuration, Abiquo uses only one Redis instance.
How to check its status:
Alternatively, type the following commands:
How to start or stop it:
Always stop the Abiquo-tomcat services first before stopping Redis.
rabbitmq-server
What it does: RabbitMQ is used for communications between Remote Services and the central Abiquo Server and its API
When it is required: On Abiquo main server installations
How to check its status:
Always stop the Abiquo-tomcat services first before stopping RabbitMQ.
How to start or stop it:
v2v-diskmanager
What it does: Script used for automating VM Template conversions to supported formats
When it is required: For disk format conversions. For performance reasons, it should be installed as a separate V2V Server.
How to check its status: This is not a daemon; it is a service initiated by Abiquo. So the best way to know if it is currently working on a conversion is using ps aux:
How to start or stop it: You will only need to stop it or to start it when there is an issue during conversions. For example, if you want to test why a conversion failed. You can check the /opt/abiquo/tomcat/logs/bpm-async.log to find the command issued by Abiquo:
Copy a command found in the log and run it again to see more detail from the error message. For example:
To stop it, use the pkill command, or from the top application, pressing k to kill the process.
mechadora
What it does: Creates a persistent machine from a VM Template that will run on an iSCSI disk
When is required: This is a remote service that would usually be installed on V2V Servers.
How to check its status:
How to start or stop it: The procedure is the same as for v2v-diskmanager.
nfs
What it does: It is the service that manages the NFS shares from our system when we export them. In Abiquo we use it to share the vm_repository
When it is required: Only when we are sharing our vm_repository, usually in small installations.
How to check its status:
How to start or stop it: Use the service command.
dhcpd
What it does: The daemon for the DHCP server. Assigns the IPs that the user selected in Abiquo to each virtual machine.
When it is required: On our Remote Services servers. It can also be installed separately and requires a trunk port connection to reach the hypervisors.
How to check its status:
How to start or stop it:
dhrelay
What it does: It is the main component on DHCP Relay servers, see Abiquo DHCP documentation for more information.
When it is required: On DHCP Relay servers. See the documentation above.
How to check its status:
How to start or stop it:
abiquo-aim
What it does: It is the link that communicates between Libvirt on KVM hypervisors and the Remote Services, in particular Redis.
When it is required: On KVM hypervisors
How to check its status:
If abiquo-aim is running, you will see a line like this:
How to start or stop it:
abiquo-emmett
What it does: It is part of the Watchtower monitoring module that interacts with the VSM and Abiquo API and the KairosDB to manage metrics and alarms.
When it is required: On the Abiquo Monitoring server
How to check its status:
If abiquo-emmett is running, you will see a line like this:
How to start or stop it:
NOTES ABOUT START / STOP ISSUES
abiquo-delorean
What it does: It is part of the Watchtower monitoring module. It evaluates monitoring alarms and alerts
When it is required: On the Abiquo Monitoring server
How to check its status:
If abiquo-delorean is running, you will see a line like this:
How to start or stop it:
Make sure that you start KairosDB and Cassandra, and that they are running properly before you start Delorean
kairosdb
What it does: It is part of the Abiquo Monitoring system. It is a fast scalable time series database. Abiquo uses it to store metrics with the Cassandra NoSQL database.
Reference: http://kairosdb.github.io/docs/build/html/GettingStarted.html
When it is required: It is required for monitoring. By default it is installed on the Abiquo Monitoring server. In a larger installation it should be installed on a separate server.
How to check its status:
If kairosdb is running, you will see a line like this:
How to start or stop it:
Start KairosDB first before you start the other monitoring services
cassandra
What it does: It is part of the Abiquo Monitoring system. To quote its wiki: "Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store". Abiquo uses it to store metrics.
When it is required: It is required for monitoring. By default it is installed on the Abiquo Monitoring server. In a larger installation it should be installed on a separate server or even a cluster.
How to check its status:
If Cassandra is running, you will see a line like this:
How to start or stop it:
Remember to check if Cassandra is really dead or not!