Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10329156
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 服务器与存储

2013-11-27 15:50:11

iscsi Target (TGT)
2012-04-24 01:06:57
标签:iscsi tgt openfiler linux
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dngood.blog.51cto.com/446195/842658
 最近在做iscsi 性能评估,为以后ESXi集群等高级功能做准备,使用过openfiler,不过测试时openfiler 自带的iscsi target软件性能似乎有问题,所以有了本文的主角 TGT ,RHLE/CENTOS 自带,使用 Yum 安装即可,下面是具体步骤。  
 
一 TGT 设置
 
检查系统是否安装 scsi-target  
//用来将Linux 系统模拟成为iSCSI target 的功能,也就是常说的软iscsi target. 
# rpm -qa | grep scsi  
scsi-target-utils-1.0.14-4.el6.x86_64 
 
iscsi target 配置文档与管理程序 
 
/etc/tgt/targets.conf   主配置文档,设置要分享的磁盘 
/usr/sbin/tgt-admin     线上查询、删除target 等功能的管理工具; 
/usr/sbin/tgt-setup-lun 建立target 以及设置分享的磁盘与可使用的用户端等工具软体。 
/usr/sbin/tgtadm        手动直接管理的管理员工具(可使用配置文档取代); 
/usr/sbin/tgtd          主要提供iSCSI target 服务的主程式; 
/usr/sbin/tgtimg        建置预计分享的映像档装置的工具(以映像档模拟磁盘) 
 
准备iscsi共享的磁盘 
//本次将共享一个LVM 物理卷 
 
査看卷组 
//注意 关键字"Free  PE / Size"  
[root@localhost ~]# vgdisplay  
  --- Volume group --- 
  VG Name               VolGroup 
  System ID              
  Format                lvm2 
  Metadata Areas        2 
  Metadata Sequence No  6 
  VG Access             read/write 
  VG Status             resizable 
  MAX LV                0 
  Cur LV                4 
  Open LV               3 
  Max PV                0 
  Cur PV                2 
  Act PV                2 
  VG Size               1.36 TiB 
  PE Size               4.00 MiB 
  Total PE              356833 
  Alloc PE / Size       151074 / 590.13 GiB 
  Free  PE / Size       205759 / 803.75 GiB 
  VG UUID               ZjL1o1-I90u-K0iY-MwPJ-TA1h-cez3-q4crAe 
    
 
创建物理卷 
//创建的逻辑卷大小200G,名称为iscsi 属于VolGroup卷组 
lvcreate -L 200G -n iscsi VolGroup 
 
査看建立的逻辑卷 
[root@localhost ~]# lvscan  
  ACTIVE            '/dev/VolGroup/lv_root' [50.00 GiB] inherit 
  ACTIVE            '/dev/VolGroup/lv_home' [306.65 GiB] inherit 
  ACTIVE            '/dev/VolGroup/lv_swap' [33.48 GiB] inherit 
  ACTIVE            '/dev/VolGroup/iscsi' [200.00 GiB] inherit 
 
配置target.conf (TGT) 
 vim /etc/tgt/targets.conf 
//添加如下 
 
    backing-store /dev/VolGroup/iscsi
    lun 10 
 
 
//此配置文档语法如下: 
 
    backing-store /你的/虚拟装置/完整名称-1  <==LUN 1 
    backing-store /你的/虚拟装置/完整名称-2  <==LUN 2 
    lun N                                 <==LUN 10 自定义lun
 
//iqn 名称规范 
iqn.yyyy-mm.:identifier 
iqn.年年-月.单位网域名的反转写法:这个分享的target名称 
 
启动并检查tgt  
[root@localhost yum.repos.d]# /etc/init.d/tgtd start 
Starting SCSI target daemon:                               [  OK  ] 
[root@localhost yum.repos.d]# tgt-admin --show 
Target 1: iqn.2012-04.com.test:server.target1 
    System information: 
        Driver: iscsi 
        State: ready 
    I_T nexus information: 
    LUN information: 
        LUN: 0 
            Type: controller 
            SCSI ID: IET     00010000 
            SCSI SN: beaf10 
            Size: 0 MB 
            Online: Yes 
            Removable media: No 
            Backing store type: rdwr 
            Backing store path: None 
        LUN: 10 
            Type: disk 
            SCSI ID: IET     00010001 
            SCSI SN: beaf11 
            Size: 214748 MB 
            Online: Yes 
            Removable media: No 
            Backing store type: rdwr 
            Backing store path: /dev/VolGroup/iscsi 
    Account information: 
    ACL information: 
        ALL 
//tgtd 进程使用 tcp 3260 端口 
# lsof -i :3260 
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME 
tgtd    2856 root    5u  IPv4  19726      0t0  TCP *:iscsi-target (LISTEN) 
tgtd    2856 root    6u  IPv6  19727      0t0  TCP *:iscsi-target (LISTEN) 
tgtd    2857 root    5u  IPv4  19726      0t0  TCP *:iscsi-target (LISTEN) 
tgtd    2857 root    6u  IPv6  19727      0t0  TCP *:iscsi-target (LISTEN) 


二 ESXI 配置ISCSI 
1 配置 -> iSCSI Software Adapter -> 属性

2 可以在静态发现或者动态发现添加 iscsi target ip 地址

3 配置 -> 存储器 -> 添加存储器 -> 磁盘/lun -> 下一步 -> 下一步 即可 

 


三 linux initiator 设置
 
检查系统是否安装 iscsi-target-utils 
//iscsi-initiator-utils:挂载target 的磁盘到Linux 本机上 
$ rpm -qa | grep scsi 
iscsi-initiator-utils-6.2.0.871-0.10.el5 
 
iscsi initiator 配置文档与管理程序 
/etc/iscsi/iscsid.conf  主要的配置文档,用于连接到 iSCSI target 
/sbin/iscsid            启动 iSCSI initiator 的服务进程 
/sbin/iscsiadm          用于管理 iSCSI initiator  
/etc/init.d/iscsid      模拟成 iSCSI initiater 的服务 
/etc/init.d/iscsi       在本机成为 iSCSI initiator 后,会调用此脚本,用于登入 iSCSI target 
/etc/iscsi/initiatorname.iscsi  initiator 名称
 
启动 iscsi-initiator  
192.168.57.71 [~]$ /etc/init.d/iscsi start 
iscsid dead but pid file exists 
Turning off network shutdown. Starting iSCSI daemon:       [  OK  ] 
                                                           [  OK  ] 
Setting up iSCSI targets: iscsiadm: No records found! 
                                                           [  OK  ] 
192.168.57.71 [~]$ /etc/init.d/iscsid status 
iscsid (pid  7740) is running... 
192.168.57.71 [~]$ /etc/init.d/iscsi status 
iscsid (pid  7740) is running... 
 
$ chkconfig iscsi on 
 
侦测target  
$ iscsiadm -m discovery -t sendtargets -p 10.0.100.99 
10.0.100.99:3260,1 iqn.2012-04.com.test:server.target1 
 
$ ll -R /var/lib/iscsi/nodes/ 
/var/lib/iscsi/nodes/: 
total 4 
drw------- 3 root root 4096 Apr 18 15:59 iqn.2012-04.com.test:server.target1 
 
/var/lib/iscsi/nodes/iqn.2012-04.com.test:server.target1: 
total 4 
drw------- 2 root root 4096 Apr 18 15:59 10.0.100.99,3260,1 
 
/var/lib/iscsi/nodes/iqn.2012-04.com.test:server.target1/10.0.100.99,3260,1: 
total 4 
-rw------- 1 root root 1571 Apr 18 15:59 default 
 
//注意:iscsiadm 侦测的结果会直接写入 /var/lib/iscsi/nodes/  
 
査看可用的target 
$ iscsiadm -m node 
10.0.100.99:3260,1 iqn.2012-04.com.test:server.target1 
 
载入target  
$ iscsiadm -m node -T iqn.2012-04.com.test:server.target1 --login 
Logging in to [iface: default, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260] 
Login to [iface: default, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260]: successful 
 
验证target  
$ fdisk -l /dev/sdc 
 
Disk /dev/sdc: 214.7 GB, 214748364800 bytes 
255 heads, 63 sectors/track, 26108 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
Disk /dev/sdc doesn't contain a valid partition table 
//一块磁盘,接下来就可以分区格式化等操作了 
 
卸载target  
$ iscsiadm -m node -T iqn.2012-04.com.test:server.target1 --logout 
Logging out of session [sid: 1, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260] 
Logout of [sid: 1, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260]: successful 
//再次fdisk -l 发现 sdc 磁盘不见了 
 
删除target  
//刪除 target 连接信息,再次 ll /var/lib/iscsi/nodes/ 为0 
192.168.57.71 [~]$ iscsiadm -m node -o delete -T iqn.2012-04.com.test:server.target1 
192.168.57.71 [~]$ ll -R /var/lib/iscsi/nodes/ 
/var/lib/iscsi/nodes/: 
total 0 
  
四 扩展(鸟哥)
 
/etc/tgt/targets.conf 配置文件 
除了backing-store 之外,在这个配置文档当中还有一些比较特别的参数(man tgt-admin): 
 
    backing-store (虚拟的装置), direct-store (实际的装置): 设定装置时,如果你的整颗磁盘是全部被拿来当iSCSI 分享之用,那么才能够使用direct-store 。不过,根据网路上的其他文件, 似乎说明这个设定值有点危险的样子。所以,基本上还是建议单纯使用模拟的backing-store 较佳 
 
    initiator-address (使用者端位址): 如果你想要限制能够使用这个target 的用户端来源,才需要填写这个设定值。基本上,不用设定它(代表所有人都能使用的意思), 因为我们后来会使用iptables 来规范可以连接的客户端 
 
    incominguser (使用者帐号密码设定): 如果除了来源IP 的限制之外,你还想要让使用者输入帐密才能使用你的iSCSI target 的话,那么就加用这个设定项目。此设定后面接两个参数,分别是帐号与密码啰。 
 
    write-cache [off|on] (是否使用快取): 在预设的情况下,tgtd 会使用快取来增快速度。不过,这样可能会有遗失资料的风险。所以,如果你的资料比较重要的话, 或许不要使用快取,直接存取装置会比较妥当一些。 
参考

更多欢迎到此讨论:
71921660   37275208 (已满)
本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/842658


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