iSCSI as a boot device
Cannot boot from an iSCSI target if the system (hardware) has more than one CPU,
single CPU systems can boot from it.
If the system boots from another media (local hdd, cd, flash) and then import a zpool
from the iSCSI target, it works fine (the pool can be read and write).
I'm sure that it is something wrong with mutexes/rwlocks in the booting part
of iSCSI driver, but I can't catch it anyway.
Twice I got a kernel panic due to rw_exit in the boot part of the driver, but I cannot
reproduce it once again (see attach).
So, I did many screenshots from VirtualBox for single and multi-CPUs system,
also I have traffics for both systems to the target
and I can share it, if you need it.
Unfortunately, there was no dump device at this booting stage and I have no
any vmdump, sorry
Updated by Josef Sipek over 6 years ago
I definitely concur that iSCSI boot is finicky. However, it is not as simple as mp vs. up config. I've successfully booted over iSCSI with a multi-core processor. In my case, the trick was to use an e1000g card instead of nge. I documented my findings in two blog posts:
Updated by Denis Kozadaev over 6 years ago
The same behaviour is in a real hardware (multi-core celeron)
network in VBox is configured as a bridge to igb interface, guest system detects it
as e1000g device, there is a realtek chipset on the real hardware.
also, I read your posts before start my tests, thank you for that articles,
it helped me to use iPXE, anyway, the question is unresolved at this moment.
also, I can give you an ovf file from vbox and open access to the iscsi target for your
IP address, but I think it will be slow outside of the local network.