Skip to content

SAN transport support - #13

Draft
petrutlucian94 wants to merge 2 commits into
cloudbase:mainfrom
petrutlucian94:san
Draft

petrutlucian94 wants to merge 2 commits into
cloudbase:mainfrom
petrutlucian94:san

Conversation

@petrutlucian94

Copy link
Copy Markdown
Member

The SAN transport can be used when VMFS is stored on an iSCSI lun.

Instead of talking to ESXi over NBD/NFC, the data is retrieved
from the iSCSI lun directly, which will be temporarily mounted locally.

This also means that we need to parse VMDKs residing on VMFS.
Normally we'd use vmfs(6)-fuse to mount the filesystem and then
parse the VMDK using libqemu.

Unfortunately all the vmfs-fuse implementations seem to be
abandoned, so we had to implement VMFS and VMDK parsing in
OpenVixDiskLib. For this reason, we'll consider this implementation
experimental only.
san transport support

The SAN transport can be used when VMFS is stored on an iSCSI lun.

Instead of talking to ESXi over NBD/NFC, the data is retrieved
from the iSCSI lun directly, which will be temporarily mounted locally.

This also means that we need to parse VMDKs residing on VMFS.
Normally we'd use vmfs(6)-fuse to mount the filesystem and then
parse the VMDK using libqemu.

Unfortunately all the vmfs-fuse implementations seem to be
abandoned, so we had to implement VMFS and VMDK parsing in
OpenVixDiskLib. For this reason, we'll consider this implementation
experimental only.

FibreChannel is unsupported, we didn't have hardware to test it.

petrutlucian94 and others added 2 commits September 23, 2026 08:06
SCSI-attach source VMDKs onto a proxy guest with ReconfigureVM and
read them as local SCSI devices, including NVMe/SATA sources remapped
onto proxy SCSI.

Co-authored-by: Cursor <cursoragent@cursor.com>
The SAN transport can be used when VMFS is stored on an iSCSI lun.

Instead of talking to ESXi over NBD/NFC, the data is retrieved
from the iSCSI lun directly, which will be temporarily mounted locally.

This also means that we need to parse VMDKs residing on VMFS.
Normally we'd use vmfs(6)-fuse to mount the filesystem and then
parse the VMDK using libqemu.

Unfortunately all the vmfs-fuse implementations seem to be
abandoned, so we had to implement VMFS and VMDK parsing in
OpenVixDiskLib. For this reason, we'll consider this implementation
experimental only.

FibreChannel is unsupported, we didn't have hardware to test it.
@petrutlucian94
petrutlucian94 marked this pull request as draft September 24, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant