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:35] 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 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> |