From a7d7d6f00614ccb364e8fe3913e4b47e2a6a5410 Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Wed, 17 Dec 2008 00:11:38 +0100 Subject: [PATCH] =?UTF-8?q?[gestion/iscsi]=20scripts=20de=20mises=20=C3=A0?= =?UTF-8?q?=20jours?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit darcs-hash:20081216231138-c41ad-65e2eacccd1b35f2bfc855198a2aad8ec4f28389.gz --- gestion/iscsi/udev-update-symlinks.sh | 29 +++++++++++++++++++++ gestion/iscsi/update.sh | 36 +++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100755 gestion/iscsi/udev-update-symlinks.sh create mode 100755 gestion/iscsi/update.sh diff --git a/gestion/iscsi/udev-update-symlinks.sh b/gestion/iscsi/udev-update-symlinks.sh new file mode 100755 index 00000000..bb07f950 --- /dev/null +++ b/gestion/iscsi/udev-update-symlinks.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# udev-update-symlinks.sh +# ----------------------- +# Copyright : (c) 2008, Jeremie Dimino +# Licence : BSD3 + + +# Ce script met à jour les liens symboliques dans /dev + +cd /dev + +for dev in sd*; do + symlink=iscsi_$(python /usr/scripts/gestion/iscsi/udev-get-iscsi-name.py $dev) + if [ -b $symlink ]; then + # Si le symlink existe et est en fait le fichier du + # périphérique, on n'y touche pas + echo "/dev/$symlink est un fichier spécial de block (devrait être un lien symbolique)" >&2 + + elif [ -e $symlink ]; then + # Si le lien existe déjà on vérifie qu'il pointe au bon + # endroit + if [ $(readlink -f $symlink) != $dev ]; then + rm -f $symlink + echo "création du lien /dev/$symlink pointant vers /dev/$dev" + ln -s $dev $symlink + fi + fi +done diff --git a/gestion/iscsi/update.sh b/gestion/iscsi/update.sh new file mode 100755 index 00000000..11bffc07 --- /dev/null +++ b/gestion/iscsi/update.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# update.sh +# --------- +# Copyright : (c) 2008, Jeremie Dimino +# Licence : BSD3 + +# Ce script fait tous ce qu'il faut après l'ajout d'un volume sur la +# baie de stockage. + +exec_cmd() { + local msg=$1 + shift + local cmd="$@" + if tty -s <&1; then + echo -e "\e[37;1m===== $msg\e[0m" + echo -e "\e[1m=> commande: $cmd\e[0m" + else + echo "===== $msg" + echo "=> commande: $cmd" + fi + if [[ $UID = 0 ]]; then + $cmd + else + sudo $cmd + fi +} + +exec_cmd "Récupération du mapping lun<->nom de volume" \ + python /usr/scripts/gestion/iscsi/slon-get-volume-mapping.py + +exec_cmd "Rescan des volumes iscsi" \ + iscsiadm -m session --rescan + +exec_cmd "Mises à jours des liens symboliques dans /dev" \ + bash /usr/scripts/gestion/iscsi/udev-update-symlinks.sh