在Linux中公开ISO文件作为iSCSI目标

时间:2017-06-22 03:45:21

标签: ubuntu-14.04 iscsi

如何在Linux中将iso文件公开为iSCSI目标。我尝试了以下内容,

mknod / dev / fake-dev1 b 7 201

losetup / dev / fake-dev1 1.iso

然后我修改了ietd.conf以指向块设备

Lun 0 Path = / dev / fake-dev1,Type = blockio,ScsiId = lun0,ScsiSN = lun0 IOMode = ro

然后重新启动了iscsitarget。从Windows连接我只看到它是未分配的驱动器而不是文件。 当我插入USB驱动器并指向' Path = / dev / sdb'然后在Windows机器上看到驱动器。但我无法使用ISO文件。请让我知道我在这里失踪了什么。

1 个答案:

答案 0 :(得分:1)

我不确定你为什么使用mknod和losetup。不应该需要它们。

只需设置一个“fileio”目标,您指向的文件就是ISO文件本身。

对我来说,这看起来像:

o- backstores .............................................................................................................. [...]  
  | o- block .................................................................................................. [Storage Objects: 0]  
  | o- fileio ................................................................................................. [Storage Objects: 2]  
  | | o- iso1 .......................... [/alt/ISO_Images/SLE-12-SP3-Server-DVD-x86_64-Beta2-DVD1.iso (3.2GiB) write-back activated]  
  | o- pscsi .................................................................................................. [Storage Objects: 0]  
  | o- ramdisk ................................................................................................ [Storage Objects: 0]  

对于存储的“后端”部分,然后将其设置为与任何其他文件一样,即分配iSCSI目标,将LUN设置为指向上面创建的fileio对象,然后设置ACL和门户网站它。我的再次看起来像:

  o- iscsi ............................................................................................................ [Targets: 2]  

  | o- iqn.2003-01.org.linux-iscsi.worklaptop.x8664:sn.c551a059614d ...................................................... [TPGs: 1]
  |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 1]
  |     | o- iqn.1996-04.de.suse:01:919acd32c5a2 .................................................................. [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ................................................................................. [lun0 fileio/iso1 (rw)]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ...................................... [fileio/iso1 (/alt/ISO_Images/SLE-12-SP3-Server-DVD-x86_64-Beta2-DVD1.iso)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 192.168.20.2:3260 ................................................................................................ [OK]

设置完成后,您会发现它与任何其他iSCSI目标一样。就我而言,我得到了“/ dev / sdb”,“/ dev / sdb1”和“/ dev / sdb2”。第一个显然是整个设备,包括分区表。第二个设备是第一个分区,在我的情况下是UEFI启动分区。第二个分区“/ dev / sdb2”是ISO,并且在我安装它时以只读方式挂载。