Boot Raspberry Pi from an iscsi target

  • Thread starter Thread starter neilparker62
  • Start date Start date
  • Tags Tags
    Raspberry pi
Click For Summary
SUMMARY

This discussion focuses on booting Raspberry Pi devices from an iSCSI target server configured on Linux Mint (Cinnamon). The user successfully set up network booting via NFS but encountered an error during iSCSI boot, specifically "iscsiadm: initiator reported error (15 - already exists)." This issue is linked to potential conflicts with existing iSCSI initiators and may be related to an old bug in the iscsistart tool. Troubleshooting steps include checking for existing connections, ensuring unique IQNs, and updating iSCSI initiator tools.

PREREQUISITES
  • Understanding of iSCSI and its configuration
  • Familiarity with Linux Mint (Cinnamon) operating system
  • Knowledge of Raspberry Pi boot processes
  • Experience with command-line tools like iscsiadm
NEXT STEPS
  • Investigate the use of unique iSCSI Initiator IQNs
  • Learn how to check existing iSCSI connections using `iscsiadm -m session -P 3`
  • Update iSCSI initiator tools to the latest version
  • Review system logs for detailed iSCSI error messages
USEFUL FOR

System administrators, Raspberry Pi enthusiasts, and anyone involved in network booting or iSCSI configurations will benefit from this discussion.

neilparker62
Science Advisor
Homework Helper
Education Advisor
Insights Author
Messages
1,200
Reaction score
708
TL;DR
net boot raspberry pi from scsi SAN
Just wondering if anyone having experience with scsi / iscsi can help out ?

I am trying to boot a set of raspberry pies from an iscsi target server I have set up on Linux Mint (Cinammon). The setup works fine for network booting via NFS so I think I have configured the tftp , dnsmasq and nfs side of things correctly. The raspberry pi is able to find it's boot directory and associated boot files (plus config files) and everything works fine if we root mount an NFS share.

For iscsi SAN boot, one just needs to change the config.txt file to supply the name of an iscsi enabled initramfs and the cmdline.txt file to indicate the iscsi initiator and target. The raspberry pi finds everything correctly but at some point in the booting process it needs to login to the iscsi target so as to access the iscsi connected block device (Lun). At this point it comes up with the following error:

iscsiadm: initiator reported error (15 - already exists)

I believe this is an old bug associated with iscsistart. If anyone happens to know of a fix or work around, please advise.
 
Computer science news on Phys.org
neilparker62 said:
TL;DR Summary: net boot raspberry pi from scsi SAN

Just wondering if anyone having experience with scsi / iscsi can help out ?

I am trying to boot a set of raspberry pies from an iscsi target server I have set up on Linux Mint (Cinammon). The setup works fine for network booting via NFS so I think I have configured the tftp , dnsmasq and nfs side of things correctly. The raspberry pi is able to find it's boot directory and associated boot files (plus config files) and everything works fine if we root mount an NFS share.

For iscsi SAN boot, one just needs to change the config.txt file to supply the name of an iscsi enabled initramfs and the cmdline.txt file to indicate the iscsi initiator and target. The raspberry pi finds everything correctly but at some point in the booting process it needs to login to the iscsi target so as to access the iscsi connected block device (Lun). At this point it comes up with the following error:

iscsiadm: initiator reported error (15 - already exists)

I believe this is an old bug associated with iscsistart. If anyone happens to know of a fix or work around, please advise.
Certainly, your situation sounds challenging. The error you're encountering (`iscsiadm: initiator reported error (15 - already exists)`) suggests there might be a conflict with existing iSCSI initiators.

Here are a few troubleshooting steps you could consider:

1. Check for Existing Connections: Verify if there are any existing iSCSI connections or sessions on your Raspberry Pi or the iSCSI target server. You can use commands like `iscsiadm -m session -P 3` to get detailed information about active sessions.

2. Initiator IQN: Ensure that the iSCSI Initiator's IQN (iSCSI Qualified Name) is unique. If multiple initiators have the same IQN, it can cause conflicts. You can modify the IQN in the iSCSI initiator configuration file.

3. Check for Residual Initiator Instances: Sometimes, even after disconnecting, there might be residual instances. Ensure you're completely disconnecting and cleaning up any previous iSCSI connections before attempting a new one.

4. Update iSCSI Initiator Tools: Ensure you're using the latest version of iSCSI initiator tools. Outdated tools might have bugs that have been fixed in newer releases.

5. Logs and Debugging: Check system logs (`/var/log/messages` or `/var/log/syslog`) for any additional error messages related to iSCSI. Increased verbosity in iSCSI logging might provide more detailed information about the error.

6. Community and Forums: Post your query in relevant tech forums or communities. Sometimes, other users might have faced similar issues and can provide valuable insights or workarounds.

7. Documentation: Review the official documentation of the iSCSI initiator software you're using. There might be specific recommendations or known issues documented there.
 
  • Like
Likes   Reactions: neilparker62
During the boot process, scsistart seems to login to the target successfully and shows the block device as sdb. Then tries to login again - I'm not sure why ?? Also not sure about the "power-on or device reset" which seems to occur. Belows is a screenshot from the raspberry pi during net boot. I'll also try checking the logs on the target server.
iscsiboot.png
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
548
  • · Replies 7 ·
Replies
7
Views
3K