我最近在 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