Iscsi: Difference between revisions

From DWIKI
mNo edit summary
 
(9 intermediate revisions by the same user not shown)
Line 11: Line 11:
*[http://linux-iscsi.org/wiki/Targetcli targetcli]  
*[http://linux-iscsi.org/wiki/Targetcli targetcli]  
*https://www.truenas.com/community/resources/why-iscsi-often-requires-more-resources-for-the-same-result.41/
*https://www.truenas.com/community/resources/why-iscsi-often-requires-more-resources-for-the-same-result.41/
*[https://linuxhint.com/share-zfs-volumes-via-iscsi/ Share ZFS volumes via iscsi]


=Terminology=
=Terminology=
Line 23: Line 24:


*ietd
*ietd
*ietadm
*iscsitarget
*iscsitarget
 
*iscsid


==LIO==
==LIO==
Line 38: Line 40:
==STGT==
==STGT==
Predecessor of LIO
Predecessor of LIO
==ISTGT==
iSCSI Target
FreeBSD/Linux
*istgtcontrol and friends
==Comstar==
Commands:
*itadm
*stmfadm
==TGT==
Linux iSCSI Target
*tgtd
*tgdadm
==open-iscsi==
*iscsiadm?
==FreeBSD==
[https://wiki.freebsd.org/Native%20iSCSI%20target FreeBSD native iscsi target]
*iscsid
*iscsictl


And there's [https://wiki.alpinelinux.org/wiki/Linux_iSCSI_Target_(tgt) tgt]
And there's [https://wiki.alpinelinux.org/wiki/Linux_iSCSI_Target_(tgt) tgt]
Line 170: Line 207:


==On ESXi==
==On ESXi==
*[https://developer.vmware.com/docs/6676/esxcli_iscsi.html esxcli iscsi]
*[https://www.server-world.info/en/note?os=ESXi_7&p=storage&f=4 Use iSCSI storage on esxi]
===Mounting iscsi datastore===
*[https://sion-it.co.uk/tech/how-to-mount-an-iscsi-datastore-in-esxi-cli/ How to mount an iSCSI datastore in ESXI CLI]
esxcfg-volume -l
esxcfg-volume -m
===List connected targets===
esxcli iscsi session list
===Do the iSCSI Discovery for the iSCSI Host Bus Adapter.===
esxcli iscsi adapter discovery rediscover --adapter vmhba64
===List targets===
esxcli iscsi adapter target list
===Some commands===
  esxcli storage core path list
  esxcli storage core path list
  storage core adapter rescan --adapter=vmhba
  esxcli storage core adapter rescan --adapter=vmhba64
esxcli iscsi adapter discovery rediscover --adapter vmhba64
 
 
  esxcli iscsi adapter param get -A vmhba64
  esxcli iscsi adapter param get -A vmhba64
 
esxcli iscsi adapter list


== Error messages ==
== Error messages ==

Latest revision as of 09:10, 26 April 2024

Links

Terminology

multipath

Implementations

Features comparison between Linux SCSI targets

IET

iSCSI Enterprise Target

  • ietd
  • ietadm
  • iscsitarget
  • iscsid

LIO

  • targetcli


SCST

iSCSI Target Driver

  • scst


STGT

Predecessor of LIO


ISTGT

iSCSI Target

FreeBSD/Linux

  • istgtcontrol and friends


Comstar

Commands:

  • itadm
  • stmfadm


TGT

Linux iSCSI Target

  • tgtd
  • tgdadm


open-iscsi

  • iscsiadm?


FreeBSD

FreeBSD native iscsi target

  • iscsid
  • iscsictl


And there's tgt

FAQ

On ISCSI client

Find targets

iscsi_discovery 192.168.100.32
    

Please logout from all targets on 192.168.178.3:3260 before trying to run discovery on that portal

??

List connected targets

iscsiadm -m session -P 3

which seems to list only one, for multiple:

tgtadm --lld iscsi --op show --mode conn --tid 1

but that needs more work

List targets

iscsiadm -m discovery -t sendtargets -p 192.168.100.32

Connect to target

iscsiadm -m node --targetname="iqn.2018-5.mynet:drbd0" --portal "192.168.100.32" --login

if you get things like "iscsiadm: No records found" try a thing like

iscsiadm --mode node -l all

iscsiadm: Could not log into all portals:


Disconnect from target

iscsiadm -m node -T iqn.2018-5.mynet:drbd0 -p 192.168.100.32 -u

 

Show session id

iscsiadm -m session -P 1

 

Rescan ??

iscsiadm -m node --targetname="foo.bar" -R

Disconnect all targets

iscsiadm --mode node -u all

Rescan session

iscsiadm -m session -r SID --rescan⁠


iscsiadm: Could not log into all portals

??

On server

list targets

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


list connected targets

To list all connections to target with id 1:

tgtadm --lld iscsi --mode conn --op show --tid 1

And disconnect target:

tgtadm --lld iscsi --op delete --mode conn --tid 1 --sid 2 --cid 0

Create iscsi target and Lun

tgtadm --lld iscsi --mode target --op new --tid=1 --targetname iqn.2009-02.com.example:for.all
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /var/tmp/iscsi-disk1

Delete iscsi target and Lun

tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1
tgtadm --lld iscsi --mode target --op delete --tid=1

Reload tgtd configuration

tgt-admin --update ALL

or

tgt-admin --update your.irqn.string

Show tgdt config

tgt-admin --dump


Grow/resize target

After resizing the target (lvresize or whatever)

tgt-admin --update tid=xx -v -f

Show targets

tgt-admin -s


Show target config

This includes target parameters

tgtadm --lld iscsi -o show -m target --tid=1

The disk contains an unclean file system (0, 0).

Metadata kept in Windows cache, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
ntfsfix /dev/sdc1

On ESXi


Mounting iscsi datastore

esxcfg-volume -l
esxcfg-volume -m

List connected targets

esxcli iscsi session list 

Do the iSCSI Discovery for the iSCSI Host Bus Adapter.

esxcli iscsi adapter discovery rediscover --adapter vmhba64


List targets

esxcli iscsi adapter target list

Some commands

esxcli storage core path list
esxcli storage core adapter rescan --adapter=vmhba64


esxcli iscsi adapter param get -A vmhba64
esxcli iscsi adapter list

Error messages

connection1:0: detected conn error (1020)

These messages are seen when an iSCSI connection times out (1011 means timeout on initiator side and 1020 means the target dropped the connection)


tgtadm: failed to send request hdr to tgt daemon, Transport endpoint is not connected

tgtd not running :)

 

tgtd: iser_ib_init(3436) Failed to initialize RDMA; load kernel modules?

comment out default-driver

 

iscsiadm: No portals found

ACL issue, try something like

tgtadm --lld iscsi --op bind --mode target --tid 6 -I ALL

 

iscsiadm: No records found

Try

iscsiadm -m discovery -t sendtargets -p <ip-address>