Le script suivant permet de pourvoir :
– Installer proxmox de manière automatique
– Définir un master et un node
– Supprimer un node
#!/bin/bash
# KDE 2011 - kilian@desroches.net
# Script d'installation automatique de proxmox
function menu() {
clear
echo "####################################################"
echo "# #"
echo "# Script d’installation PROXMOX / v1.xx #"
echo "# KDE - kilian@desroches.net #"
echo "####################################################"
echo "1 – Installation de PROXMOX"
echo "2 – Definir un MASTER"
echo "3 – Definir un NODE et joindre le MASTER"
echo "4 – Supprimer un NODE"
echo "0 – Quitter"
echo ""
echo "Choix : "
read CHOIX
case $CHOIX in
1) install_central && menu;;
2) define_master && menu;;
3) define_node && menu;;
4) del_node && menu;;
0) exit;;
esac
}
function install_central() {
echo "INSTALLATION DE PROXMOX : "
echo "Vérification support VT"
SUPPORTVT=$(egrep '(vmx|svm)' /proc/cpuinfo)
if test -z '$SUPPORTVT'; then
echo "/!\ Le processeur de ne supporte pas KVM"
echo "Voulez vous installer OpenVZ ? [y]"
read OPENVZ
case $OPENVZ in
[yYoO]*) install_ovz ;;
[nN]*) menu;;
esac
else
clear
echo "Vérification support VT : OK"
install_proxmox
fi
}
function install_ovz(){
echo "INSTALLATION OPENVZ"
echo "Ajout des paramètres sources.list"
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://ftp.fr.debian.org/debian/ lenny main
deb-src http://ftp.fr.debian.org/debian/ lenny main
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main" >> /etc/apt/sources.list
echo "Installation OpenVZ"
aptitude install linux-image-openvz-686
echo "Installation de Proxmox"
install_proxmox
}
function install_proxmox() {
echo "Insérer la version du kernel proxmox :"
read kernprox
if test -z $kernprox; then
echo "Version invalide"
sleep 3
install_proxmox
else
echo "Renommage du sources.list"
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "Mise en place du nouveau sources.list"
echo -e "\ndeb http://ftp.debian.org/debian lenny main
\ndeb http://download.proxmox.com/debian lenny pve
\ndeb http://security.debian.org/ lenny/updates main" >> /etc/apt/sources.list
echo "Recuperation de la cle proxmox"
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
echo "Update et upgrade"
apt-get update && apt-get -y upgrade
echo "Installation DRBD - LVM2"
apt-get -y install drbd8-utils lvm2
echo "Mise en place du Kernel Proxmox $1"
aptitude safe-upgrade
aptitude install proxmox-ve-$1
echo "Mise en place d'openiscsi"
apt-get -y install open-iscsi iscsi-scst
echo "Relance du service PVEDAEMON et APACHE2"
/etc/init.d/pvedaemon restart && /etc/init.d/apache2 restart
echo "Update du grub"
update-grub
echo "Listing du boot"
echo "ls -l /boot"
echo "Rebooter la machine pour prise en compte du nouveau Kernel"
exit 0
fi
}
function define_master() {
echo "DEFINI LE MASTER : "
echo "Définition du master "
pveca -c
sleep 3
echo "Vérification de la definition du master "
pveca -l
sleep 3
menu
}
function define_node() {
echo "AJOUT NODE : "
echo "Insérer l'IP du serveur master :"
read IPMASTER
if test -z $IPMASTER; then
echo "IP invalide"
define_node
else
echo "Ajout de IP : $IPMASTER"
pveca -a -h $IPMASTER
echo "Vérification de synchro "
pveca -l
sleep 3
#Retour au menu
menu
fi
}
function del_node() {
echo "SUPPRESSION NODE : "
echo "Affichage des nodes existantes : "
pveca -l
echo "Insérer le CTID du node à supprimer :"
read CTID
if test -z $CTID; then
echo "CTID invalide"
del_node
else
echo "Suppression : $CTID"
pveca -d $CTID
echo "Vérification des nodes "
pveca -l
sleep 3
#Retour au menu
menu
fi
}
# Vérication du root
if [ "$(id -u)" != "0" ]; then
echo "Le script doit etre execute en root"
exit 1
else
menu
fi