1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
| #! /bin/bash
nombredisk=0;
mem=0;
proc=0;
while [ $nombredisk -gt 2 ] || [ $nombredisk -lt 1 ] ; do
clear
echo "1 - CHOIX DU NOMBRE DE DISQUE (2 Maximum)";
echo "";
echo -n "Combien de disque souhaitez vous utiliser ? : ";
read nombredisk
done
case $nombredisk in
1)
clear
echo "1.1 - CHOIX DE LA TAILLE DU DISQUE (Go)";
echo "";
echo "Exemple pour 20Go : 20G";
echo "";
echo -n "Quelle taille voulez-vous pour le disque ? : ";
read tailledisk1
clear
echo "2 - CHOIX DU NOM DU SERVEUR ";
echo "";
echo -n "Quelle nom voulez-vous attribuer à votre serveur ? : ";
read nomsrv
echo "Création de l'image en cours, veuillez patienter ....";
echo "";
mkdir /xen/domU-Win32/$nomsrv
qemu-img create /xen/domU-Win32/$nomsrv/$nomsrv.img $tailledisk1
while [ ! -f "/xen/ISO/$iso" ] ; do
clear
echo "3 - CHOIX DE L'IMAGE ISO";
echo "";
ls -l /xen/ISO
echo "";
echo -n "Quelle ISO voulez-vous utiliser ? : ";
read iso
done
clear
echo "4 - CHOIX MEMOIRE SERVEUR (Mo)";
echo "";
echo "Exemple pour 1Go : 1024";
echo "";
echo -n "Combien de mémoire voulez-vous attribuer à votre serveur ? : ";
read mem
while [ $proc -gt 4 ] || [ $proc -lt 1 ] ; do
clear
echo "5 - CHOIX PROCESSEUR SERVEUR (4 Maximum)";
echo "";
echo -n "Combien de processeurs voulez-vous attribuer à votre serveur ? : ";
read proc
done
;;
2) clear
echo "1.1 - CHOIX DE LA TAILLE DES DISQUES (Go)";
echo "";
echo "Exemple pour 20Go : 20G";
echo "";
echo -n "Quelle taille voulez-vous pour le 1er disque ? : ";
read tailledisk1
echo "";
echo -n "Quelle taille voulez-vous pour le 2eme disque ? : ";
read tailledisk2
clear
echo "2 - CHOIX DU NOM DU SERVEUR ";
echo "";
echo -n "Quelle nom voulez-vous attribuer à votre serveur ? : ";
read nomsrv
echo "Création des images en cours, veuillez patienter ....";
echo "";
mkdir /xen/domU-Win32/$nomsrv
qemu-img create /xen/domU-Win32/$nomsrv/$nomsrv.img $tailledisk1
qemu-img create /xen/domU-Win32/$nomsrv/"$nomsrv"-disk2.img $tailledisk2
while [ ! -f "/xen/ISO/$iso" ] ; do
clear
echo "3 - CHOIX DE L'IMAGE ISO";
echo "";
ls -l /xen/ISO
echo "";
echo -n "Quelle ISO voulez-vous utiliser ? : ";
read iso
done
clear
echo "4 - CHOIX MEMOIRE SERVEUR (Mo)";
echo "";
echo "Exemple pour 1Go : 1024";
echo "";
echo -n "Combien de mémoire voulez-vous attribuer à votre serveur ? : ";
read mem
while [ $proc -gt 4 ] || [ $proc -lt 1 ] ; do
clear
echo "5 - CHOIX PROCESSEUR SERVEUR (4 Maximum)";
echo "";
echo -n "Combien de processeurs voulez-vous attribuer à votre serveur ? : ";
read proc
done
;;
esac
clear
echo "6 - CHOIX DU MOT DE PASSE VNC";
echo "";
echo "Pour vous connecter à votre domU en VNC,";
echo "Connectez votre client VNC sur l'adresse : 94.23.11.20:<port>";
echo "Les numéros de port VNC sont incrémentés avec les domU.";
echo "Donc pour le premier domU, le numéro de port est le 0, pour le second domU, le 1 ect...";
echo "Pour voir la liste des domU, utilisez la commande xm list.";
echo "";
echo -n "Quel mot de passe souhaitez vous pour le server VNC de votre domU ? : ";
read vncmdp
clear
echo "7 - RECAPITULATIF DU FICHIER XEN $nomsrv";
echo "";
echo " Nombre de disque : $nombredisk";
echo " Taille des disques : $tailledisk1 $tailledisk2";
echo " Nom du serveur : $nomsrv";
echo " Image ISO utilisée : $iso";
echo " Memoire serveur : $mem";
echo " Processeur serveur : $proc";
echo " Mot de passe VNC : $vncmdp";
echo "";
echo "import os, re" >> /etc/xen/domU-Win32/$nomsrv
echo "arch = os.uname()[4]" >> /etc/xen/domU-Win32/$nomsrv
echo "arch_libdir = 'lib'" >> /etc/xen/domU-Win32/$nomsrv
echo "kernel = \"/usr/lib/xen/boot/hvmloader\"" >> /etc/xen/domU-Win32/$nomsrv
echo "builder='hvm'" >> /etc/xen/domU-Win32/$nomsrv
echo "memory = $mem" >> /etc/xen/domU-Win32/$nomsrv
echo "name = \"$nomsrv\"">> /etc/xen/domU-Win32/$nomsrv
echo "vcpus=$proc" >> /etc/xen/domU-Win32/$nomsrv
echo "cpus = \"0-3\"" >> /etc/xen/domU-Win32/$nomsrv
echo "vif = [ 'type=ioemu, bridge=xenbr0' ]" >> /etc/xen/domU-Win32/$nomsrv
if [ $nombredisk -eq 1 ] ; then
echo "disk = [ 'file:/xen/domU-Win32/$nomsrv/$nomsrv.img,hda,w', 'file:/xen/ISO/$iso,hdc:cdrom,r' ]" >> /etc/xen/domU-Win32/$nomsrv
elif [ $nombredisk -eq 2 ] ; then
echo "disk = [ 'file:/xen/domU-Win32/$nomsrv/$nomsrv.img,hda,w', 'file:/xen/domU-Win32/$nomsrv/"$nomsrv"-disk2.img,hdb,w', 'file:/xen/ISO/$iso,hdc:cdrom,r' ]" >> /etc/xen/domU-Win32/$nomsrv
fi
echo "device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'" >> /etc/xen/domU-Win32/$nomsrv
echo "boot=\"dc\"" >> /etc/xen/domU-Win32/$nomsrv
echo "vnc=1" >> /etc/xen/domU-Win32/$nomsrv
echo "vncconsole=1" >> /etc/xen/domU-Win32/$nomsrv
echo "vncunused=1" >> /etc/xen/domU-Win32/$nomsrv
echo "vncpasswd='$vncmdp'" >> /etc/xen/domU-Win32/$nomsrv
echo "nographic=0" >> /etc/xen/domU-Win32/$nomsrv
echo "stdvga=1" >> /etc/xen/domU-Win32/$nomsrv
echo "serial='pty'" >> /etc/xen/domU-Win32/$nomsrv
echo "usb=1" >> /etc/xen/domU-Win32/$nomsrv
echo "usbdevice='mouse'" >> /etc/xen/domU-Win32/$nomsrv
echo "keymap='fr'" >> /etc/xen/domU-Win32/$nomsrv
echo "guest_os_type='windows'" >> /etc/xen/domU-Win32/$nomsrv
echo "Fichier $nomsrv créé et configuré avec succès";
echo "";
echo -n "Souhaitez-vous démarrer votre serveur virtuel ? (O/N): ";
read demarrage
if [ "$demarrage" = "O" ] || [ "$demarrage" = "o" ]; then
xm create /etc/xen/domU-Win32/$nomsrv
else
echo "";
echo "Configuration terminée";
echo "Pour lancer votre domU, utilisez la commande : xm create /etc/xen/domU-Win32/$nomsrv";
echo "";
fi |
Partager