I finally got this working.
In essence there’s nothing special to do.
For a boot test of your TN VM on another platform, just snapshot the VM main volume, clone it, then share it with iSCSI.
you can double check the content is there with fdisk on the zvol, e.g.:
freenas% sudo fdisk -l /dev/zvol/subramanya/ubuntudockerhost-0vhbns-clone
[sudo] password for jean:
Disk /dev/zvol/tank/ubuntudockerhost-0vhbns-clone: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 33554432 bytes
Disklabel type: gpt
Disk identifier: F02887A7-E662-44BC-83A5-6905B15FF0EE
Device Start End Sectors Size Type
/dev/zvol/tank/ubuntudockerhost-0vhbns-clone1 2048 1050623 1048576 512M EFI System
/dev/zvol/tank/ubuntudockerhost-0vhbns-clone2 1050624 3147775 2097152 1G Linux filesystem
/dev/zvol/tank/ubuntudockerhost-0vhbns-clone3 3147776 167772126 164624351 78.5G Linux filesystem
On Proxmox for instance but it’d work the same on XCP-Ng, you can mount the iSCSI share, (mount it with option Use LUN directly
on PVE since the volume is dedicated to a single VM), identify the volume that has been created and double check you have the same partitions with fdisk again, e.g.
root@pve:~# fdisk -l /dev/sde
Disk /dev/sde: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: iSCSI Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 16384 bytes
I/O size (minimum/optimal): 16384 bytes / 8388608 bytes
Disklabel type: gpt
Disk identifier: F02887A7-E662-44BC-83A5-6905B15FF0EE
Device Start End Sectors Size Type
/dev/sde1 2048 1050623 1048576 512M EFI System
/dev/sde2 1050624 3147775 2097152 1G Linux filesystem
/dev/sde3 3147776 167772126 164624351 78.5G Linux filesystem
Here we have an UEFI boot VM, it would be simpler with classic BIOS I guess, so you need to be careful that the Hypervisor that’s going to host the VM is aware of the EFI partition location.
On PVE, you need to make sure you uncheck Add EFI Disk: uncheck
since it’s all managed from the main volume.
And that’s enough for a successful first boot.
And then you can start dealing with all the subsequent issues
(network device name change, other potential mounted storage, hardware differences, etc.)