Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| soc:2009:pravin:journal:bkodebianiscsi [2009/07/23 06:45] less1 | soc:2009:pravin:journal:bkodebianiscsi [2009/09/25 19:37] (current) less1 | ||
|---|---|---|---|
| Line 202: | Line 202: | ||
| (07/19/2009 04:40:25 PM) stefanha: Otherwise iscsid will not accept commands from the UNIX domain socket. | (07/19/2009 04:40:25 PM) stefanha: Otherwise iscsid will not accept commands from the UNIX domain socket. | ||
| </code> | </code> | ||
| - | === Possible solutions === | + | === Possible solution : hacking open-iscsi === | 
|  |  | ||
| + | modified the ''iscsiadm'' code so that, it will not fail when username is not ''root''.\\ | ||
| + | With is modification, the discovery part is working, but now there is error at login part. Following is the error. | ||
| + | <code> | ||
| + | connection2:0: Could not create connection due to crc32c loading error.  Make sure the crc32c module is build as module into the kernel. | ||
| + | </code> | ||
| + | The first attempt will be to download the kernel module from Live CD of debian after booting it from CD.\\ | ||
| + | --- Doing it | ||
| + | ===== Working Solution ===== | ||
| + | There was need for two extra kernel modules | ||
| + | - libcrc32c.ko | ||
| + | - crc32c.ko | ||
| + | Fetched these modules from live-CD and added them.\\ | ||
| + | There as also need for small sleep after ''iscsiadm --login'' as ''/dev/sda'' was taking little time to appear.\\ | ||
| + | This was handled by adding ''sleep 2''\\ | ||
| + | |||
| + | Two new parameters were introduced | ||
| + | - ''iscsifs=<IP:PORT>''  iscsi server IP and port number | ||
| + | - ''target=<targetname>'' the iscsi target name of the disk (entire name is not needed, some part which can uniquely identify apart from other disks exported at same machine) | ||
| + | |||
| + | ===== Remote ISCSI ===== | ||
| + | |||
| + | Following are the errors that I get when connecting to remote iscsi | ||
| + | <code> | ||
| + | Connection1:0: ping timeout of 5 secs expired, last rx 307737, last ping 308987, now 310237 | ||
| + | Connection1:0: detected conn error (1011) | ||
| + | SQUASHFS error : Unable to read page, block 0x1b392 | ||
| + | Bus error | ||
| + | </code> | ||
| + | Most of these errors are related to timing, and I believe that | ||
| + | these errors are there because of delays in accessing required data. | ||
| + | |||
| + | ===== Target behaviour ===== | ||
| + | sometimes, you may get following error when logging in with iscsiadm | ||
| + | <code>  | ||
| + | iscsiadm -m node --targetname "${targetname}" --portal "${ISCSIFS}" --login  | ||
| + | records not found!. | ||
| + | </code> | ||
| + | this is because the ${ISCSIFS} is not IP but dnsname. | ||
| + | Dnsname may work with ''iscsiadm -m discovery -t st -p "${ISCSIFS}" '' | ||
| + | but it may verywell fail when same dnsname is given to login. | ||
| + | [[http://groups.google.com/group/open-iscsi/browse_thread/thread/c556508505ecc461|mailing list discussion]] | ||
| + | |||
| + | ==== Solution ==== | ||
| + | Dont use ''--portal "${ISCSIFS}"'' option, use | ||
| + | <code>  | ||
| + | iscsiadm -m node --targetname "${targetname}" --login  | ||
| + | </code> | ||



