| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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
|