You are not logged in.

#1 2019-05-03 20:24:40

mroach
Member
Registered: 2019-05-03
Posts: 1
Website

iSCSI boot fails

I'm trying to get Arch setup on a thin client. It has 1 GB of mSATA storage so I want to use that for the EFI system partition and /boot for a faster boot and not requiring me to setup custom iPXE configuration. My iSCSI target is a Synology NAS.

I followed https://wiki.archlinux.org/index.php/ISCSI/Boot for getting iSCSI going during setup and I followed a normal Arch install.

Summary of the filesystem:

/                        # iscsi target
/boot       /dev/sda2    # internal flash
/boot/efi   /dev/sda1    # internal flash

The install went fine. When I reboot, iscsistart fails and I'm dropped into a recovery shell:

iscsistart: version 2.0-877
iscsistart: Logging into iqn.2019-02.com.mroach.iscsi:arch1 10.65.49.10:3260,1
iscsistart: initiator reported error (15 - session exists)

If I look on my NAS, I can see that my client connected just fine. It stays connected for a couple minutes then disappears. So the login worked, but iscsistart thinks it didn't and no block device is setup. I confirm this with lsblk and looking in /dev/.

My iscsi hook for mkinitcpio is bog standard right from the guide:

run_hook ()
{
    modprobe iscsi_tcp
    mkdir -p /var/lib/dhcpcd
    dhcpcd eth0
    sleep 2
    iscsistart -i iqn.2019-05.com.mroach.iscsi:futro -t iqn.2019-02.com.mroach.iscsi:arch1 -g 1 -a 10.65.49.10
}

I've been at it for days trying to figure out what's wrong. It seems to me at the very least iscsistart is suspect. Its output is misleading at best. For example if I change the IP to a machine that doesn't exist, it gives the exact same output. If I set an invalid target on the right IP, I get a slightly different error. If I set a bogus target on a bogus IP, I get the same original error. It's making debugging quite difficult.

If I'm barking up the wrong tree here and I should go with an iPXE-based solution, I'll give up. But I'd like to get this working as I think the solution is rather nice.

The hardware is a Fujitsu Futro S900 thin client (AMD Geode x64, Realtek Gigabit). I've also got a dual-gigabit Intel PCIe NIC installed for later use. I'm happy to provide any other relevant info.


Update: New attempt:

I tried a new approach with eliminating EFI and the local storage. I installed Arch purely on the iSCSI target. I'm now using the iBFT approach by putting the following line in my local iPXE config:

sanboot iscsi:10.65.49.10:::1:iqn.2019-02.com.mroach.iscsi:arch1

The result ended up being the same. The system gets as far as the iscsi hook and fails in the same way. It actually connects (I can see it on my NAS) but reports (15 - session exists) and eventually the connection dies.

At this point I'm thinking:

1. There's something wrong or missing from the Arch iSCSI Boot documentation
2. There's a bug in open-iscsi, specifically iscsistart since iscsiadm usually work fine


Update 2:

I tried installing CentOS with /boot on local storage and the rest of the filesystem on the iSCSI target and it worked flawlessly. I suppose I'll try to figure out what's different about the CentOS install...but that could be a real heap of work.

Last edited by mroach (2019-05-04 11:43:02)

Offline

Board footer

Powered by FluxBB