Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

classtocc
Table of Contents

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 Image Removed are (green star) 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

(tick)

(tick)

(tick)

 

 

(tick)

 

  






mysql

(tick)

(tick)

 

  

 

 

  







redis

(tick)

(tick)

(tick)

 

 

 

 

  






rabbitmq-server

(tick)

(tick)

 

 

 

 

 

  







v2v-diskmanager*

(tick)

 

 



(tick)

 

 

 

  





mechadora

(tick)

 

 



(tick)

 

 

 

  

smb

Image Removed

 

 

 

 

 

 

 Image Removed

dhcpd

Image Removed

 

Image Removed

 

 

 

Image Removed

  

dhrelay

 

 

 

 

 

 

(tick)

  

abiquo-aim

 

 

 

 

(tick)

 

 

  abiquo-emmett       (tick) abiquo-delorean       (tick) kairosdb       (tick) cassandra       (tick) 





nfs

Image Removed

 

 

 

 

 

 

 Image Removed

(green star)







(green star)

dhcpd

(green star)


(green star)



(green star)



dhrelay






(tick)



abiquo-aim





(tick)




abiquo-emmett







(tick)


abiquo-delorean







(tick)


kairosdb







(tick)


cassandra







(tick)



Notes on Profiles in the Table

  • Monolithic

    • Installation for a single-server Abiquo platform.

...

  • 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 RS

    • Remote Services Server in Distributed Install that manages resources for a physical data center and receives orders from the Distributed Install.

    • See

...

...

classlandsc

...



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:

    Code Block
    # ps aux | grep tomcat
    


  • Example output:

...

...

classtinycode widecode
  • Code Block
    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:

    Code Block
    # 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:

    Code Block
    # service mysql status
    


  • How to start or stop it:

...

titleCaution!

...

  • (error) Stopping the MySQL database server before the Abiquo Server may harm the environment and cause data loss.

    Code Block
    # 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:

    Code Block
    # redis-cli ping
    

    Alternatively, type the following commands:

    Code Block
    # 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:

...

titleCaution

...

  • (error) Always stop the Abiquo-tomcat services first before stopping Redis.

    Code Block
    # 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:

...

titleCaution

...

  • (error) Always stop the Abiquo-tomcat services first before stopping RabbitMQ.

    Code Block
    # service rabbitmq-server status
    


  • How to start or stop it:

    Code Block
    # 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:

...

...

classtinycode widecode
  • Code Block
    # 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:

...

...

classtinycode widecode

...

  • Code Block
    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:

...


...

classtinycode widecode

  • Code Block
    $ 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:

...

  • Code Block
    # 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:

    Code Block
    # service nfs status
    


  • How to start or stop it: Use the service command.

    Code Block
    # service nfs start
    # service nfs

...

smb

...

How to check its status:

Code Block
# service smb status

How to start or stop it:

...

  •  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:

    Code Block
    # service dhcpd status
    


  • How to start or stop it:

    Code Block
    # 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:

    Code Block
    # service dhrelay status
    


  • How to start or stop it:

    Code Block
    # 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:

    Code Block
    # ps aux | grep abiquo-aim
    


  • If abiquo-aim is running, you will see a line like this:

    Code Block
    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:

    Code Block
    # 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:

    Code Block
    # ps aux | grep abiquo-emmett
    


  • If abiquo-emmett is running, you will see a line like this:

    Code Block
    XXX TODO


  • How to start or stop it:
    NOTES ABOUT START / STOP ISSUES 

    Code Block
    # 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:

    Code Block
    # ps aux | grep abiquo-delorean
    


  • If abiquo-delorean is running, you will see a line like this:

    Code Block
    XXX TODO


  • How to start or stop it:

...

  • Make sure that you start KairosDB and Cassandra, and that they are running properly before you start Delorean

    Code Block
    # 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:

    Code Block
    # ps aux | grep kairosdb

    If kairosdb is running, you will see a line like this:
    Image Added

  • How to start or stop it:

...

  • Start KairosDB first before you start the other monitoring services

    Code Block
    # ./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:

    Code Block
    # ps aux | grep cassandra

    If Cassandra is running, you will see a line like this:

    Code Block
    XXX TODO


  • How to start or stop it:

...

  • Remember to check if Cassandra is really dead or not! (smile)

    Code Block
    # bin/cassandra
    # pkill -f CassandraDaemon

...