Some time ago I started playing with iscsi on a Dell MD3000i on debian etch. I found etch was too far behind the times, and moved to lenny. The problem is needing to replace a Netgear / Infrant NAS in production that was having memory leak problems at the time. I resolved those by not running munin-node on it, and forgot about it for a while.
Recently I started having a ton of NFS problems with the beast. Apparently someone discovered they got better NFS performance with a single server thread than the default eight, and Netgear decided that it would be a good reason to make that the default. Time to pick back up on getting rid of that gear for anything meaningful. Would be a really nice place to mirror ubuntu archives I think.
Running back through the normal commands lead to an error though:
# iscsiadm -m discovery –type sendtargets –portal x.x.x.x -P 1 # iscsiadm -m node -l # iscsiadm -m session iscsiadm: Could not get host for sid 1. iscsiadm: could not get host_no for session 6. iscsiadm: could not find session info for session1 iscsiadm: Can not get list of active sessions (6)
Turns out it’s a bug, LP #289470. This appears to allow a single session but you can’t view it’s status. Upgrading to a newer version fixes both the session status and the ability to mount multiple sessions again.
I wanted to grab the new package out of jaunty in a sane way. Adding jaunty to the sources.list alone would make apt want to upgrade all of the packages. Downloading the deb from the website and installing it by hand with dpkg wouldn’t handle any possible dependencies.
/etc/apt/preferences: Package: * Pin: release a=jaunty Pin-Priority: 450 Package: * Pin: release a=intrepid-updates Pin-Priority: 900 Package: * Pin: release a=intrepid-proposed Pin-Priority: 400
Then I ran:
# apt-get install -t jaunty open-iscsi
Which failed with a few errors:
# snip Setting up open-iscsi (2.0.870.1-0ubuntu1) ... Installing new version of config file /etc/init.d/open-iscsi ... Installing new version of config file /etc/iscsi/iscsid.conf ... update-rc.d: /etc/init.d/remove: file does not exist * Starting iSCSI initiator service iscsid [fail] * Setting up iSCSI targets iscsiadm: No records found! [ OK ] invoke-rc.d: initscript open-iscsi, action "start" failed. dpkg: error processing open-iscsi (--configure): subprocess post-installation script returned error exit status 1 Errors were encountered while processing: open-iscsi E: Sub-process /usr/bin/dpkg returned an error code (1)
There’s a couple bugs in there. One is a failure to correctly run ‘update-rc.d -f open-iscsi remove’, LP #306678, the other is that the init script doesn’t work so hot in 2.0.865-1ubuntu4, LP #181188 (init script), LP #306693 (upgrade).
After this, the inital commands worked as expected.
Edit to add that automatic login works with:
iscsiadm -m node -T TARGET --op update -n node.startup -v automatic