Chinaunix首页 | 论坛 | 博客
  • 博客访问: 362849
  • 博文数量: 36
  • 博客积分: 570
  • 博客等级: 中士
  • 技术积分: 1042
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-08 20:53
文章分类
文章存档

2015年(1)

2014年(1)

2013年(14)

2012年(10)

2011年(10)

分类: LINUX

2011-11-03 00:28:44

我常用这几种iscsi软件来做集群的实验,在接触linux之前我一直用微软的 iscsi target 软件做windows集群的实验,末尾我再介绍 MS iSCSI Target软件的下载地址和使用方法,超简单,我先来介绍 Linux中常用的两种 iSCSI Target软件,总不能挂着狗头卖羊肉吧,呵呵

SCSI target framework (tgt)

这个在rhel5中作为一个套间存在

安装:

yum install scsi-target-utils

启动服务

/etc/init.d/tgtd start

设为开机自启动:

chkconfig tftd on

确认一下有没有起来呀

netstat -anlpt | grep 3260

3260 是iscsi target的侦听端口

老生常谈,呵呵

我们不需要去配置配置文档,所有的配置都是通过tgtadm指令进行设置生效的

创建target

 

在linux中没有回显便是成功

看一下刚才的指令都干了些什么

tgtadm --lld iscsi --op show --mode target

LUN0是系统自动产生的,用来管理 device controller

分配存储设备

现在创建了一个target,稍后向这个target分配一个物理的或文件的存储空间,再分配一个lun号;

可以向一个target分配一个或多个存储空间,而一个存储空间同时只能分配给一个target

现在我准备了三个划分好的分区和一个文件

使用 dd 指令来创建一个1GB大小的文件

dd if=/dev/zero of=/var/lun4 bs=1M count=1024

接下来,给新建的target添加一个存储设备

tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/hdb5

tgtadm --lld iscsi --op show --mode target 查看信息

从信息可以看到,已经为tid为1的target分配了/dev/hdb5的分区,并未它分配了lun号为1(lun0为系统占用,已经不可以使用)

再为这个target分配 /var/lun4,这个是之前用dd创建的设备。

tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 -b /var/lun4

tgtadm --lld iscsi --op show --mode target

设置访问控制

为Target分配了存储设备后,需要设置访问控制后才可以使用,我们可以设置Target任意被访问,但是这样不安全;所以我们可以设置基于IP地址授权或基于用户验证的方式来控制对Target的访问

任意被访问:

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

tgtadm --lld -iscsi --op show --mode target 

把任意访问的授权给去掉

tgtadm --lld iscsi --op unbind --mode target --tid 1 -I ALL

设置基于ip地址的授权

tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.2.23

在授权一个ip:

tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.2.33

授权一段IP

tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.4.0/24

查看一下:

tgtadm --lld iscsi --op show --mode target 


删除操作

从Target中移除lun

tgtadm --lld iscsi --op delete --mode logicalunit --tid 1 --lun 2

lun 2已经没了

删除target

tgtadm --lld iscsi --op delete --mode target --tid 1

tgtadm --lld iscsi --op show --mode target

没有任何信息返回,原先的target已经没有了

客户端连接

windows 客户端:

windows 7 iscsi 发起程序

linux客户端

安装iscsi-initiator-utils

发现设备:

iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.40 --discover

指令会给我们返回所有target的iqn号

登录设备:

iscsiadm --mode node --targetname iqn.com.beyondsoft.2011-11.storage --portal 192.168.2.40:3260 --login

系统返回成功登录的信息

从系统中卸载:

iscsiadm --mode node --targetname iqn.com.beyondsoft.2011-11.storage --portal 192.168.2.40:3260 --logout

系统返回成功登出的信息:

Linux Enterprise iScsi Target(iet)

下载地址:

安装Enterprise iscsi target,先需要安装kernel-devel kernel-header

所以安装之前先检查一下系统是否安装了这个两个包

rpm -qa | grep kernel-devel

rpm -qa | grep kernel-header

如果都装了,就安装喽

make

make install

安装也挺简单的

Enterprise iscsi target 与 tgt不同的是,所有的设置是在配置文档里做的

 /etc/iet/ietd.conf是它的配置文档

iet也可以基于ip和用户验证进行授权

用户验证是在iet.conf里面做,ip授权是在initiators.allow 和 targets.allow进行授权

在配置文档里添加:

iSNSServer 192.168.2.40

iSNSAccessControl No

iqn.2011-11.con.beyondsoft.com.storage  

#这是创建一个target

Lun 0 Path=/dev/hdb5,Type=fileio,IOMode=wb

#这是给target分配存储设备

退出保存

默认情况下,iet是允许任意被访问的

initiators.allow

我们去掉 ALL ALL配置

添加刚才新建的target访问授权

iqn.2011-11.com.beyondsoft.storage 192.168.2.24, 192.168.2.33

启动服务:

/etc/init.d/iscsi-target start

检查服务是否正常启动:

netstat -anlpt | grep 3260

用windows 客户端连接一下,我的ip是 192.168.2.23

显示没有可用于快速链登录的目标

把我的ip授权

重启服务:/etc/init.d/iscsi-target restart

再连接一下

可以成功连接

以上两种是在linux系统上做的。

以下简单介绍下微软的 iscsi target 3.3

下载地址:

下载完毕 install step by step没有什么好说的,只能安装在64bit的server端,好像有破解版的没有限制。

“开始”——》程序——》Microsoft iScsi software target

在操作控制台里,分别创建target和设备,设备是.vhd的虚拟硬盘文件

创建target

这样就创建好了一个target

创建设备

在创建的过程中会让你选择.vhd文件的存放位置和大小

并可以在创建的过程中把它分配给一个target

客户端连接

windows

用linux连接也是没有问题的

over,介绍的比较简单,有问题可以一起探讨,(*^__^*)

阅读(15002) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~