iSCSI
iSCSI Terms An iSCSI initiator is something that requests disk blocks, aka a client An iSCSI target is something that provides disk blocks, aka a server. An iSCSI portal is the combination of the IP and Port of a target
Terms Target Portal: /3260 Linux box, providing a disk as an iSCSI target Initiator Windows/Linux/OSX box, Mounting the target as A block device
Terms In this case, the target is a linux box running the iSCSI daemon. The IP and the port the daemon are listening on are the portal. Any device that can act as an iSCSI initiator can connect to the portal and treat the device as a block device The space served by the target is a raw disk device
iSCSI Setup On the server side, setup is still somewhat nasty. iSCSItarget.sourceforge.net has a linux implementation of iSCSI You need to recompile the kernel; kernel 2.6 or more recent is required Yum update kernel kernel-devel to get the necessary files Export KERNELSRC=/usr/src/kernes/2.6.14… Make, make install Init scripts installed in /etc/rc.d, /etc/init.d
iSCSI Target Target address format: Iqn edu.nps:storage.something.here “iqn” is the type (iSCSI Qualified Name) is the date of the first full month the naming authority was registered Edu.nps is the reversed domain name, the naming authority Storage.something.here is a name assigned by you Basically, you only have to worry about the last field
Etc config In /etc. ietd.conf controls name Target iqn iscsi.ern.ps.edu:storage.iscsi.file Lun 0 Path=/dev/sdb /etc/iscsi has some other config parameters
Client Side (Initiator) Now that the target (provider of disk space) is set up we can configure the client. On Windows, get the MS iscsi initiator (google) and run the installer Start iSCSI initiator and specify the IP and port to connect to
Discovery/Portals
Targets Note that the name matches the name we provided in the ietd.conf file--we connected successfully
Disk At this point we have block device access to the device. On another system I created a FAT filesystem, so we can also show this as a FAT drive. NOTE: If two machines have block access, they WILL eventually put the FAT filesystem into an inconsistent state. Ditto for ext, zfs, ntfs, and other single-host filesystems
iSCSI on OSX Supposedly iSCSI was going to be part of Leopard--it didn’t make it. Probably be added at some later date There are free iSCSI initiators available, Run installer; adds a.kext kernel extension, which requires a reboot
globalSAN Note IP and 3260 port
GlobalSan Connection established; note match of iscsi ID with that of the target config file
Filesystem Creation Once you have access to the iSCSI drive as a block device, you can create a filesystem on the device.
Filesystems Again, conventional filesystems are designed to have only one OS access them as a block device. We can have multiple hosts contact the iSCSI block device. A conventional filesystem will eventually become inconsistent if you do writes from multiple hosts
What did we get? We accessed a block device on a linux server from OSX and Windows across an IP network using commodity ethernet (or wireless) protocols. This isn’t quite a SAN, since we don’t have volume management, but it provides the substrata needed for that
Volume Management This is somewhat tricky and still a developing field. There are a number of commercial implementations and a few open source implementations This is the layer that handles concurrent access to block devices
Architecture What would a cluster architecture look like with a SAN?
iSCSI devices No endorsement implied by any mention of a vendor, prices variable…. Promise vtrack: ~$5K for enclosure, plus disk 16 SATA bays, 3U, RAID, TCP Offload Engine
iSCSI Devices HP Storage Works AIO 1200, 600, 400 SATA or SAS drives possible e.html?jumpid=reg_R1002_USEN ~ $8K for 3 TB
iSCSI Sun is generally dismissive of iSCSI for their enterprise storage products EMC has an installed base in FC, though they do offer iSCSI in parallel on some boxes EMC is partnered with Dell: AX150 (12 SATA drives, 9 TB, RAID) $11K for 1.5TB (Massive discounts probably apply) CX3 series: up to 144TB, enterprise stuff