Saturday, August 18, 2012

How To Setup an ISCSI target using tgtadmin

SCSI uses a client-server architecture. A "client" (ie: your system) is an initiator, it initiates requests. A "server" (ie: your storage device) is a target, it has something you want and answers requests from the initiator(s). Initiators come in two varieties: software and hardware. A software initiator is just a driver that handles all requests and pairs the network interfaces driver and the SCSI drivers together to make it all work. Using a software initiator any system with an ethernet card can act as an iSCSI initiator. A hardware initiator is an iSCSI HBA, which is basically just an ethernet card with a SCSI ASIC on-board to offload all the work from the system CPU.

#yum install scsi-target-utils -y

Start the tgtd service:

# service tgtd start

Define an iSCSI target name:

# tgtadm --lld iscsi --op new --mode target --tid=1 --targetname iqn.2001-04.com.example:storage.disk1.amiens.sys1.xyz

To view the currect configuration:

# tgtadm --lld iscsi --op show --mode target


For example, here we create a 512M file as the block device:

# dd if=/dev/zero of=/disk1 bs=1M count=512

Add it as a logical unit to the target:

# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /disk1

Enable the target to accept any initiators:

# tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

View the current configuration again:

# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2001-04.com.example:storage.disk1.amiens.sys1.xyz
System information:
Driver: iscsi
Status: running
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: deadbeaf1:0
SCSI SN: beaf10
Size: 0
Backing store: No backing store
LUN: 1
Type: disk
SCSI ID: deadbeaf1:1
SCSI SN: beaf11
Size: 55G
Backing store: /disk1
Account information:
ACL information:
ALL

Ensure TCP port 3260 can be accessed from remote host.

 Start tgt-admin and /etc/tgt/targets.conf can be used for make the setup persistent over reboot:

# tgt-admin --dump > /etc/tgt/targets.conf
# chkconfig tgtd on

In releases prior to Red Hat Enterprise Linux 5.3, you have to put the "tgtadm" commands into /etc/rc.local and enable the tgtd service:

echo >> /etc/rc.local < tgtadm --lld iscsi --op new --mode target --tid=1 --targetname iqn.2001-04.com.example:storage.disk1.amiens.sys1.xyz
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /disk1
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
EOF

# chkconfig tgtd on

3 comments:

  1. Replies
    1. Deep Learning Projects assist final year students with improving your applied Deep Learning skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include Deep Learning projects for final year into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Deep Learning Projects for Final Year even arrange a more significant compensation.

      Python Training in Chennai Project Centers in Chennai

      Delete
  2. Hi there! Do you use Twitter? I?d like to follow you if that would be ok. I?m undoubtedly enjoying your blog and look forward to new posts. 2tb external hard disk price

    ReplyDelete