# 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

ZAO/Cotonou/Modèles/OpenVz/script de d'installation (dernière édition le 2010-05-12 12:49:01 par FranckKouyami)