From 1a6a9a86f6a037343800380e9e619047383b1d2a Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 18 Apr 2011 15:26:10 +0200 Subject: addIscsiDisk: added script the addIscsiDisk script adds the required config for a new iscsi disk and tries to live upgrade the iete daemon to exporting the disk --- addIscsiDisk | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 addIscsiDisk diff --git a/addIscsiDisk b/addIscsiDisk new file mode 100755 index 0000000..1bda195 --- /dev/null +++ b/addIscsiDisk @@ -0,0 +1,43 @@ +#!/bin/bash + +lvname=$(basename $1) +if [ -z "${lvname}" -o ! -b "/dev/scsiRaid/${lvname}" ]; then + echo "Usage: $0 " + exit 1 +fi + +# check if disk exists in config +if grep -qs "Path=/dev/scsiRaid/${lvname},Type=diskio" /etc/iet/ietd.conf ; then + echo "Disk is already in config file. Not adding it again." >&2 +else + echo -n "Adding disk to 'ietd.conf' config file... " >&2 + cat <> /etc/iet/ietd.conf + +Target iqn.2011-04.de.spline:${lvname} + Lun 0 Path=/dev/scsiRaid/${lvname},Type=diskio,ScsiId=1,ScsiSN=2 +EOF + echo "Done." >&2 +fi + +if [ -r /proc/net/iet/volume ]; then + if grep -qs "path:/dev/scsiRaid/${lvname}$" /proc/net/iet/volume ; then + echo "Disk is already configured in ietd. Skipping live update." >&2 + else + # get the next avilable tid + tid=$(awk '$1 ~ /tid:/ { \ + gsub(/tid:/,"",$1); \ + if ( max < $1 ) { \ + max=$1 \ + } \ + } \ + \ + END { print max+1 }' /proc/net/iet/volume) + + echo -n "Adding disk to running ietd... " >&2 + ietadm --op new --tid=${tid} --params "Name=iqn.2011-04.de.spline:${lvname}" + ietadm --op new --tid=${tid} --lun=0 --params "Path=/dev/scsiRaid/${lvname},Type=diskio,ScsiId=1,ScsiSN=2" + echo "Done." >&2 + fi +else + echo "ietd not running. Skipping live update." >&2 +fi -- cgit v1.2.3-1-g7c22