mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [ANNOUNCE] TCM/ConfigFS v3.4.0-rc1
@ 2010-03-20  2:41 Nicholas A. Bellinger
  0 siblings, 0 replies; only message in thread
From: Nicholas A. Bellinger @ 2010-03-20  2:41 UTC (permalink / raw)
  To: linux-scsi, LKML, openfcoe-devel, Linux-iSCSI.org Target Dev,
	Linux-fsdevel
  Cc: FUJITA Tomonori, Mike Christie, Hannes Reinecke, Douglas Gilbert,
	James Bottomley, Christoph Hellwig, Joe Eykholt,
	Martin K. Petersen, Love, Robert W, Chris Leech, Philipp Reisner,
	Florian Haas

Greetings all,

It is my great honor to announce the Target_Core_Mod/ConfigFS infrastructure project
has reached v3.4.0-rc1 and is again tracking linux-2.6.git HEAD at v2.6.34-rc1.  The
kernel code can be found here:

http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=summary

With this release marks the merge of the Open-FCoE.org based target module (tcm_fc) for
TCM/ConfigFS 3.x contributed by Joe Eykholt as the third fabric module available in
lio-core-2.6.git/master. This has included in a seperate release announcement, and
information for the TCM Open-FCoE.org target module can be found here:

http://www.linux-iscsi.org/index.php/Openfcoe

This release also reaches the milestone of TCM/ConfigFS becoming the first and only Linux
target mode project to run in multi-fabric mode across all known feature bits for SPC-4
defined persistent reservations (PR) using iSCSI, FCoE and Virtual SAS ports.  This patch series
and test case to make that happen for PR features SPEC_I_PT=1 and REGISTER_AND_MOVE was originally
posted here:

http://permalink.gmane.org/gmane.linux.scsi/57831

For more information about TCM/ConfigFS and fabric module usage with PR+ALUA, please have a look at:

http://www.linux-iscsi.org/index.php/Target_Core_Mod/ConfigFS
http://www.linux-iscsi.org/index.php/Persistent_Reservations
http://www.linux-iscsi.org/index.php/ALUA

Finally as no announcement would be complete without an multi-fabric demonstration, here is how
explict/implict ALUA multipath using upstream scsi_dh_alua is looking with Open-iSCSI + Open-FCoE
Initiators between TCM LIO-Target iSCSI and Open-FCoE.org target ports.  This is done by seperate
the iSCSi and FCoE Target ports into two different ALUA Target Port Groups (1gb_iscsi and 1gb_fcoe
respectively) for the same TCM/FILEIO LUN backstore.

Any constructive comments or questions are welcome!

--nab

*) Example /etc/multipath.conf

defaults {
        udev_dir                /dev
        polling_interval        2
        default_getuid_callout  "/lib/udev/scsi_id -g -u -s /block/%n"
        user_friendly_names     yes
}

devices {
	device {
		vendor "LIO-ORG"
		product "FILEIO"
		path_grouping_policy group_by_prio
		path_checker tur
		prio_callout "/sbin/mpath_prio_alua /dev/%n"
		hardware_handler "1 alua"
	}
}

*) Create fcoe association for eth0 on initiator side:

echo eth0 > /sys/module/fcoe/parameters/create

[  853.184640] scsi0 : FCoE Driver
[  853.186064] host0: libfc: Link up on port (     0)
[  856.754764] host0: Assigned Port ID  10101
[  856.758376] scsi 0:0:0:0: Direct-Access     LIO-ORG  FILEIO           3.1  PQ: 0 ANSI: 5
[  856.818511] sd 0:0:0:0: [sda] READ CAPACITY(16) failed
[  856.819201] sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
[  856.820127] sd 0:0:0:0: [sda] Sense not available.
[  856.820964] sd 0:0:0:0: [sda] 97656251 512-byte logical blocks: (50.0 GB/46.5 GiB)
[  856.822580] sd 0:0:0:0: [sda] Write Protect is off
[  856.823230] sd 0:0:0:0: [sda] Mode Sense: 2f 00 00 00
[  856.823640] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  856.825018] sd 0:0:0:0: [sda] READ CAPACITY(16) failed
[  856.825688] sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
[  856.826620] sd 0:0:0:0: [sda] Sense not available.
[  856.828304]  sda: unknown partition table
[  856.830403] sd 0:0:0:0: [sda] READ CAPACITY(16) failed
[  856.831109] sd 0:0:0:0: [sda] Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
[  856.832039] sd 0:0:0:0: [sda] Sense not available.
[  856.833689] sd 0:0:0:0: [sda] Attached SCSI disk
<SNIP>
[  857.265004] alua: device handler registered
[  857.290275] device-mapper: multipath round-robin: version 1.0.0 loaded
[  857.291599] sd 0:0:0:0: alua: supports implicit and explicit TPGS
[  857.292794] sd 0:0:0:0: alua: port group 00 rel port 02
[  857.293645] sd 0:0:0:0: alua: port group 00 state A supports TOUSNA
[  857.300249] sd 0:0:0:0: alua: port group 00 state A supports TOUSNA

*) Create iSCSI session using Open-iSCSI:

iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.lenny64guest1.x8664:sn.3074797efee0 --portal 192.168.0.250 --login

[  893.969954] scsi1 : iSCSI Initiator over TCP/IP
[  894.286774] scsi 1:0:0:0: Direct-Access     LIO-ORG  FILEIO           3.1  PQ: 0 ANSI: 5
[  894.289767] sd 1:0:0:0: [sdb] 97656251 512-byte logical blocks: (50.0 GB/46.5 GiB)
[  894.292437] sd 1:0:0:0: [sdb] Write Protect is off
[  894.293254] sd 1:0:0:0: [sdb] Mode Sense: 2f 00 00 00
[  894.293951] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  894.297422]  sdb: unknown partition table
[  894.304374] sd 1:0:0:0: [sdb] Attached SCSI disk
[  894.976821] sd 1:0:0:0: alua: supports implicit and explicit TPGS
[  894.978378] sd 1:0:0:0: alua: port group 00 rel port 01
[  894.979626] sd 1:0:0:0: alua: port group 00 state A supports TOUSNA
[  894.989850] sd 1:0:0:0: alua: port group 00 state A supports TOUSNA
[  894.990726] sd 0:0:0:0: alua: port group 00 state A supports TOUSNA

*) lsscsi and multipath output:

lenny64guest0:~# lsscsi
[0:0:0:0]    disk    LIO-ORG  FILEIO           3.1   /dev/sda
[1:0:0:0]    disk    LIO-ORG  FILEIO           3.1   /dev/sdb
lenny64guest0:~# lsscsi --transport
[0:0:0:0]    disk    fc:0x200000e081c090b3,0x010102  /dev/sda
[1:0:0:0]    disk    iqn.2003-01.org.linux-iscsi.lenny64guest1.x8664:sn.3074797efee0,t,0x1  /dev/sdb

lenny64guest0:~# multipath -ll
mpath2 (36001405f776de20dc416d4382d8b16d0) dm-0 LIO-ORG ,FILEIO        
[size=47G][features=0][hwhandler=1 alua]
\_ round-robin 0 [prio=100][active]
 \_ 1:0:0:0 sdb 8:16  [active][ready]
 \_ 0:0:0:0 sda 8:0   [active][ready]

*) Target side ALUA Target Port Group output

lenny64guest1:/sys/kernel/config/target# tcm_node --listaluatpgs fileio_0/myfile
\------> 1g_fcoe  Target Port Group ID: 2
         Active ALUA Access Type(s): Implict and Explict
         Primary Access State: Active/NonOptimized
         Primary Access Status: Altered by Explict STPG
         Preferred Bit: 0
         Active/NonOptimized Delay in milliseconds: 100
         Transition Delay in milliseconds: 0
         \------> TG Port Group Members
             fc/20:00:00:e0:81:c0:90:b3/tpgt_1/lun_0
\------> 1g_iscsi  Target Port Group ID: 1
         Active ALUA Access Type(s): Implict and Explict
         Primary Access State: Active/Optimized
         Primary Access Status: Altered by Explict STPG
         Preferred Bit: 0
         Active/NonOptimized Delay in milliseconds: 100
         Transition Delay in milliseconds: 0
         \------> TG Port Group Members
             iSCSI/iqn.2003-01.org.linux-iscsi.lenny64guest1.x8664:sn.3074797efee0/tpgt_1/lun_0
\------> default_tg_pt_gp  Target Port Group ID: 0
         Active ALUA Access Type(s): Implict and Explict
         Primary Access State: Active/NonOptimized
         Primary Access Status: Altered by Explict STPG
         Preferred Bit: 0
         Active/NonOptimized Delay in milliseconds: 100
         Transition Delay in milliseconds: 0
         \------> TG Port Group Members
             No Target Port Group Members

*) TCM, LIO-Target and TCM_FC configfs layout

|-- core
|   |-- alua
|   |   `-- lu_gps
|   |       `-- default_lu_gp
|   |           |-- lu_gp_id
|   |           `-- members
|   `-- fileio_0
|       |-- hba_info
|       |-- hba_mode
|       `-- myfile
|           |-- alias
|           |-- alua
|           |   |-- 1g_fcoe
|           |   |   |-- alua_access_state
|           |   |   |-- alua_access_status
|           |   |   |-- alua_access_type
|           |   |   |-- alua_write_metadata
|           |   |   |-- members
|           |   |   |-- nonop_delay_msecs
|           |   |   |-- preferred
|           |   |   |-- tg_pt_gp_id
|           |   |   `-- trans_delay_msecs
|           |   |-- 1g_iscsi
|           |   |   |-- alua_access_state
|           |   |   |-- alua_access_status
|           |   |   |-- alua_access_type
|           |   |   |-- alua_write_metadata
|           |   |   |-- members
|           |   |   |-- nonop_delay_msecs
|           |   |   |-- preferred
|           |   |   |-- tg_pt_gp_id
|           |   |   `-- trans_delay_msecs
|           |   `-- default_tg_pt_gp
|           |       |-- alua_access_state
|           |       |-- alua_access_status
|           |       |-- alua_access_type
|           |       |-- alua_write_metadata
|           |       |-- members
|           |       |-- nonop_delay_msecs
|           |       |-- preferred
|           |       |-- tg_pt_gp_id
|           |       `-- trans_delay_msecs
|           |-- alua_lu_gp
|           |-- attrib
|           |   |-- block_size
|           |   |-- emulate_tas
|           |   |-- emulate_ua_intlck_ctrl
|           |   |-- hw_block_size
|           |   |-- hw_max_sectors
|           |   |-- hw_queue_depth
|           |   |-- max_sectors
|           |   |-- queue_depth
|           |   `-- task_timeout
|           |-- control
|           |-- enable
|           |-- fd
|           |-- info
|           |-- pr
|           |   |-- res_aptpl_active
|           |   |-- res_aptpl_metadata
|           |   |-- res_holder
|           |   |-- res_pr_all_tgt_pts
|           |   |-- res_pr_generation
|           |   |-- res_pr_holder_tg_port
|           |   |-- res_pr_registered_i_pts
|           |   |-- res_pr_type
|           |   `-- res_type
|           |-- snap
|           |   |-- check_interval
|           |   |-- contact
|           |   |-- create_interval
|           |   |-- enabled
|           |   |-- lv_group
|           |   |-- lvc_size
|           |   |-- max_snapshots
|           |   |-- max_warn
|           |   |-- permissions
|           |   |-- pid
|           |   |-- usage
|           |   |-- usage_warn
|           |   `-- vgs_usage_warn
|           |-- udev_path
|           `-- wwn
|               |-- vpd_assoc_logical_unit
|               |-- vpd_assoc_scsi_target_device
|               |-- vpd_assoc_target_port
|               |-- vpd_protocol_identifier
|               `-- vpd_unit_serial
|-- fc
|   |-- 20:00:00:e0:81:c0:90:b3
|   |   `-- tpgt_1
|   |       |-- acl
|   |       |   `-- 20:00:00:e0:81:c0:90:b2
|   |       |       |-- auth
|   |       |       |   |-- node_name
|   |       |       |   `-- port_name
|   |       |       `-- lun_0
|   |       |           `-- lun_0 -> ../../../../../../../target/fc/20:00:00:e0:81:c0:90:b3/tpgt_1/lun/lun_0
|   |       `-- lun
|   |           `-- lun_0
|   |               |-- alua_tg_pt_gp
|   |               |-- alua_tg_pt_offline
|   |               |-- alua_tg_pt_status
|   |               |-- alua_tg_pt_write_md
|   |               `-- tcm_fc_port -> ../../../../../../target/core/fileio_0/myfile
|   `-- version
|-- iscsi
|   |-- discovery_auth
|   |   |-- authenticate_target
|   |   |-- enforce_discovery_auth
|   |   |-- password
|   |   |-- password_mutual
|   |   |-- userid
|   |   `-- userid_mutual
|   |-- iqn.2003-01.org.linux-iscsi.lenny64guest1.x8664:sn.3074797efee0
|   |   `-- tpgt_1
|   |       |-- acls
|   |       |   `-- iqn.1993-08.org.debian:01:5640fc164638
|   |       |       |-- attrib
|   |       |       |   |-- dataout_timeout
|   |       |       |   |-- dataout_timeout_retries
|   |       |       |   |-- default_erl
|   |       |       |   |-- nopin_response_timeout
|   |       |       |   |-- nopin_timeout
|   |       |       |   |-- random_datain_pdu_offsets
|   |       |       |   |-- random_datain_seq_offsets
|   |       |       |   `-- random_r2t_offsets
|   |       |       |-- auth
|   |       |       |   |-- authenticate_target
|   |       |       |   |-- password
|   |       |       |   |-- password_mutual
|   |       |       |   |-- userid
|   |       |       |   `-- userid_mutual
|   |       |       |-- cmdsn_depth
|   |       |       |-- info
|   |       |       |-- lun_0
|   |       |       |   |-- abe06ac681 -> ../../../../../../../target/iscsi/iqn.2003-01.org.linux-iscsi.lenny64guest1.x8664:sn.3074797efee0/tpgt_1/lun/lun_0
|   |       |       |   `-- write_protect
|   |       |       `-- param
|   |       |           |-- DataPDUInOrder
|   |       |           |-- DataSequenceInOrder
|   |       |           |-- DefaultTime2Retain
|   |       |           |-- DefaultTime2Wait
|   |       |           |-- ErrorRecoveryLevel
|   |       |           |-- FirstBurstLength
|   |       |           |-- ImmediateData
|   |       |           |-- InitialR2T
|   |       |           |-- MaxBurstLength
|   |       |           |-- MaxConnections
|   |       |           `-- MaxOutstandingR2T
|   |       |-- attrib
|   |       |   |-- authentication
|   |       |   |-- cache_dynamic_acls
|   |       |   |-- default_cmdsn_depth
|   |       |   |-- demo_mode_write_protect
|   |       |   |-- generate_node_acls
|   |       |   |-- login_timeout
|   |       |   |-- netif_timeout
|   |       |   `-- prod_mode_write_protect
|   |       |-- control
|   |       |-- enable
|   |       |-- lun
|   |       |   `-- lun_0
|   |       |       |-- 9b5222b0c6 -> ../../../../../../target/core/fileio_0/myfile
|   |       |       |-- alua_tg_pt_gp
|   |       |       |-- alua_tg_pt_offline
|   |       |       |-- alua_tg_pt_status
|   |       |       `-- alua_tg_pt_write_md
|   |       |-- np
|   |       |   `-- 192.168.0.250:3260
|   |       |       |-- info
|   |       |       `-- sctp
|   |       `-- param
|   |           |-- AuthMethod
|   |           |-- DataDigest
|   |           |-- DataPDUInOrder
|   |           |-- DataSequenceInOrder
|   |           |-- DefaultTime2Retain
|   |           |-- DefaultTime2Wait
|   |           |-- ErrorRecoveryLevel
|   |           |-- FirstBurstLength
|   |           |-- HeaderDigest
|   |           |-- IFMarkInt
|   |           |-- IFMarker
|   |           |-- ImmediateData
|   |           |-- InitialR2T
|   |           |-- MaxBurstLength
|   |           |-- MaxConnections
|   |           |-- MaxOutstandingR2T
|   |           |-- MaxRecvDataSegmentLength
|   |           |-- OFMarkInt
|   |           |-- OFMarker
|   |           `-- TargetAlias
|   `-- lio_version
`-- version

*) lsmod output on target side:

lenny64guest1:/sys/kernel/config/target# lsmod
Module                  Size  Used by
tcm_fc                 21970  6 
fcoe                   16843  1 
libfcoe                10914  1 fcoe
libfc                  72344  3 tcm_fc,fcoe,libfcoe
scsi_transport_fc      36413  2 fcoe,libfc
iscsi_target_mod      212124  7 
target_core_mod       243050  23 tcm_fc,iscsi_target_mod
scsi_tgt                8418  2 scsi_transport_fc,target_core_mod
configfs               19535  4 tcm_fc,iscsi_target_mod,target_core_mod



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-03-20  2:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-20  2:41 [ANNOUNCE] TCM/ConfigFS v3.4.0-rc1 Nicholas A. Bellinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®