Version 1/4 - Next » - Current version
ludo, 03/29/2009 03:37 PM


Création d'un "vsite"

Maintenant que le "client" a été créé, il est nécessaire de créer un "vsite" afin d'y associer des services.

Pour rappel, un "vsite" (que l'on peut traduite en français par site virtuel) correspond à un datacenter virtuel regroupant des services tels que des machines virtuelles, des volumes de stockage, etc ..

Pour créer un "vsite" :

ludovic@ZiSH:# help vsite

        vsite <vsite_name> [<sitegroup_name> <client_name>] - Enter vsite configuration commands.
ludovic@ZiSH:# vsite sous_projet_1 marseille projet_1
Vsite sous_projet_1 created

Attardons nous un peu sur les options à la création du "vsite".

  • vsite_name : il s'agit du nom qui sera donné à votre "vsite"
  • sitegroup_name : groupe de sites physiques sur lesquels seront créés les services associés au "vsite".

Nota : les groupes disponibles actuellement sont : Marseille, Marseille-Paris (site principal à Marseille avec redondance de l'ensemble des services à Paris)

  • client_name : pour associer le "vsite" à un client particulier

Dans notre exemple, nous avons donc créé un "vsite" nommé "sous_projet_1", sur le site de Marseille et rattaché au client "projet_1".

Gestion des "vsite"

Il est donc possible de créer autant de "vsite" que vous le désirez.
Pour connaître la liste de tous vos "vsites", il suffit d'exécuter la commande "show vsite" depuis le client ZiSH :

ludovic@ZiSH:# show vsite
sous_projet_1
sous_projet_2

Pour piloter un de vos "vsites" :

ludovic@ZiSH:# vsite sous_projet_1
Vsite:sous_projet_1# 

De même, pour effacer un de vos "vsites" :

ludovic@ZiSH:# no vsite sous_projet_2
ludovic@ZiSH:# show vsite
sous_projet_1

Pour obtenir des informations sur le "vsite" en cours (client rattaché, sitegroup, services etc...) :

ludovic@ZiSH:# vsite sous_projet_1
Vsite:sous_projet_1# show

Client:          projet_1
SiteGroup:       marseille

Services:

Création de services (machine virtuel, volume de stockage...)

Maintenant que le "vsite " a été créé, nous avons accès à la création et à la gestion de services.
Commençons par faire exécuter la commande "help" depuis le "vsite" afin de lister les services disponibles :

Vsite:sous_projet_1# help

Documented commands (type help <topic>):
========================================
boot  help       ipaddress  no    shutdown  vlan
exit  interface  machine    show  storage 

Regardons maintenant en détail chacun des services, et comment les créer :

machine

Vsite:sous_projet_1# help machine

        machine <machine_name> - Enter machine configuration level.

Pour créer une machine :

Vsite:sous_projet_1# machine vm1
Machine vm1 created

Comme dans l'ensemble du client ZiSH, la commande "show" nous donnera toutes les informations relatives à notre machine :

Machine:sous_projet_1.vm1# show
Machine vm1 is None
  Pending: stalled (None)
  CPU: 1 x86-64bits Memory: 1024
  VNC Desactivated keymap is en-us, password is None, bound on undef:undef
  No interface attached
  No storage attached
  Member of vsite sous_projet_1

storage

Vsite:sous_projet_1# help storage

        storage <storage_name> (<size> | (clone|cloneconfig|clonedata) <storagesource>) - Add/Clone a storage.

Pour créer un storage:

Vsite:sous_projet_1# storage hdd_vm1 20
Storage hdd_vm1 created

interface

Vsite:sous_projet_1# help interface

        interface <interface_name> - Add/Configure a network interface.

Pour créer une interface réseau :

Vsite:sous_projet_1# interface eth0_vm1
Interface eth0_vm1 created
Interface:sous_projet_1.eth0_vm1# show
Interface eth0_vm1 MAC de:ad:01:00:00:0e model virtio in VLAN 2 (ielo.mars.vlan.default)
  No IP address
  In:             0 bytes,            0 packets
  Out:            0 bytes,            0 packets
  Not attached to any machine

ipaddress

Maintenant que nous avons créer notre interface réseau, nous pouvons faire une demande pour lui affecter une IP publique.

Vsite:sous_projet_1# help ipaddress

        ipaddress <ipaddress_name> (ipv4|ipv6) [<reverse>] - Request an ipaddress assignment (IPv4 or IPv6)

Pour faire la demande d'une adresse IP :

ludovic@Vsite:sous_projet_1# ipaddress ip_vm1_eth0 ipv4 fakeip.test.com
Ipaddress successfly allocated with label ip_vm1_eth0

Nous avons accès aux informations relatives à cette adresse IP :

ludovic@Vsite:sous_projet_1# show ipaddress ip_vm1_eth0
IpAddress ip_vm1_eth0 : 85.118.58.5/24

     Reverse DNS : FAKEIP.TEST.COM.
     Address     : 85.118.58.5
     Netmask     : 255.255.255.0
     Broadcast   : 85.118.58.255
     Gateway     : 85.118.58.254
     Nameserver  : 85.118.58.253

  Not attached to any interface

Comme indiqué ici, cette IP n'est attaché à aucune interface. Voyons comme faire cela :

ludovic@Interface:sous_projet_1.vm1_eth0# ipaddress ip_vm1_eth0

Un nouveau "show" sur l'IP nous indiquera maintenant qu'elle a bien été affecté à l'interface "vm1_eth0".

ludovic@Vsite:sous_projet_1# show ipaddress ip_vm1_eth0
IpAddress ip_vm1_eth0 : 85.118.58.5/24

     Reverse DNS : FAKEIP.TEST.COM.
     Address     : 85.118.58.5
     Netmask     : 255.255.255.0
     Broadcast   : 85.118.58.255
     Gateway     : 85.118.58.254
     Nameserver  : 85.118.58.253

   Attached to Interface vm1_eth0 macAddr de:ad:01:00:00:87

vlan

Pour créer un vlan :

ludovic@Vsite:sous_projet_1# vlan vlan_prod
VLAN vlan_prod created

ludovic@Vlan:sous_projet_1.vlan_prod# show
VLAN 18 (vlan_prod)
  No member interface
ludovic@Vlan:sous_projet_1.vlan_prod# help

Documented commands (type help <topic>):
========================================
exit  help  interface  no  show
Il est donc ici possible d'affecter une interface réseau préalablement créé à ce vlan.
ludovic@Vlan:sous_projet_1.vlan_prod# interface vm1_eth0
ludovic@Vlan:sous_projet_1.vlan_prod# show
VLAN 18 (vlan_prod)
  Member interface(s):
    vm1_eth0 at de:ad:01:00:00:87

Exemple concret de création de machine avec services associés

  • création de la machine virtuelle
ludovic@Vsite:sous_projet_1# machine vm1
Machine vm1 created
ludovic@Machine:sous_projet_1.vm1#
ludovic@Machine:sous_projet_1.vm1# help

Documented commands (type help <topic>):
========================================
boot     exit  interface  no      shutdown  vcpu
cputype  help  memory     reboot  storage   vnc 

ludovic@Machine:sous_projet_1.vm1# show
Machine vm1 is None
  Pending: stalled (None)
  CPU: 1 x86-64bits Memory: 1024
  VNC Desactivated keymap is en-us, password is None, bound on undef:undef
  No interface attached
  No storage attached
  Member of vsite sous_projet_1
  • création d'un ou plusieurs stockage

Le storage doit être créé au niveau du "vsite" :

ludovic@Vsite:sous_projet_1# storage vm1_sda 10
Storage vm1_sda created.

Nous pourrons ensuite l'attacher à une machine virtuelle :

ludovic@Machine:sous_projet_1.vm1# help storage

        storage <storage_name> [opt]...
            opt :=  ( readonly
                    | bootable
                    | bus (virtio|ide|scsi)
                    | priority <priority> )

            Add storage_name to this machine.  If bootable is specified with
            optional priority, mark device as bootable.

ludovic@Machine:sous_projet_1.vm1# storage vm1_sda
  • création d'un ou plusieurs interfaces réseau

Cette création se fait également au niveau du vsite...

ludovic@Vsite:sous_projet_1# interface vm1_eth0
Interface vm1_eth0 created

... et son affectation au niveau de la machine virtuelle :

ludovic@Machine:sous_projet_1.vm1# interface vm1_eth0
  • modification du cpu

Il est possible de faire plusieurs modifications concernant le processeur sur les machines virtuelles, à savoir changer le nombre de CPU attaché à une machine, et également leur type (32/64 bits).

Par exemple, pour affecter deux CPU à notre machine virtuelle :

ludovic@Machine:sous_projet_1.vm1# vcpu 2

Si l'on veut changer leur type :

ludovic@Machine:sous_projet_1.vm1# cputype x86-32bits

Nota : les options possibles pour le type du CPU sont x86-32bits etx86-64bits.

  • modification de la mémoire

Pour modifier la quantité de mémoire sur notre machine :

ludovic@Machine:sous_projet_1.vm1# memory 4G

Nota : l'aide du ZiSH nous indique qu'il est possible d'affecter une valeur en MegaOctets : "M" ou en GigaOctets : "G" lors de cette affectation.

  • accès VNC

Les options sont plus nombreuses, et permettent de configurer au mieux cet outil.

ludovic@Machine:sous_projet_1.vm1# help vnc

        vnc keymap <keymap>
        vnc password <password>
        vnc enable
        vnc disable

Il nous ait donc possible de modifier le keymap, le mot de passe et d'activer / désactiver cet accès.

Donc, si nous voulons activer l'accès VNC, avec un keymap français et un mot de passe :

ludovic@Machine:sous_projet_1.vm1# vnc keymap fr
ludovic@Machine:sous_projet_1.vm1# vnc password fake_password
ludovic@Machine:sous_projet_1.vm1# vnc enable

Nota : le mot de passe doit contenir 8 caractères minimum.
Nota : l'accès VNC ne peut être activé que si la machine virtuelle a démarré.

Gestion des services

Pour gérer tous les services décrits ci-dessus, trois nouvelles commandes sont indispensables :

  • boot : permet de démarrer une machine virtuel
Vsite:sous_projet_1# boot vm1
  • shutdown : permet d'éteindre comme son nom l'indique un serveur virtuel
Vsite:sous_projet_1# shutdown vm1
  • no : cette commande permet ici aussi du supprimer des services relatifs au "vsite", par exemple :
Vsite:sous_projet_1# no interface eth0_vm1

Also available in: HTML TXT