Outils personnels

Archipel installation : Différence entre versions

De wikiGite

(Page créée avec « Archipel : interface de gestion de machines virtuelles Xen, KVM, OpenVZ, VirtualBox. Installation sur Squeeze : https://github.com/primalmotion/Archipel/wiki/Installation-ma... »)
(Aucune différence)

Version du 26 avril 2011 à 13:22

Archipel : interface de gestion de machines virtuelles Xen, KVM, OpenVZ, VirtualBox.

Installation sur Squeeze : https://github.com/primalmotion/Archipel/wiki/Installation-manual

apt-get install ejabberd subversion erlang-dev erlang-xmerl build-essential erlang-tools python-libvirt

Installation ejabberd

Sur un des serveurs hôtes (les autres serveurs Archipel feront appel à lui)

Modules ejabberd (mod_admin_extra et ejabberd_xmlrpc) :

La librairie erlang-xmlrpc n'est pas fournie par Debian. On doit la construire.

cd /usr/local/src
wget http://ejabberd.jabber.ru/files/contributions/xmlrpc-1.13-ipr2.tgz
tar -xzf xmlrpc-1.13-ipr2.tgz
cd xmlrpc-1.13/src
vi Makefile

Remplacer :

  • XMERL_PATH=../../xmerl par XMERL_PATH=/usr/lib/erlang/lib/xmerl-1.2.5
  • $(XMERL_PATH)/inc par $(XMERL_PATH)/include

Puis

make
cp -a xmlrpc-1.13 /usr/lib/erlang/lib/

Obtenir les sources des modules

cd /usr/local/src
svn checkout http://svn.process-one.net/ejabberd-modules/
cd /usr/local/src/ejabberd-modules/ejabberd_xmlrpc/trunk
./build.sh
cp ebin/ejabberd_xmlrpc.beam /usr/lib/ejabberd/ebin/
cd /usr/local/src/ejabberd-modules/mod_admin_extra/trunk/
./build.sh
cp ebin/mod_admin_extra.beam /usr/lib/ejabberd/ebin/

Configuration

mv /etc/ejabberd/ejabberd.cfg /etc/ejabberd/ejabberd.cfg.dist
vi /etc/ejabberd/ejabberd.cfg

Copier dans ce fichier vide le contenu du .cfg donné sur la page d'install https://github.com/primalmotion/Archipel/wiki/Ejabberd-configuration-sample.

Remplacer "FQDN" par le nom fqdn réèl du serveur (au moins 2 occurences).

Remplacer /opt/ejabberd-2.1.6/conf/server.pem par /etc/ejabberd/ejabberd.pem

Relancer ejabberd

Créer un compte admin XMPP

ejabberdctl register admin your.fqdn.com yourpassword

Tester ejabberd

/etc/init.d/ejabberd live

Pour sortir taper q()

Installation Archipel Agent

Sur chacun des serveurs à administrer

Installer Git

apt-get install git

puis cloner le repository Archipel

cd /usr/local/src
git clone git://github.com/primalmotion/Archipel.git
cd Archipel

Installer les tools python (pour avoir easy_install)

apt-get install python-pip
easy_install /usr/local/src/Archipel/ArchipelAgent/archipel-agent

Puis lancer le script de post-install

archipel-initinstall

A la fin de l'installation, on doit avoir le message :

# Installation initialization started
 - installing init script to /etc/init.d/archipel: [OK]

 - installing configuration to /etc/archipel:      [OK]

 - installing data folder to /var/lib/archipel     [OK]

[SUCCESS] : installation initialization complete

 ** IMPORTANT NOTE 1: you now need to edit /etc/archipel/archipel.conf top match your informations **
 ** IMPORTANT NOTE 2: if this is not already done, you need to run archipel-tagnode and archipel-rolesnode **

Editer le fichier de configuration :

vi /etc/archipel/archipel.conf

Remplacer "xmpp_server = REPLACE_THIS_WITH_YOUR_XMPP_SERVER_FQDN" par le fqdn réèl du serveur

remplacer éventuellement le chemin des VM vm_base_path (ou carrément la racine archipel_folder_data)

NOTE Debian squeeze : créer un lien "/usr/bin/qemu-img" vers "/usr/bin/kvm-img"

Lancer Archipel

/etc/init.d/archipel start

Post install

archipel-tagnode --jid=admin@FQDN --password=YOURPASSWORD --create
archipel-rolesnode --jid=admin@FQDN --password=YOURPASSWORD --create

(Pubsub signifie PUBlishers and SUBscribers). Permet le push des messages de création de tags (recherches) et de rôles (permissions).

Mise à jour

easy_install -U archipel-agent
/etc/init.d/archipel restart

(Si la configuration a changé, il faudra relancer archipel-initinstall, mais ce n'est pas nécessaire dans le cas contraire)

NOTES

  • Les images iso doivent être dans $(archipel_folder_data)/iso
  • Les images vdisks seront créées dans $(archipel_folder_data)/drives/<UUID>. Si aucune extension n'est donnée, il prend l'extension correspondant au format de fichier à créer (qcow2 par défaut).

Installation Client

NOTE ARCHITECTURE : le client se connecte en premier au serveur ejabberd (avec son JID). Ensuite on lui enregistre des "contacts" (les "hyperviseurs" correspondant aux agents installés sur les serveurs). Le serveur ejabberd peut donc être seul sur un serveur à part.

Utiliser app.archipelproject.org, ou installer le client nightly à partir de http://nightlies.archipelproject.org/ (à décompresser, puis lancer index.html). Avec Chromium en local : lancer chromium --disable-web-security sinon il refuse d'executer un file://....

Pour mettre le client sur un apache centralisé (comme app.archipelproject.org) --> virthost apache et juste décompresser le tar dans le root dir du vhost : A LA RACINE (pas dans un sous-rep Archipel comme le crée le tar.gz !) TODO : Sécurité : il faudra mettre ça en https et ajouter un .htaccess ?

Enregistrer un hyperviseur: bouton "+" en bas à gauche, donner le JID et un alias

Enregistrer une VM créé par libvirt (ex : avec virt-manager) :

virsh dumpxml testdeb  | grep uuid
archipel-importvirtualmachine --file=/var/lib/archipel/hypervisor.sqlite3 --uuid=52df5ff8-9cff-c75d-df55-08b2f138652c --xmppserver=ysabell.systea.net --name=testdeb

Puis dans le GUI, onglet "virtual machine", double cliquer sur l'uuid dans la liste et "accepter le contact"

Utilisation du GUI

  • Création VM

!! attention a activer ACPI et APCI dans la definition, et vérifier que l'os invité les gère, sinon on ne pourra pas interagir avec la VM (shutdown, pause...)

  • Création vdisk
  • Onglet Chat : chatter avec la VM !
taper "help" dans la zone de saisie pour avoir les commandes de base