挂载为 iSCSI 目标守护进程创建的映像文件

挂载为 iSCSI 目标守护进程创建的映像文件

我最近在 Ubuntu 服务器上安装了 iSCSI 环境。在这个系统中,我使用了以下命令创建的映像:

dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000

如图所示:http://www.howtoforge.com/using-iscsi-on-ubuntu-9.04-initiator-and-target

然后通过 iSCSI 启动器对它们进行分区和格式化。

我现在遇到的问题是,如果 iSCSI 服务器关闭以获取数据,我需要安装这些图像。

我该如何挂载这些图像文件?


fdisk lun4.img:

Disk lun4.img: 0 MB, 0 byte  
33 heads, 61 sectors/track, 0 cylinders  
Units = sectors of 2013 · 512 = 1030656 byte  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  

Device Boot     Start        End     Blocks    Id  System  
lun4.img1               1        1017     1023580   83  Linux

安装-o循环,偏移量=512-t ext4 lun4.img /mnt

mount: wrong fs type, bad option, bad superblock on /dev/loop0,  
missing codepage or other error  
In some cases useful info is found in syslog - try  
dmesg | tail or so  

答案1

假设它们使用内核支持的文件系统进行格式化,则可以使用回送挂载来挂载它们。回送挂载允许您将文件挂载为块设备。

如果你已经对镜像文件所代表的虚拟“磁盘”进行了分区,那么你将不得不对mount来回送安装分区中的文件系统。您可以在本文。基本上,您是在告诉mount命令在文件中寻找指定的偏移量。该偏移量对应于文件内分区的起始位置。

答案2

使用 fdisk,输入“virtualdiskname”.img,然后输入“p”,可以检查每个磁道的起始扇区信息(在我的例子中,starts = 48)。然后使用“v”,可以检查扇区大小,根据公式,结果可用于偏移值:

[每磁道扇区数] * [扇区大小] = 偏移值

mount -o loop,offset=result -t ext4 virtualdiskname.img /mount-folder

相关内容