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