Re: Should connection restored?

2008-05-19 Thread HIMANSHU

I changed timeout as follows.

1. iscsiadm --mode discovery --type sendtargets --portal 192.168.7.174

2. iscsiadm -m node -T iqn.2008-05.com.abcde:Tar1 -p
192.168.7.174:3260 --login

3. iscsiadm -m node -T iqn.2008-05.com.qualexsystems:Tar1 -p
192.168.7.174:3260 -o update -n
node.session.timeo.replacement_timeout -v 82400
(got succedded)

4. I mounted disk exposed and started some i/o on it.

5. Then i restarted iscsi-target daemon

output of dmesg after during step 4
-
__journal_remove_journal_head: freeing b_frozen_data
 scsi 1:0:0:1: rejecting I/O to dead device
 Buffer I/O error on device sdh1, logical block 529
 lost page write due to I/O error on sdh1
 scsi2 : iSCSI Initiator over TCP/IP
   Vendor: IET   Model: VIRTUAL-DISK  Rev: 0
   Type:   Direct-Access  ANSI SCSI revision: 04
 SCSI device sdg: 630784 512-byte hdwr sectors (323 MB)
 sdg: Write Protect is off
 sdg: Mode Sense: 77 00 00 08
 SCSI device sdg: drive cache: write through
 SCSI device sdg: 630784 512-byte hdwr sectors (323 MB)
 sdg: Write Protect is off
 sdg: Mode Sense: 77 00 00 08
 SCSI device sdg: drive cache: write through
  sdg: sdg1
 sd 2:0:0:0: Attached scsi disk sdg
 sd 2:0:0:0: Attached scsi generic sg6 type 0
   Vendor: IET   Model: VIRTUAL-DISK  Rev: 0
   Type:   Direct-Access  ANSI SCSI revision: 04
 SCSI device sdh: 630784 512-byte hdwr sectors (323 MB)
 sdh: Write Protect is off
 sdh: Mode Sense: 77 00 00 08
 SCSI device sdh: drive cache: write through
 SCSI device sdh: 630784 512-byte hdwr sectors (323 MB)
 sdh: Write Protect is off
 sdh: Mode Sense: 77 00 00 08
 SCSI device sdh: drive cache: write through
  sdh: sdh1
 sd 2:0:0:1: Attached scsi disk sdh
 sd 2:0:0:1: Attached scsi generic sg7 type 0
 kjournald starting.  Commit interval 5 seconds
 EXT3 FS on sdh1, internal journal
 EXT3-fs: mounted filesystem with ordered data mode.

 dmesg after step 5

session1: iscsi: session recovery timed out after 120 secs
 iscsi: cmd 0x2a is not queued (7)
 sd 2:0:0:1: SCSI error: return code = 0x0001
 end_request: I/O error, dev sdh, sector 390208
 Buffer I/O error on device sdh1, logical block 195073
 lost page write due to I/O error on sdh1
 Buffer I/O error on device sdh1, logical block 195074
 lost page write due to I/O error on sdh1
 Aborting journal on device sdh1.
 iscsi: cmd 0x2a is not queued (7)
 sd 2:0:0:1: SCSI error: return code = 0x0001
 end_request: I/O error, dev sdh, sector 390208
 Buffer I/O error on device sdh1, logical block 195073
 lost page write due to I/O error on sdh1
 Buffer I/O error on device sdh1, logical block 195074
 lost page write due to I/O error on sdh1
 __journal_remove_journal_head: freeing b_committed_data
 ext3_abort called.
 EXT3-fs error (device sdh1): ext3_journal_start_sb: Detected aborted
journal
 Remounting filesystem read-only
 iscsi: cmd 0x2a is not queued (7)
 sd 2:0:0:1: SCSI error: return code = 0x0001
 end_request: I/O error, dev sdh, sector 66
 Buffer I/O error on device sdh1, logical block 2
 lost page write due to I/O error on sdh1
 iscsi: cmd 0x2a is not queued (7)
 iscsi: cmd 0x2a is not queued (7)
 sd 2:0:0:1: SCSI error: return code = 0x0001
 end_request: I/O error, dev sdh, sector 376896
 Buffer I/O error on device sdh1, logical block 188417
 lost page write due to I/O error on sdh1
 sd 2:0:0:1: SCSI error: return code = 0x0001
 end_request: I/O error, dev sdh, sector 376900
 Buffer I/O error on device sdh1, logical block 188419
 lost page write due to I/O error on sdh1
---
What is exactly happening here?
timeout value is changing from 120 to 86400..How can i re-confirm
that?
Can there be some other problem as well?
-
Target: iqn.2008-05.com.qualexsystems:Tar2
   Current Portal: 192.168.7.174:3260,1
   Persistent Portal: 192.168.7.174:3260,1
   **
   Interface:
   **
   Iface Name: default
   Iface Transport: tcp
   Iface IPaddress: default
   Iface HWaddress: default
   Iface Netdev: default
   SID: 4
   iSCSI Connection State: LOGGED IN
   Internal iscsid Session State: NO CHANGE
   
   Negotiated iSCSI params:
   
   HeaderDigest: CRC32C
   DataDigest: None
   MaxRecvDataSegmentLength: 131072
   MaxXmitDataSegmentLength: 8192
   FirstBurstLength: 65536
   MaxBurstLength: 262144
   ImmediateData: No
   InitialR2T: Yes
   MaxOutstandingR2T: 1
   
   

Re: System hanging with MD3000i with Debian Etch

2008-05-19 Thread Konrad Rzeszutek

On Sun, May 18, 2008 at 06:21:17PM -0700, Bryan Mclellan wrote:
 
 Of the linux servers console? Sure I can dig one up, it's the first two lines 
 of the scsi disk sort of display, twice. Something sort of like:

Preferably the whole thing from start. Not just the last X lines.

 
 Disk: DELL  Model: MD3000
 Blah blah   blah blah
 
 I don't recall exactly what it said, but it wasn't very interesting.

It is for kernel engineers. Also please pass in as bootup parameter this value 
'loglevel=8'.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: Maximum LUN support

2008-05-19 Thread Shrey

Hi all,

Further update on this topic:


 Thanks once again :) - If I manage to find/assert it, I will surely
 post back.

I tried to do an experiment to confirm the maximum number of available
targets and LUNs with an initiator. I did:

On the target machine:
1. I created softlinks for a device such that they are named /dev/link
$i_$j where i varies from 1-100 and j varies from 0-10. Thus, I had
links like link1_0, link1_1, ...,link30_0,...,
link99_0, ...link100_10.
2. Each link was a softlink of a valid SCSI device on the target. All
this was pushed into the /etc/ietd.conf file and service iscsi-target
was restarted. (Yup, I am using iscsi-target-0.4.16 on the target
side.)
3. This gave me 100 targets, each having 10 LUNs - starting from
mydisk1 to mydisk100 (as target names).

On the initiator:
1. I set the discovery on this target machine IP. and tried to log in.

result:
Discovery itself is not able to add more than 89 (twice I got 90)
devices. It simply doesn't get any information about the top 11
devices from the ietd.conf file.
On the target, the message log contained something like Dropping key
(target ___ ) which, I found, was appearing from text_key_add()
function from the iscsi-target package.

The code is something like:
...
  if (conn-rsp.datasize + len  INCOMING_BUFSIZE) {
log_warning(Dropping key (%s=%s), key, value);
return;
}
...

Initiator doesn't show any error, and infact the node list (iscsiadm -
m node) doesn't display any device starting from mydevice1 -
mydevice11 in the list.

I tried this experiment many times by
1. changing the number of LUNs,
2. changing the device being pointed to by the soft links,
3. changing the number of target devices defined in ietd,
4. making half the links point to one device, and other half to other
5. Shuffling the order of ietd defined target names (and each time
starting 10-11, according to definition in ietd.conf, are not send by
target, whatever there name be).

Each time the result was same (atleast) - 89-90 can only be added.

I am still trying to find what could be the possible bottleneck that
is preventing me to add more devices - till then, I would really
appreciate if there is anything anyone would like to point out. Any
hints or mistakes I am making? Hopefully, using dummy (links) is not
something not-allowed as per target/initiator implementation.

--
Shreyansh

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: target*/*/block:change

2008-05-19 Thread Mike Christie
Stefan de Konink wrote:
 What was the reason for adding the block device name to the block symlink
 if this symlink already provides this name?
 

iscsi has not control over the block device naming and symlinks. You 
would want to ask lkml.

 It probably breaks everything that uses this block path directly to find
 out the device it is pointing to.
 

I am not sure if that is a good idea. There is a doc that comes with the 
kernel on how to write for sysfs. I attached it here. The iscsi sysfs 
code does not follow this and that is why it got busted when sysfs 
compat is disbaled in the kernel. I am replacing our sysfs code right 
now though.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---

Rules on how to access information in the Linux kernel sysfs

The kernel-exported sysfs exports internal kernel implementation details
and depends on internal kernel structures and layout. It is agreed upon
by the kernel developers that the Linux kernel does not provide a stable
internal API. As sysfs is a direct export of kernel internal
structures, the sysfs interface cannot provide a stable interface either;
it may always change along with internal kernel changes.

To minimize the risk of breaking users of sysfs, which are in most cases
low-level userspace applications, with a new kernel release, the users
of sysfs must follow some rules to use an as-abstract-as-possible way to
access this filesystem. The current udev and HAL programs already
implement this and users are encouraged to plug, if possible, into the
abstractions these programs provide instead of accessing sysfs directly.

But if you really do want or need to access sysfs directly, please follow
the following rules and then your programs should work with future
versions of the sysfs interface.

- Do not use libsysfs
  It makes assumptions about sysfs which are not true. Its API does not
  offer any abstraction, it exposes all the kernel driver-core
  implementation details in its own API. Therefore it is not better than
  reading directories and opening the files yourself.
  Also, it is not actively maintained, in the sense of reflecting the
  current kernel development. The goal of providing a stable interface
  to sysfs has failed; it causes more problems than it solves. It
  violates many of the rules in this document.

- sysfs is always at /sys
  Parsing /proc/mounts is a waste of time. Other mount points are a
  system configuration bug you should not try to solve. For test cases,
  possibly support a SYSFS_PATH environment variable to overwrite the
  application's behavior, but never try to search for sysfs. Never try
  to mount it, if you are not an early boot script.

- devices are only devices
  There is no such thing like class-, bus-, physical devices,
  interfaces, and such that you can rely on in userspace. Everything is
  just simply a device. Class-, bus-, physical, ... types are just
  kernel implementation details which should not be expected by
  applications that look for devices in sysfs.

  The properties of a device are:
o devpath (/devices/pci:00/:00:1d.1/usb2/2-2/2-2:1.0)
  - identical to the DEVPATH value in the event sent from the kernel
at device creation and removal
  - the unique key to the device at that point in time
  - the kernel's path to the device directory without the leading
/sys, and always starting with with a slash
  - all elements of a devpath must be real directories. Symlinks
pointing to /sys/devices must always be resolved to their real
target and the target path must be used to access the device.
That way the devpath to the device matches the devpath of the
kernel used at event time.
  - using or exposing symlink values as elements in a devpath string
is a bug in the application

o kernel name (sda, tty, :00:1f.2, ...)
  - a directory name, identical to the last element of the devpath
  - applications need to handle spaces and characters like '!' in
the name

o subsystem (block, tty, pci, ...)
  - simple string, never a path or a link
  - retrieved by reading the subsystem-link and using only the
last element of the target path

o driver (tg3, ata_piix, uhci_hcd)
  - a simple string, which may contain spaces, never a path or a
link
  - it is retrieved by reading the driver-link and using only the
last element of the target path
  - devices which do not have driver-link just do not have a
driver; copying the driver value in a child device context is a
bug in the application


Re: Maximum LUN support

2008-05-19 Thread Mike Christie

Shrey wrote:
 Hi all,
 
 Further update on this topic:
 
 Thanks once again :) - If I manage to find/assert it, I will surely
 post back.
 
 I tried to do an experiment to confirm the maximum number of available
 targets and LUNs with an initiator. I did:
 
 On the target machine:
 1. I created softlinks for a device such that they are named /dev/link
 $i_$j where i varies from 1-100 and j varies from 0-10. Thus, I had
 links like link1_0, link1_1, ...,link30_0,...,
 link99_0, ...link100_10.
 2. Each link was a softlink of a valid SCSI device on the target. All
 this was pushed into the /etc/ietd.conf file and service iscsi-target
 was restarted. (Yup, I am using iscsi-target-0.4.16 on the target
 side.)
 3. This gave me 100 targets, each having 10 LUNs - starting from
 mydisk1 to mydisk100 (as target names).
 
 On the initiator:
 1. I set the discovery on this target machine IP. and tried to log in.
 
 result:
 Discovery itself is not able to add more than 89 (twice I got 90)
 devices. It simply doesn't get any information about the top 11
 devices from the ietd.conf file.

When you say devices, you mean targets right?

open-iscsi-2.0-869 should work. I believe iscsi-target-0.4.16 does not 
support lots of targets. You shuold post to the IET list. I think there 
are threads on this already, so actually you should search their list to 
make sure it is not fixed in the svn tree.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---