45 lines
1.1 KiB
Bash
Executable File
45 lines
1.1 KiB
Bash
Executable File
#!/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
|
|
|