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 | Abiquo LVM | DHCP Relay | Monitoring | NFS Repository |
---|---|---|---|---|---|---|---|---|---|
abiquo-tomcat | |||||||||
mysql | |||||||||
redis | |||||||||
rabbitmq-server | |||||||||
v2v-diskmanager* | |||||||||
mechadora | |||||||||
nfs | |||||||||
smb | |||||||||
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:
# service mysql status
How to start or stop it:
Caution!
Stopping the MySQL database server before the Abiquo Server may harm the environment and cause data loss.
# service mysql start # service mysql stop
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:
# redis-cli ping
Alternatively, type the following commands:
# redis-cli redis 127.0.0.1:6379> set mykey somevalue OK redis 127.0.0.1:6379> get mykey "somevalue"
How to start or stop it:
Caution
Always stop the Abiquo-tomcat services first before stopping Redis.
# redis start # redis-cli shutdown
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:
Caution
Always stop the Abiquo-tomcat services first before stopping RabbitMQ.
# service rabbitmq-server status
How to start or stop it:
# service rabbitmq-server start # service rabbitmq-server stop
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:
# ps aux | grep v2v root 32046 0.2 0.0 63892 1200 ? S 16:44 0:00 /bin/bash /usr/bin/v2v-diskmanager VMDK_STREAM_OPTIMIZED L29wdC92bV9yZXBvc2l0b3J5LzEvcnMuYmNuLmFiaXF1by5jb20vYWJpcG9ydDkwMDAvb3ZmLzcyL2ZpbGUtYnVpbGQtYm90 LXJoZWw1LWRpc2sxLnZtZGs= VMDK_FLAT L29wdC92bV9yZXBvc2l0b3J5LzEvcnMuYmNuLmFiaXF1by5jb20vYWJpcG9yd DkwMDAvb3ZmLzcyL2Zvcm1hdHMvZmlsZS1idWlsZC1ib3QtcmhlbDUtZGlzazEudm1kay1WTURLX0ZMQVQ= root 32095 0.0 0.0 61224 756 pts/1 R+ 16:44 0:00 grep v2
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:
2012-03-23 16:44:07,142 DEBUG c.a.a.b.s.u.ExecUtils [ExecUtils.java:46] Executing OS command: v2v-diskmanager VMDK_STREAM_OPTIMIZED L29wdC92bV9yZXBvc2l0b3J5LzEvcnMuYmNuLmFiaXF1by5jb20vYWJpcG9ydDkwMDAvb3ZmLzcyL2ZpbGUtYnVpbGQtYm90LX JoZWw1LWRpc2sxLnZtZGs= VMDK_FLAT L29wdC92bV9yZXBvc2l0b3J5LzEvcnMuYmNuLmFiaXF1by5jb20vYWJpcG9ydDkwM DAvb3ZmLzcyL2Zvcm1hdHMvZmlsZS1idWlsZC1ib3QtcmhlbDUtZGlzazEudm1kay1WTURLX0ZMQVQ=
Copy a command found in the log and run it again to see more detail from the error message. For example:
$ v2v-diskmanager VMDK_STREAM_OPTIMIZED L29wdC92bV9yZXBvc2l0b3J5LzEvcnMuYmNuLmFiaXF1by5jb20vYWJpcG9 ydDkwMDAvb3ZmLzcyL2ZpbGUtYnVpbGQtYm90LXJoZWw1LWRpc2sxLnZtZGs= VMDK_FLAT L29wdC92bV9yZXBvc2l0b3J5LzE vcnMuYmNuLmFiaXF1by5jb20vYWJpcG9ydDkwMDAvb3ZmLzcyL2Zvcm1hdHMvZmlsZS1idWl sZC1ib3QtcmhlbDUtZGlzazEudm1kay1WTURLX0ZMQVQ=
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:
# ps aux | grep mechadora root 2521 0.0 0.0 63892 1160 ? S 18:05 0:00 /bin/bash /usr/bin/mechadora deploy 10.60.13.20 iqn.2008-03.com.abiquo.localhost.localdomain:8654e6ac-cb3f-4751-9600-4bc642c327c5 /opt/vm_repository/1/abiquo-repository.s3.amazonaws.com/ubuntu-11.04/formats/ubuntu-11.04.qcow2-RAW ip-10.60.13.20:3260-iscsi-iqn.2008-03.com.abiquo.localhost.localdomain:8654e6ac-cb3f-4751-9600- 4bc642c327c5-lun-1
- 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:
# service nfs status
How to start or stop it: Use the service command.
# service nfs start # service nfs stop
smb
- What it does: Manages Samba shares in Linux environments. On the Abiquo platform, it is used to share the vm_repository origin with Hyper-V Hypervisors.
- When it is required: On the vm_repository origin, from where it will also be exported using NFS.
How to check its status:
# service smb status
How to start or stop it:
# service smb start # service smb stop
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:
# service dhcpd status
How to start or stop it:
# service dhcpd start # service dhcpd stop
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:
# service dhrelay status
How to start or stop it:
# service dhcpd start # service dhcpd stop
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:
# ps aux | grep abiquo-aim
If abiquo-aim is running, you will see a line like this:
root 2816 0.0 0.4 95528 2104 ? Ssl 13:26 0:00 /usr/sbin/abiquo-aim --config-file /etc/abiquo-aim.ini -d
How to start or stop it:
# service abiquo-aim start # service abiquo-aim stop
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:
# ps aux | grep abiquo-emmett
If abiquo-emmett is running, you will see a line like this:
XXX TODO
How to start or stop it:
NOTES ABOUT START / STOP ISSUES# service abiquo-emmett start # service abiquo-emmett stop
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:
# ps aux | grep abiquo-delorean
If abiquo-delorean is running, you will see a line like this:
XXX TODO
How to start or stop it:
NOTES ABOUT START / STOP ISSUES# service abiquo-delorean start # service abiquo-delorean stop
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:
# ps aux | grep kairosdb
If kairosdb is running, you will see a line like this:
How to start or stop it:
NOTES ABOUT START / STOP ISSUES# ./kairosdb.sh start # ./kairosdb.sh stop
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.
- Reference: https://wiki.apache.org/cassandra/GettingStarted
- 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:
# ps aux | grep cassandra
If Cassandra is running, you will see a line like this:
XXX TODO
How to start or stop it:
Remember to check if Cassandra is really dead or not!# bin/cassandra # pkill -f CassandraDaemon