iSCSI
General Information
iSCSI operations on Linux.
Checklist
- Distro(s): Enterprise Linux 6/7
Adding Disks
- Get the iscsi initiator name on the client
cat /etc/iscsi/initiatorname.iscsi
- Use the initiator name to configure the Host Group, LUN, and Host Affinity on your storage device. (Or send the initiator name to the storage admin)
- From the client, discover the available LUNs on the storage device
iscsiadm --mode discovery -t sendtargets --portal <storage-ip-address>
- Start and enable the iscsi daemon
- EL6
service iscsid start chkconfig iscsid on
- EL7
systemctl start iscsid systemctl enable iscsid
- Log-in to the LUN with the iscsi client
iscsiadm --mode node --targetname <iqn-LUN#-here> --portal <storage-ip-address>:<port> --login
- Create /etc/multipath.conf if it doesn't exist
mpathconf --enable
- Configure multipath
vim /etc/multipath.conf # Blacklist exception for your device blacklist_exceptions { # WWN of LUN via iSCSI LUN group wwid "123456789" } # Setup your storage device specifics devices { device { vendor "DELL" product "MODEL-HERE" # specify other options } } # Setup the multipath multipaths { multipath { wwid 123456789 alias friendly_name_here } }
- Start and enable multipathd
- EL6
service multipathd start chkconfig multipathd on
- EL7
systemctl start multipathd systemctl enable multipathd
- Re-scan the scsi bus
echo "- - -" > /sys/class/scsi_host/<host_number>/scan
- Where <host_number> is something like: host0 (there will probably be host0-3)
- The hyphens represent controller,channel,lun, so – - – indicates all controllers, all channels, and all luns should be scanned.
- Verify paths
multipath -ll
- Add mount entry to /etc/fstab
Clean Device Removal
Red Hat's recommended procedure for removing storage devices.
- Ensure all files open on the device are closed
lsof | grep <devname>
- Backup/move data as needed
- Remove device from any software RAID or LVM volume
- Remove device from multipath
- Flush outstanding I/O (important for raw devices)
blockdev --flushbufs <device>
- Remove references to the device from applications, scripts, etc.
- Remove each path to the device from the SCSI subsystem
echo 1 > /sys/block/<device-name>/device/delete
- Where <device-name> can be something like 'sde'
iSCSI Admin
Example iscsiadm commands.
View iscsi target node IP addresses and target names
iscsiadm --mode node
Enable iscsi target: Login to iscsi target
iscsiadm --mode node --targetname <iscsi-target-name> --portal 192.168.1.100:3260 --login
Disable iscsi target: Logout from iscsi target
iscsiadm --mode node --targetname <iscsi-target-name> --portal 192.168.1.100:3260 --logout
Delete iscsi target
iscsiadm --mode node -o delete --targetname <iscsi-target-name> --portal 192.168.1.100:3260
Related Multipath Commands
If the iSCSI device that is removed is also multipath'd, remove it from multipath configuration also.
View multipath devices
multipath -ll
Remove (flush) an unused multipath device
multipath -F
After, restart multipathd to ensure it doesn't come back
- EL6
service multipathd restart
- EL7
systemctl restart multipathd