在Debian Lenny上使用iSCSI(启动器和目标)

在Debian Lenny(启动器和目标)上使用iSCSI

版本1.0
作者:Falko Timme

本指南介绍如何设置iSCSI目标和iSCSI启动器(客户端),两者均运行Debian Lenny。 iSCSI协议是一种存储区域网络(SAN)协议,允许iSCSI启动器使用通用以太网布线在(远程)iSCSI目标上使用存储设备。 对于iSCSI启动器,远程存储器看起来像一个正常的本地连接的硬盘驱动器。

我不会保证这将为您工作!

1初步说明

我在这里使用两个Debian Lenny服务器:

  • server1.example.com (Initiator):IP地址192.168.0.100
  • server2.example.com (目标):IP地址192.168.0.101

2设置目标(server2)

server2:

首先我们设置目标( server2 ):

aptitude install iscsitarget iscsitarget-modules-`uname -r`

打开/ etc / default / iscsitarget ...

vi /etc/default/iscsitarget

...并将ISCSITARGET_ENABLE设置为true

ISCSITARGET_ENABLE=true

我们可以使用未使用的逻辑卷,映像文件,硬盘驱动器(例如/ dev / sdb ),硬盘驱动器分区(例如/ dev / sdb1 )或RAID设备(例如/ dev / md0 )作为存储。 在本例中,我将在卷组vg0中创建一个名为storage_lun1的20GB的逻辑卷:

lvcreate -L20G -n storage_lun1 vg0

(如果要使用图像文件,可以按如下方式创建它:

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

这将创建大小为20GB的映像文件/storage/lun1.img

接下来我们编辑/etc/ietd.conf ...

vi /etc/ietd.conf

...并注释掉该文件中的所有内容。 最后我们添加以下节:

[...]
Target iqn.2001-04.com.example:storage.lun1
        IncomingUser someuser secret
        OutgoingUser
        Lun 0 Path=/dev/vg0/storage_lun1,Type=fileio
        Alias LUN1
        #MaxConnections  6

目标名称必须是全局唯一的名称,iSCSI标准定义了“iSCSI合格名称”,如下所示: iqn.yyyy-mm。<reverse domain name> [:identifier] ; yyyy-mm是域有效的日期; 标识符可以自由选择。 IncomingUser行包含用户名和密码,只有提供此用户名和密码的发起者(客户端)才能登录并使用存储设备; 如果您不需要身份验证,请勿在IncomingUser行中指定用户名和密码。 在Lun行中,我们必须指定存储设备的完整路径(例如/ dev / vg0 / storage_lun1/storage/ lun1.img/ dev / sdb等)。

现在我们告诉目标,我们想允许连接设备iqn.2001-04.com.example:storage.lun1从IP地址192.168.0.100server1.example.com )...

vi /etc/initiators.allow
[...]
iqn.2001-04.com.example:storage.lun1 192.168.0.100

...并启动目标:

/etc/init.d/iscsitarget start

3设置启动器(server1)

server1:

server1上 ,我们安装启动器:

aptitude install open-iscsi

接下来我们打开/etc/iscsi/iscsid.conf ...

vi /etc/iscsi/iscsid.conf

...并将node.startup设置为自动

[...]
node.startup = automatic
[...]

然后我们重新启动启动器:

/etc/init.d/open-iscsi restart

现在我们连接到目标( server2 ),并检查它提供的存储设备:

iscsiadm -m discovery -t st -p 192.168.0.101
server1:~# iscsiadm -m discovery -t st -p 192.168.0.101
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
server1:~#
iscsiadm -m node
server1:~# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
server1:~#

存储设备iqn.2001-04.com.example:192.168.0.101:3260,1上的storage.lun1的设置存储在文件/etc/iscsi/nodes/iqn.2001-04.com.example:storage中.lun1 / 192.168.0.101,3260,1 / default 。 我们需要在该文件中设置目标的用户名和密码; 而不是手动编辑该文件,我们可以使用iscsiadm命令为我们做这个:

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.username --value=someuser
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.password --value=secret

现在我们可以通过运行...登录

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login
server1:~# iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: successful
server1:~#

...或通过重启启动器:

/etc/init.d/open-iscsi restart

(如果要注销,可以运行

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout

在输出中

fdisk -l

你现在应该找到一个新的硬盘驱动器(在这个例子中是/ dev / sdb ); 这是我们的iSCSI存储设备:

server1:~# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00031334

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3749    30113811   83  Linux
/dev/sda2            3750        3916     1341427+   5  Extended
/dev/sda5            3750        3916     1341396   82  Linux swap / Solaris

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
server1:~#
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏