diff --git a/ibmvstgt/README b/ibmvstgt/README.procfs similarity index 50% rename from ibmvstgt/README rename to ibmvstgt/README.procfs index cc31786dc..5316df8d4 100644 --- a/ibmvstgt/README +++ b/ibmvstgt/README.procfs @@ -29,23 +29,23 @@ a configuration in which 16 RAM disks have been exported (see also [1] for more information): $ cat /proc/scsi_tgt/vdisk/vdisk -Name Size(MB) Block size Options File name T10 device id -ram000 16 512 NV /dev/ram0 c726a6ab -ram001 16 512 NV /dev/ram1 eca3eb12 -ram002 16 512 NV /dev/ram2 8e9fb87 -ram003 16 512 NV /dev/ram3 912b0e46 -ram004 16 512 NV /dev/ram4 c52a6cdf -ram005 16 512 NV /dev/ram5 b3f98ada -ram006 16 512 NV /dev/ram6 fb5fd9ce -ram007 16 512 NV /dev/ram7 3285b724 -ram008 16 512 NV /dev/ram8 6a93ad6d -ram009 16 512 NV /dev/ram9 f0c60f83 -ram010 16 512 NV /dev/ram10 f0c60f84 -ram011 16 512 NV /dev/ram11 f0c60f85 -ram012 16 512 NV /dev/ram12 f0c60f86 -ram013 16 512 NV /dev/ram13 f0c60f87 -ram014 16 512 NV /dev/ram14 f0c60f88 -ram015 16 512 NV /dev/ram15 f0c60f89 +Name Size(MB) Block size Options File name T10 device id +ram000 16 512 NV /dev/ram0 c726a6ab +ram001 16 512 NV /dev/ram1 eca3eb12 +ram002 16 512 NV /dev/ram2 8e9fb87 +ram003 16 512 NV /dev/ram3 912b0e46 +ram004 16 512 NV /dev/ram4 c52a6cdf +ram005 16 512 NV /dev/ram5 b3f98ada +ram006 16 512 NV /dev/ram6 fb5fd9ce +ram007 16 512 NV /dev/ram7 3285b724 +ram008 16 512 NV /dev/ram8 6a93ad6d +ram009 16 512 NV /dev/ram9 f0c60f83 +ram010 16 512 NV /dev/ram10 f0c60f84 +ram011 16 512 NV /dev/ram11 f0c60f85 +ram012 16 512 NV /dev/ram12 f0c60f86 +ram013 16 512 NV /dev/ram13 f0c60f87 +ram014 16 512 NV /dev/ram14 f0c60f88 +ram015 16 512 NV /dev/ram15 f0c60f89 After this step a LUN has to be assigned to each exported SCSI device. Some non-Linux initiator operating systems only accept LUN numbes that are @@ -68,49 +68,48 @@ In the above, the first echo command will create a group and will enable LUN addressing for that group. The second echo command tells SCST to use this group instead of the Default group for VSCSI. And the subsequent commands assign LUNs to the exported vdisks. The result of the above commands will -be the following: +be as follows: # cat /proc/scsi_tgt/groups/30000028/devices Device (host:ch:id:lun or name) LUN Options -ram000 256 -ram001 512 -ram002 768 -ram003 1024 -ram004 1280 -ram005 1536 -ram006 1792 -ram007 2048 -ram008 2304 -ram009 2560 -ram010 2816 -ram011 3072 -ram012 3328 -ram013 3584 -ram014 3840 -ram015 4096 +ram000 256 +ram001 512 +ram002 768 +ram003 1024 +ram004 1280 +ram005 1536 +ram006 1792 +ram007 2048 +ram008 2304 +ram009 2560 +ram010 2816 +ram011 3072 +ram012 3328 +ram013 3584 +ram014 3840 +ram015 4096 After SCST has been configured, make the new configuration available to the initiator by rescanning the SCSI bus, e.g. as follows: # rescan-scsi-bus --hosts=2 --ids=0-31 -# lsscsi -[0:0:1:0] disk AIX VDASD 0001 /dev/sda -[2:0:1:0] disk IBM VDASD blkdev 0001 /dev/sdb -[2:0:2:0] disk IBM VDASD blkdev 0001 /dev/sdc -[2:0:3:0] disk IBM VDASD blkdev 0001 /dev/sdd -[2:0:4:0] disk IBM VDASD blkdev 0001 /dev/sde -[2:0:5:0] disk IBM VDASD blkdev 0001 /dev/sdf -[2:0:6:0] disk IBM VDASD blkdev 0001 /dev/sdg -[2:0:7:0] disk IBM VDASD blkdev 0001 /dev/sdh -[2:0:8:0] disk IBM VDASD blkdev 0001 /dev/sdi -[2:0:9:0] disk IBM VDASD blkdev 0001 /dev/sdj -[2:0:10:0] disk IBM VDASD blkdev 0001 /dev/sdk -[2:0:11:0] disk IBM VDASD blkdev 0001 /dev/sdl -[2:0:12:0] disk IBM VDASD blkdev 0001 /dev/sdm -[2:0:13:0] disk IBM VDASD blkdev 0001 /dev/sdn -[2:0:14:0] disk IBM VDASD blkdev 0001 /dev/sdo -[2:0:15:0] disk IBM VDASD blkdev 0001 /dev/sdp -[2:0:16:0] disk IBM VDASD blkdev 0001 /dev/sdq +# lsscsi 2: +[2:0:1:0] disk IBM VDASD blkdev 0001 /dev/sdb +[2:0:2:0] disk IBM VDASD blkdev 0001 /dev/sdc +[2:0:3:0] disk IBM VDASD blkdev 0001 /dev/sdd +[2:0:4:0] disk IBM VDASD blkdev 0001 /dev/sde +[2:0:5:0] disk IBM VDASD blkdev 0001 /dev/sdf +[2:0:6:0] disk IBM VDASD blkdev 0001 /dev/sdg +[2:0:7:0] disk IBM VDASD blkdev 0001 /dev/sdh +[2:0:8:0] disk IBM VDASD blkdev 0001 /dev/sdi +[2:0:9:0] disk IBM VDASD blkdev 0001 /dev/sdj +[2:0:10:0] disk IBM VDASD blkdev 0001 /dev/sdk +[2:0:11:0] disk IBM VDASD blkdev 0001 /dev/sdl +[2:0:12:0] disk IBM VDASD blkdev 0001 /dev/sdm +[2:0:13:0] disk IBM VDASD blkdev 0001 /dev/sdn +[2:0:14:0] disk IBM VDASD blkdev 0001 /dev/sdo +[2:0:15:0] disk IBM VDASD blkdev 0001 /dev/sdp +[2:0:16:0] disk IBM VDASD blkdev 0001 /dev/sdq References diff --git a/ibmvstgt/README.sysfs b/ibmvstgt/README.sysfs new file mode 100644 index 000000000..c5d1dfd91 --- /dev/null +++ b/ibmvstgt/README.sysfs @@ -0,0 +1,90 @@ +IBM Virtual SCSI Target (ibmvstgt) +================================== + + +Introduction +------------ +The virtual SCSI (VSCSI) protocol as defined in [2] is a protocol that allows +one logical partition (LPAR) to access SCSI targets provided by another LPAR. +The LPAR that provides one or more SCSI targets is called the VIO server or +VIOS. The ibmvstgt driver is a VIOS driver that makes it possible to access +exported target devices via the VSCSI protocol. + +Setup +----- +After having configured the LPARs, boot the LPARs and load the ibmvstgt kernel +module in the VIOS. After the target driver has been loaded, verify that a +message similar to the following appears in the initiator kernel log: + +ibmvscsi 30000028: partner initialized +ibmvscsi 30000028: host srp version: 16.a, host partition VIOS3-P6 (40), OS 2, max io 67108864 +ibmvscsi 30000028: sent SRP login +ibmvscsi 30000028: SRP_LOGIN succeeded + +In the above log messages, the number 30000028 refers to the VIOS. The last +two digits, 0x28, refer to the VIOS partition number (0x28 = 40). + +The next step is to decide which SCSI devices to export. Here is an example of +a configuration in which 16 RAM disks have been exported (see also [1] for +more information): + +# ls /sys/kernel/scst_tgt/devices +2:0:0:0 ram000 ram001 ram002 ram003 ram004 ram005 ram006 ram007 +ram008 ram009 ram010 ram011 ram012 ram013 ram014 ram015 + +After this step a LUN has to be assigned to each exported SCSI device. Some +non-Linux initiator operating systems only accept LUN numbes that are +multiples of 256 and require that the LUN addressing method is used. The LUN +addressing method is only available for other groups than the Default group. +Configuring such a group can be done e.g. as follows: + + lun=0 + for name in ram000 ram001 ram002 ram003 ram004 ram005 ram006 ram007 \ + ram008 ram009 ram010 ram011 ram012 ram013 ram014 ram015 + do + lun=$((lun+256)) + echo "add $name $lun" \ + >/sys/kernel/scst_tgt/targets/ibmvstgt/ibmvstgt_target_0/luns/mgmt + done + echo 1 >/sys/kernel/scst_tgt/targets/ibmvstgt/ibmvstgt_target_0/enabled + +The result of the above commands will be as follows: + +# cat /sys/kernel/scst_tgt/targets/ibmvstgt/ibmvstgt_target_0/addr_method +LUN +# ls /sys/kernel/scst_tgt/targets/ibmvstgt/ibmvstgt_target_0/luns +256 512 768 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328 3584 3840 4096 +mgmt +# cat /sys/kernel/scst_tgt/targets/ibmvstgt/ibmvstgt_target_0/enabled +1 + +After SCST has been configured, make the new configuration available to the +initiator by rescanning the SCSI bus, e.g. as follows: + +# rescan-scsi-bus --hosts=2 --ids=0-31 +# lsscsi 2: +[2:0:1:0] disk IBM VDASD blkdev 0001 /dev/sdb +[2:0:2:0] disk IBM VDASD blkdev 0001 /dev/sdc +[2:0:3:0] disk IBM VDASD blkdev 0001 /dev/sdd +[2:0:4:0] disk IBM VDASD blkdev 0001 /dev/sde +[2:0:5:0] disk IBM VDASD blkdev 0001 /dev/sdf +[2:0:6:0] disk IBM VDASD blkdev 0001 /dev/sdg +[2:0:7:0] disk IBM VDASD blkdev 0001 /dev/sdh +[2:0:8:0] disk IBM VDASD blkdev 0001 /dev/sdi +[2:0:9:0] disk IBM VDASD blkdev 0001 /dev/sdj +[2:0:10:0] disk IBM VDASD blkdev 0001 /dev/sdk +[2:0:11:0] disk IBM VDASD blkdev 0001 /dev/sdl +[2:0:12:0] disk IBM VDASD blkdev 0001 /dev/sdm +[2:0:13:0] disk IBM VDASD blkdev 0001 /dev/sdn +[2:0:14:0] disk IBM VDASD blkdev 0001 /dev/sdo +[2:0:15:0] disk IBM VDASD blkdev 0001 /dev/sdp +[2:0:16:0] disk IBM VDASD blkdev 0001 /dev/sdq + + +References +---------- +[1] SCST Configuration Interface, Documentation/scst/README.scst. +[2] Power.org Standard for Power Architecture Platform Requirements (PAPR) +(Workstation, Server), Version 2.4, December 7, 2009, http://www.power.org. +[3] Virtual I/O (VIO) and Virtualization, IBM Developerworks, 2010, +http://www.ibm.com/developerworks/wikis/display/virtualization/VIO. diff --git a/scripts/generate-kernel-patch b/scripts/generate-kernel-patch index 608c3dccd..b8af5e154 100755 --- a/scripts/generate-kernel-patch +++ b/scripts/generate-kernel-patch @@ -659,7 +659,7 @@ EOF add_patch "${patch}" $f fi done - add_file "ibmvstgt/README" "Documentation/powerpc/ibmvstgt.txt" + add_file "ibmvstgt/README.sysfs" "Documentation/powerpc/ibmvstgt.txt" fi } \ | process_patch "scst_17_ibmvstgt.diff"