JDierkse 2 lat temu
commit
905361e72f
4 zmienionych plików z 133 dodań i 0 usunięć
  1. 50 0
      info
  2. 44 0
      mountVolume
  3. 24 0
      testPerformance
  4. 15 0
      unmountVolume

+ 50 - 0
info

@@ -0,0 +1,50 @@
+#!/bin/bash
+
+IQN=$1
+
+PrintIQN() {
+	IQN=$1
+
+	IQNTEST=$(grep -h ${IQN} /sys/class/iscsi_session/*/targetname)
+	if [ "${IQNTEST}" != "${IQN}" ]; then
+		echo "IQN not found"
+		echo ""
+
+		exit
+	fi
+
+	SESSIONFOLDER=$(grep -l ${IQN} /sys/class/iscsi_session/*/targetname | xargs realpath)
+	SESSION=$(echo "${SESSIONFOLDER}" | sed 's/.*session\([0-9]*\).*/\1/g')
+	HOST=$(echo "${SESSIONFOLDER}" | sed 's/.*host\([0-9]*\).*/\1/g')
+
+	SCSIADDRESS=$(echo "${SESSIONFOLDER}" | sed 's/\(.*\)\/iscsi_session.*/\1/g' | xargs ls -1 | grep "target${HOST}" | sed 's/target//g')
+	MAJOR=$(echo "${SCSIADDRESS}" | cut -d ":" -f 2)
+	MINOR=$(echo "${SCSIADDRESS}" | cut -d ":" -f 3)
+
+	FULLSCSIADDRESS=$(echo "${SESSIONFOLDER}" | sed "s/\(.*\)\/iscsi_session.*/\1\/target${SCSIADDRESS}/g" | xargs ls -1 | grep ":")
+	LUN=$(echo "${FULLSCSIADDRESS}" | cut -d ":" -f 4)
+
+	BLOCKDEVICE=$(echo "${SESSIONFOLDER}" | sed "s/\(.*\)\/iscsi_session.*/\1\/target${SCSIADDRESS}\/${FULLSCSIADDRESS}\/block/g" | xargs ls -1 | xargs printf "/dev/%s")
+	MOUNTPOINT=$(grep "${BLOCKDEVICE}" /proc/mounts | head -n 1 | cut -d " " -f 2)
+
+	echo "IQN:            ${IQN}"
+	#echo "    Session:    ${SESSION}";
+	#echo "    Host:       ${HOST}";
+	#echo "    Channel:    ${MAJOR}";
+	#echo "    Id:         ${MINOR}";
+	#echo "    LUN:        ${LUN}";
+	echo "    Address:    [${SESSION}] scsi$HOST:${MAJOR}:${MINOR}:${LUN}"
+	echo "    Device:     ${BLOCKDEVICE}";
+	echo "    Mountpoint: ${MOUNTPOINT}";
+	echo
+}
+
+if [[ -z "${IQN}" ]]; then
+	IQNLIST=$(cat /sys/class/iscsi_session/*/targetname)
+	for IQN in ${IQNLIST}; do
+		PrintIQN ${IQN}
+	done;
+else
+	PrintIQN ${IQN}
+fi
+

+ 44 - 0
mountVolume

@@ -0,0 +1,44 @@
+#!/bin/bash
+
+IQN=$1
+HOST=$2
+
+if [[ -z "${IQN}" ]]; then
+	echo "usage: $0 TargetIQN [Host]"
+        echo ""
+
+	exit
+fi
+
+iscsiadm -m discovery -t sendtargets -o update -p ${HOST} &> /dev/null
+
+if [[ ! -z "${HOST}" ]]; then
+	iscsiadm -m node -T ${IQN} -p ${HOST} -l
+else
+	iscsiadm -m node -T ${IQN} -l
+fi
+
+sleep 0.5
+
+SESSIONID=$(iscsiadm -m session | grep "${IQN}" | head -n 1 | sed -e 's/.*\[\(.*\)\].*/\1/g')
+DEVICE=$(iscsiadm -m session -r ${SESSIONID} -P 3 | grep "Attached scsi disk" | sed -e 's/.*Attached scsi disk \([^\t]*\).*/\/dev\/\1/g')
+BLOCKDEVICE=${DEVICE}
+
+MULTIPATHDEVICE=$(multipath -l ${DEVICE} | grep 'mpath' | sed -e 's/^\([a-z]*\) .*/\1/g')
+if [[ ! -z "${MULTIPATHDEVICE}" ]]; then
+	BLOCKDEVICE="/dev/mapper/${MULTIPATHDEVICE}"
+fi
+
+mkdir -p /mnt/iSCSI_${IQN}
+
+FILESYSTEM=$(blkid ${BLOCKDEVICE})
+if [ -z "${FILESYSTEM}" ]; then
+	echo "No Filesystem found, initialize using following command:"
+	echo "mkfs.ext4 ${BLOCKDEVICE}"
+	echo ""
+	echo "And mount afterwards using:"
+	echo "mount ${BLOCKDEVICE} /mnt/iSCSI_${IQN}"
+else
+	mount -o discard ${BLOCKDEVICE} /mnt/iSCSI_${IQN}
+fi
+

+ 24 - 0
testPerformance

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+IQN=$1
+
+if [[ -z "${IQN}" ]]; then
+	echo "usage: $0 TargetIQN"
+        echo ""
+
+	exit
+fi
+
+if [[ ! -d "/mnt/iSCSI_${IQN}" ]]; then
+	echo "IQN ${IQN} is not mounted"
+        echo ""
+
+	exit
+fi
+
+dd if=/dev/zero of=/mnt/iSCSI_${IQN}/test1.img bs=1G count=1 oflag=dsync
+dd if=/dev/zero of=/mnt/iSCSI_${IQN}/test2.img bs=512 count=1000 oflag=dsync
+
+rm -f /mnt/iSCSI_${IQN}/test1.img
+rm -f /mnt/iSCSI_${IQN}/test2.img
+

+ 15 - 0
unmountVolume

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+IQN=$1
+
+if [[ -z "${IQN}" ]]; then
+	echo "usage: $0 TargetIQN"
+        echo ""
+
+	exit
+fi
+
+umount /mnt/iSCSI_${IQN}
+rm -rf /mnt/iSCSI_${IQN}
+iscsiadm -m node -T ${IQN} -u
+