Administration système Linux
Mohamed Yacoubi

Par Mohamed Yacoubi

Le Datacenter virtuel par Hegerys (vCloud powered)

vmware_vcloud

Sous le giron du groupe Magic OnLine, Hegerys vous propose un datacenter virtuel gratuit pour une durée de 1 mois.



De quoi s'agit-il ?


  • Un pool de ressources (RAM, CPU, stockage, VPN, adresses IP publiques / privées...) que vous pouvez répartir sur autant de serveurs que vous le souhaitez,
  • Une infrastructure en haute disponibilité redondée et répliquée,
  • Une interface Web permettant de lancer, dupliquer, arrêter et administrer ses serveurs,
  • Un catalogue de vApps préconfigurées (Windows Server, Linux Ubuntu...) permettant de démarrer de nouveaux serveurs en quelques clics,
  • Une migration (P2V) simplifiée au maximum en utilisant les standards du marché,
  • La gestion dynamique des ressources allouées aux serveurs,
  • Le déploiement d'architectures complexes (multi-tiers) en quelques clics,
  • Pas d'engagement de durée.



Avec l'offre Datacenter Virtuel VMware vCloud Director, Hegerys va plus loin dans sa proposition de valeur aux entreprises et s'appuie sur le leader mondial de la virtualisation pour offrir une solution qui permet toute la flexibilité et la marge de manoeuvre d'un véritable Datacenter.
Vous disposez d'un pool de ressources extensibles selon les besoins (processeur, RAM, stockage, etc.) et de services (Firewall dédié, VPN, NAT, DHCP, etc.) provisionnés automatiquement et en temps réel, administrables très simplement via une interface Web sécurisée.
Cette solution est particulièrement avantageuse pour toute entreprise qui souhaite migrer tout ou partie de son IT vers un espace Cloud sécurisé.

FONCTIONNALITÉS ET AVANTAGES DE VCLOUD DIRECTOR 1.5 :


VMware vCloud Director 1.5 fournit un nombre important de fonctionnalités avancées aux clients Hegerys.
Quelques unes de ces fonctionnalités notables incluent:

  • Interface Utilisateur (UI) - Le portail web vCloud Director fournit un contrôle en « self-service » sur les ressources de vos Datacenters Virtuels.
  • Firewall dédié - Les firewalls de vCloud Director, utilisant la technologie VMware vShield®, permettent une granularité fine en terme de règle de firewall, complément important des firewalls physiques Hegerys en amont de vos Datacenters Virtuels.
  • Self-Service VPN - vCloud Director 1.5 offre la possibilité de configurer des tunnels VPN IPSEC à la demande, et ce de façon très simple depuis l'interface utilisateur vCloud Director.
  • vCloud API 1.5 - L'API RESTful vCloud vous permet d'automatiser tout ou partie de votre provisionning, cycle de vie de vos Machines Virtuelles, règles de sécurités, etc. Cette API est accessible depuis une variété de « toolkits » de programmation (notamment Powershell, PHP, Java, .NET ou encore l'orchestrateur VMware vCenter Orchestrator vCloud 1.5), automatisant ainsi vos Datacenters Virtuels.


Liens utiles :
- Datacenter virtuel hegerys

Xen vif-route and private lan

Xen_logo.png
J'utilisais depuis quelques années un lan privé entre mes DomU et le Dom0 (le Dom0 génère les graphs Munin) qui fonctionnait sans problème en bridge mais suite à l'allocation de ma plage IPv6 routé, j'ai du modifier ma configuration Xen en mode routé (vif-route).

En mode routé je devais exécuter des commandes manuellement sur le Dom0 afin de modifier le routage de l'interface eth1.

ip route del 10.41.233.XXX dev blog.1  scope link  src 78.41.233.XXX
ip route add 10.41.233.XXX dev blog.1  scope link  src 10.41.233.XXX

Ce fonctionnement me permettait des communications DomU <=> Dom0 mais pas DomU <=> DomU (perte de paquet aléatoire).

Suite à la réinstallation de mon hyperviseur Xen en 64Bits (ca m'aura pris du temps pour trouver la motivation), je me suis décidé à tout remettre au propre. (je traine des patchs homemade depuis Xen-3.2.1)

Voici donc ma nouvelle configuration permettant l'utilisation du vif-route et du vif-bridge simultanément, pour éviter d'éventuel bug j'ai préféré créer une interface dummy plutôt que d'ajouter un alias à l'interface loopback.

  • /etc/conf.d/net
config_dummy0=( "10.41.233.1/24" )
  • /etc/xen/scripts/network-custom
#!/bin/sh
dir=$(dirname "$0")
"$dir/network-route" "$@" netdev=eth0
"$dir/network-bridge" "$@" netdev=dummy0 bridge=private
  • /etc/xen/scripts/vif-custom
#!/bin/sh
dir=$(dirname "$0")
IFNUM=$(echo ${vif}|> | cut -d. -f2)
 
if [ "$IFNUM" = "0" ] ; then
	# Interface 0 = public lan
	"$dir/vif-route" "$@"
else
	# Sinon private lan
	"$dir/vif-bridge" "$@"
fi
  • /etc/xen/xend-config.sxp

On commente l'ensemble des autres scripts réseaux (bridge, route, nat)

(network-script network-custom)
(vif-script     vif-custom)

On relance xend

/etc/init.d/xend restart

A ce stade vous devriez avoir une interface nommée private disposant de l'IP privée assignée.

15: private: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 16:c7:56:f6:4d:3c brd ff:ff:ff:ff:ff:ff
    inet 10.41.233.1/24 brd 10.41.233.255 scope global private
    inet6 fe80::14c7:56ff:fef6:4d3c/64 scope link 
       valid_lft forever preferred_lft forever

Il vous suffit à présent d'adopter cette configuration sur vos DomU.

vif = [ 'mac=XX:XX:XX:XX:XX:XX, ip=78.41.233.XXX', 'mac=XX:XX:XX:XX:XX:XX, ip=10.41.233.XXX, bridge=private' ]


Liens utiles :
- Xen Networking Examples

Système de fichier distribué Glusterfs - volume en striping

gluster_logo

La suite des tests gluster, nous attaquons la mise en place d'un volume en striping.
Les serveurs de fichiers dispose d'une partition de 10Go qui sera exporté.

filer-1 / # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  1.4G  8.0G  15% /
udev                   10M  116K  9.9M   2% /dev
shm                   249M     0  249M   0% /dev/shm
filer-2 ~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  1.4G  8.0G  15% /
udev                   10M  116K  9.9M   2% /dev
shm                   249M     0  249M   0% /dev/shm


Configuration de base :


Il faut dans un premier temps le pool de confiance si ce dernier n'existe pas.
La procédure est décrite dans l'article volume répliqué et distribué


Configuration d'un volume en striping :


Nous allons créer le volume stripé sur 2 serveurs de stockage, le but étant d' aggreger l'espace de stockage (Raid-0).

  • La création du volume est extrêmement simple :
filer-1 ~ # gluster volume create test-volume stripe 2 transport tcp filer-1:/mnt filer-2:/mnt
Creation of volume test-volume has been successful. Please start the volume to access data.
  • On vérifie le volume
filer-2 ~ # gluster volume info
Volume Name: test-volume
Type: Stripe
Status: Created
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: filer-1:/mnt
Brick2: filer-2:/mnt
  • A présent on démarre le volume
filer-2 ~ # gluster volume start test-volume
  • On monte le volume depuis les clients
client-1 ~ # mount -t glusterfs filer-1:7997:/test-volume /glusterfs
client-1 ~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.9G  1.6G  6.0G  22% /
udev                   10M  112K  9.9M   2% /dev
shm                   249M     0  249M   0% /dev/shm
filer-1:/test-volume   20G  2.8G   16G  15% /glusterfs

Nous disposons bien d'un volume strippé.

Test divers :

  • Test en ecriture.
client-1 ~ # for i in `seq 0 2`; do dd if=/dev/zero of=/glusterfs/wap$i.img bs=300M count=1; done
client-1 ~ # du -h /glusterfs/*
301M	/glusterfs/wap0.img
301M	/glusterfs/wap1.img
301M	/glusterfs/wap2.img
filer-1 ~ # du -h /mnt/*
151M	/mnt/wap0.img
151M	/mnt/wap1.img
151M	/mnt/wap2.img
filer-2 ~ # du -h /mnt/*        
151M	/mnt/wap0.img
151M	/mnt/wap1.img
151M	/mnt/wap2.img
  • Voyons comment réagi le volume en cas de panne sur l'un des filer.
client-1 ~ # echo 'abcdefghij' > /glusterfs/test
client-1 ~ # ls -l /glusterfs
total 8
-rw-r--r-- 1 root root 11 Nov 12 00:38 test
filer-1 / # ls -l /mnt/
total 8
-rw-r--r-- 1 root root 11 Nov 12 00:38 test
filer-1 / # cat /mnt/test 
abcdefghij
filer-1 / #
filer-2 ~ # ls -l /mnt/
total 4
-rw-r--r-- 1 root root 0 Nov 12 00:38 test
filer-2 ~ # cat /mnt/test 
filer-2 ~ #
  • Simulation de panne sur filer-2

On désactive le filer-2

filer-2 ~ # halt
Broadcast message from root (pts/0) (Sat Nov 12 00:40:50 2011):
The system is going down for system halt NOW!

On écrit sur le point de montage depuis le client

client-1 ~ # rm /glusterfs/test 
rm: cannot remove `/glusterfs/test': Transport endpoint is not connected
client-1 ~ # cat /glusterfs/test 
cat: /glusterfs/test: Transport endpoint is not connected
client-1 ~ # touch /glusterfs/test2
touch: cannot touch `/glusterfs/test2': Input/output error

On réactive filer-2 et on vérifie que tout est ok.

filer-2 ~ # ls -l /mnt/
total 4
-rw-r--r-- 1 root root 0 Nov 12 00:38 test

On écrit sur le point de montage depuis le client

client-1 ~ # touch /glusterfs/test3
client-1 ~ # ls -l /glusterfs
total 12
-rw-r--r-- 1 root root 11 Nov 12 00:38 test
-rw-r--r-- 1 root root  0 Nov 12 00:44 test3
  • Simulation de panne sur filer-1

On eteint filer-1

filer-1 / # halt
Broadcast message from root (pts/0) (Sat Nov 12 00:47:43 2011):
The system is going down for system halt NOW!

On effectue un accès depuis client-1

client-1 ~ # ls -l /glusterfs/
ls: cannot access /glusterfs/: Transport endpoint is not connected


Les fichiers sont stockés à 50% sur chacun des filers et les en cas de panne les conséquences sont catastrophique.
Le benchmark devrait être intéressant :)

Euro-Web devient Hegerys

Sous le giron du groupe Magic OnLine, Euro-Web devient Hegerys.
Communiqué de presse du 30 Novembre 2011 :

Bonjour,

Le 4 juillet 2011 dernier, nous vous annoncions la fusion d'Euro-Web avec l'activité hébergement de Magic OnLine, avec pour principal objectif d'accroître notre R&D afin de vous proposer de nouveaux services, tout en continuant à vous apporter des réponses rationnelles et économiques à vos besoins.

Quatre mois plus tard, nous avons le plaisir de vous annoncer la naissance de Hegerys : une nouvelle entité qui regroupe les deux activités d'hébergement du groupe Magic OnLine.

Cette nouvelle marque positionnera Hegerys comme un « pure player » de l'hébergement à valeur ajoutée opérant près de 4000 serveurs dans 5 datacenters et un réseau IP de 10 Gb/s.

Sur le plan opérationnel :

Hegerys est dirigé par les fondateurs d'Euro-Web et vos interlocuteurs techniques habituels restent bien évidemment les mêmes.
Le site internet d'Euro-Web sera transféré dans les jours qui viennent sur http://www.hegerys.com.
Votre espace client et vos identifiants clients sont inchangés : http://www.hegerys.com/clients/login.php5
Notre numéro de téléphone reste identique et vous pouvez continuer à nous contacter au 01.75.43.75.75.
Nos adresses emails restent identiques et seront transférées progressivement sur hegerys.com.
Comme vous le verrez à la visite du site http://www.hegerys.com, des nouveaux services viennent de voir le jour :

Cloud Hyper-V
Cloud VMWare
Cloud privé
Services Saas
Sécurité et Firewall

Toutes nos équipes se tiennent à votre disposition pour tout renseignement complémentaire.

Cordialement,
L'équipe Hegerys.

Système de fichier distribué Glusterfs - Benchmark replication distribuée

gluster_logo

Après la publication de la réplication distribuée, voici les premiers benchmarks.

Le protocole de test est le suivant :

  • Serveurs : Intel Core2 Quad Q9550 - 512Mo de RAM
  • Outil : fileop
  • Pas d'optimisation particulère
  • Création d'une arborescence de fichier de 4K (création de 20 répertoires contenant 20 répertoires contenant un fichier de 4K)
  • Création d'une arborescence de fichier de 40M (création de 6 répertoires contenant 6 répertoires contenant un fichier de 40M)
  • Comparatif : Écriture en local, via gluster puis NFS


1) Génération de l'arborescence 4K:

Test en local :

client-1 ~ # time ./fileop -d /glusterfs_local/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20   23960  381779   98668   16779  442536   63848   63694  389805  555721  490175  369310   70380  178352  241133   94628       8000 
 
real    0m54.757s
user    0m0.203s
sys     0m0.520s

Test via le protocole NFS :

client-1 ~ # mount | grep /glusterfs_nfs
78.41.XXX.XXX:/nfs on /glusterfs_nfs type nfs (rw,noatime,addr=78.41.XXX.XXX)
client-1 ~ # time ./fileop -d /glusterfs_nfs/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20     190   25031     273     154    6418   62354  163237  266426   12863  394146    4618    6265    1347     313     302       8000 
 
real	4m33.915s
user	0m0.030s
sys	0m0.080s

Test via le protocole Gluster :

client-1 ~ # mount | grep '/glusterfs'
filer-1:/test-volume on /glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
client-1 ~ # time ./fileop -d /glusterfs/ -f 20 -s 4k -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A   20    1362    3371    2398     835    2462    3411   16958    6960    2785    4124    1545    2840     945    1232    1188       8000 
 
real	1m59.461s
user	0m0.023s
sys	0m0.523s



2) Génération de l'arborescence 40M :

Test local :

client-1 ~ # time ./fileop -d /mnt/ -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A    6   71305  403178  105082   15906  113915       1      14  104410  520373  510405  367981  169848  202678  295200     875        216 
 
real	7m44.478s
user	0m27.758s
sys	0m15.576s

Test via le protocole NFS :

client-1 ~ # mount | grep /glusterfs_nfs
78.41.XXX.XXX:/nfs on /glusterfs_nfs type nfs (rw,noatime,addr=78.41.XXX.XXX)
client-1 ~ # time ./fileop -d /glusterfs_nfs/ -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
A    6     306  153298     642      45    3070       1      26   90751   11435   13304    2221    8485    5251    3831     639        216 
 
real	7m23.497s
user	0m28.012s
sys	0m16.809s

Test via le protocole Gluster :

client-1 ~ # mount | grep '/glusterfs'
filer-1:/test-volume on /glusterfs type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
client-1 ~ # time ./fileop -d /glusterfs -f 6 -s 40M -e
 .       mkdir   chdir   rmdir  create    open    read   write   close    stat  access   chmod readdir  link    unlink  delete  Total_files
 
A    6    1528  357139    2713      26     806       1       2    2558    4536    3942    2533    4365    1259    1870     424        216 
 
real	17m1.170s
user	0m27.895s
sys	0m8.719s

- page 1 de 9