{{{ #! /bin/bash # Définition de la fonction de génération des adresses macs à partir du numéro du VE mac () { # La racine commune de l'adresse MAC est fixee mac="00:E1:00:01:" # faire un controle sur la variable name (VEID du serveur) if [ $1 -gt 100 ] then { # Formater la variable name pour l'ajouter au reste de l'adresse MAC mac0=$(echo $1 | sed 's/./&:/g'); mac0=$(echo $mac0 | sed 's/^\(.\{1\}\).\(.*\)$/\1\2/'); mac0=$(echo $mac0 | sed 's/^\(.\{4\}\).\(.*\)$/\1\2/'); # Ajouter le résultat obtenu a la racine de l'adresse MAC pour obtenir des adresses MAC completes mac1=$(echo "$mac""$mac0""A"); mac2=$(echo "$mac""$mac0""B"); } else { echo "Le nombre entre doit etre supérieur à 100"; return 0; } fi }; # recuperation des variables a utiliser dans le script echo "Entrer le numero de la machine virtuelle a creer s'il vous plait" read name echo "Entrer la taille de la machine virtuelle a creer s'il vous plait" read taille echo "Entrer le nom du groupe de volumes a utiliser s'il vous plait" read grvol echo "Entrer le nom de l'hote de la machine virtuelle a créer s'il vous plait" read hostname echo "Entrer l'adresse IP de la machine virtuelle a créer s'il vous plait" read ipadd echo "Entrer le nom du pont auquel la machine virtuelle sera ajoutée s'il vous plait" read bridge # verifier que le numéro entré est supérieur à 100 if [ $name -lt 100 ] then { echo "le numero du serveur doit être supérieur a 100"; exit 0; } fi # verifier que le volume logique a creer n'existe pas encore if [ -e /dev/mapper/$grvol-$name ] then { echo "le point de montage existe déja"; exit 0; } fi # Creation d'un volume logique echo "creation du volume logique" lvcreate --size $taille --name $name $grvol # Creation du système de fichier echo "création du système de fichier" mkfs.ext3 /dev/$grvol/$name # Ecriture des bonnes lignes dans le fstab echo "écriture des bonnes lignes dans le fstab" echo ''/dev/mapper/$grvol-$name /var/lib/vz/vz_list/$name ext3 defaults,errors=remount-ro 0 2 '' >> /etc/fstab # Creation du repertoire de montage echo "creation du repertoire de montage" mkdir /var/lib/vz/vz_list/$name # Montage des volumes logiques créés echo "montage" mount -a # Création de l'environnement virtuel vzctl create $name --ostemplate debian-5.0-i386-minimal # Specification du nom du serveur virtuel echo "Specification du nom du serveur virtuel" vzctl set $name --hostname $hostname --save # Specification de l'adresse IP du serveur virtuel echo "Specification de l'adresse IP du serveur virtuel" # Specification de la bonne addresse IP dans le fichier /etc/network/interfaces sed -i 's/address 81.91.236.16/address '$ipadd'/g' /var/lib/vz/vz_list/$name/private/etc/network/interfaces # creation de l'interface veth de la machine virtuelle # appel de la fonction de creation des adresses MACs et passage de paramètre mac $name # Attribution d'une adresse veth au VE vzctl set $name --netif_add "eth0,$mac1,veth$name.0,$mac2,$bridge" --save # demarrage de la machine virtuelle vzctl start $name }}}