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 AEE | Distributed RS | Abiquo KVM | Abiquo LVM | DHCP Relay |
---|---|---|---|---|---|---|
abiquo-tomcat |
|
| ||||
mysql |
|
|
|
| ||
redis |
|
|
|
| ||
rabbitmq-server |
|
|
|
| ||
v2v-diskmanager* |
|
|
|
| ||
mechadora |
|
|
|
| ||
nfs |
|
|
|
| ||
smb |
|
|
|
| ||
dhcpd |
|
|
| |||
dhrelay |
|
|
|
|
| |
abiquo-aim |
|
|
|
|
|
Notes on Profiles in the Table
Monolithic
Installation for a single-server Abiquo platform. See Monolithic Installation 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 Architecture 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. Visit the aforementioned link to know more about it.
Description of Services
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 stop or start it:
# service abiquo-tomcat start # service abiquo-tomcat stop # service abiquo-tomcat restart
mysqld
- What it does: MySQL daemon that runs the database that contains most of the information that Abiquo uses.
- When it is required: On main servers that control the other Abiquo servers. It can be installed on a separate server or an already existing MySQL server.
How to check its status:
# service mysqld status
How to stop or start it:
Caution!
Stopping the MySQL database server before the Abiquo Server may harm the environment and cause data loss.
# service mysqld start # service mysqld 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 stop or start 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 stop or start 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 stop or start 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 stop or start 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 stop or start 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 stop or start 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 stop or start 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 stop or start 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 stop or start it:
# service abiquo-aim start # service abiquo-aim stop