« Previous - Version 2/4 (diff) - Next » - Current version
ludo, 03/29/2009 03:54 PM


Create a vsite

Now that the client have been created, it is necessary to create a vsite in order to use the services.

For the records, a vsite (meaning a "virtual site") is a virtual datacenter, which includes the services (virtual machine, stockage backends, etc...)

To create a 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

Let's take a look of the available option when creating a vsite.

  • vsite_name : it is the name which will be affected to your vsite.
  • sitegroup_name : it represents the group of physical sites on which the services (associated with the vsite) will be created

Nota : the groups actually available are : Marseille, Marseille-Paris (primary site in Marseille with full redundancy of the services in Paris)

  • client_name : to associate the vsite to a particular client

In our example, we have create a vsite named "sous_projet_1", on Marseille's site, et attached to the "projet_1" client.

Manage the vsite

It is possible to create as many vsite as you want.
In order to know the entire list of your vsite, you simply have to execute the "show vsite" command through your ZiSH client :

ludovic@ZiSH:# show vsite
sous_projet_1
sous_projet_2

To manage one of your vsite :

ludovic@ZiSH:# vsite sous_projet_1
Vsite:sous_projet_1# 

To delete one of your vsite :

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

To display informations about the current vsite (attached client, sitegroup, services, etc...) :

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

Client:          projet_1
SiteGroup:       marseille

Services:

Create services (virtual machine, stockage...)

Now that the vsite have been create, we can access to the create and manage services part.
Let's start by execute the "help" command in order to list the available services :

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