Mapping LUN的LBA如何映射到基于iSCSI文件的目标的映像文件

Mapping LUN的LBA如何映射到基于iSCSI文件的目标的映像文件,mapping,memory-address,iscsi,Mapping,Memory Address,Iscsi,我通过添加文件创建了一个基于文件的目标,并映射到iSCSI目标。 它是通过来自 我可以从wireshark看到windows(iSCSI启动器)和iSCSI目标之间的包 我的问题是iSCSI启动器如何尝试访问映射到映像文件(os.img)的地址(LBA)?LUN中是否有元数据?没有其他元数据。当您访问启动器上的逻辑块地址(LBA)0时,您正在访问您创建的10G文件中的偏移量0。当您以10Mb的速度访问LUN中的LBA时,您正在以10Mb的偏移量访问os.img中的块。块是512字节 要使用LUN

我通过添加文件创建了一个基于文件的目标,并映射到iSCSI目标。 它是通过来自

我可以从wireshark看到windows(iSCSI启动器)和iSCSI目标之间的包


我的问题是iSCSI启动器如何尝试访问映射到映像文件(os.img)的地址(LBA)?LUN中是否有元数据?

没有其他元数据。当您访问启动器上的逻辑块地址(LBA)0时,您正在访问您创建的10G文件中的偏移量0。当您以10Mb的速度访问LUN中的LBA时,您正在以10Mb的偏移量访问os.img中的块。块是512字节

要使用LUN,可能需要使用文件系统对其进行格式化。文件系统包含元数据,如文件名、属性以及映射到它们的块

如果您正在考虑为LUN本身提供精简资源调配元数据,则会以一种迂回的方式提供一些元数据,因为您的LUN是作为文件(
os.img
)存储在文件系统上的(无论包含什么
/root
)。文件系统跟踪文件中分配了哪些块。但是,由于您使用dd创建了它,您已经分配了它的所有块。您可以通过如下方式为lun创建稀疏文件来避免这种情况:

truncate -s 10G os.img
(礼貌)

但是,除了这两个相关的例子之外,没有元数据

truncate -s 10G os.img