Hello, I am currently building a test setup with pxe diskless clients which use an iscsi root device and came across a problem with the iscsi-iinitiatorname used by dracut. Specifially, if iscsi-initiator is not set manually the iscsiroot script calls iscsi-iname to get a valid iscsi name (cf. rfc3720,rfc3721): if [ -z $iscsi_initiator ]; then # XXX is this correct? iscsi_initiator=$(iscsi-iname) While iscsi-iname provides a valid iscsi name the result is random and consequently the iscsi name changes with each reboot, e.g. calling iscsi-iname results in: iqn.1994-05.com.redhat:e25068854d3a (fedora) iqn.2005-03.org.open-iscsi:ff1a0774235 (debian) where the last part is random. However, some iscsi targets such as LIO Linux SCSI Target require that the name of the iscsi initiator is in the ACL of the target, otherwise the initiator will be unable to connect: https://groups.google.com/forum/#!topic/linux-iscsi-target-users/5G5WJ8TwUB8 So imho a more predictable approach to generate the initiatorname is required, otherwise I am not sure how to use dracut with LIO iscsi. Furthermore, even without the issue of ACLs it seems sub optimal to use iscsi names which change with every reboot. One workaround would be to set the iscsi name manually but in some use cases (e.g. diskless clients with shared read only rootfs) setting the initiator name manually would either result all clients having the same initiator name or in a lot of maintenance overhead. So imho the preferred solution would be something along the lines suggested in the iscsi module: # XXX rfc3720 says 'SCSI Initiator Name: The iSCSI Initiator Name specifies # the worldwide unique name of the initiator.' Could we use hostname/ip # if missing? There are a couple of ways this may be implemented. Dracut could continue call iscsi-iname and replace the random part by something more predictable (e.g. fully qualified hostname, mac address). Or simply define the initiatorname completely independent of iscsi-iname, maybe via fqdn and mac address? I am currently using the following approach in iscsiroot.sh: iscsi_initiator=$(iscsi-iname) IFS=":" set -- $iscsi_initiator iscsi_initiator="$1:$(hostname -f)" unset IFS This works well, but of course only results in a globally unique iscsi name if a globally unique hostname is set via dhcp. Using the MAC Adress is a viable option but ties the ACL to a specific NIC and may have some pitfalls if there is more than one NIC. -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html