Internet Small Computer System Interface (iSCSI) is an IP-based standard for connecting storage devices. iSCSI uses IP networks to encapsulate SCSI commands, allowing data to be transferred over long distances. iSCSI provides shared storage among a number of client systems. Storage devices are attached to servers (targets). Client systems (initiators) access the remote storage devices over IP networks. To the client systems, the storage devices appear to be locally attached. iSCSI uses the existing IP infrastructure and does not require any additional cabling, as is the case with Fibre Channel (FC) storage area networks.
Below is a simple Ethernet network with storage attached to an iSCSI server (target) and several client systems (initiators) able to access the shared storage over the network. The client initiators send SCSI commands over the IP network to the iSCSI target.
The iSCSI target can be a dedicated network-connected storage device, but can also be a general-purpose computer as is the case shown above . Software to provide iSCSI target functionality is available for Oracle Linux and other operating systems. There are also specific-purpose operating systems that implement iSCSI target support. Two examples of open-source network storage solutions are FreeNAS and Openfiler. The iSCSI part of this course focuses on the implementation of iSCSI targets and initiators in Oracle Linux.
Oracle Linux with both Unbreakable Enterprise Kernel and RHCK uses the Linux-IO Target (LIO) to provide the block-storage SCSI target for FCoE, iSCSI, and Mellanox InfiniBand (iSER and SRP). In Oracle Linux 8, all storage fabrics are managed with the targetcli utility(we shall see it in the next blog post).
Fiber Channel over Ethernet (FCoE) requires you to install the fcoe-utils package that includes both the fcoemon service and the fcoeadm command. Note that Mellanox InfiniBand is only supported with UEK.