zoukankan      html  css  js  c++  java
  • 转:iscsi Target (TGT)

    参见:http://linux.vbird.org/linux_server/0460iscsi.php 

    最近在做iscsi 性能评估,为以后ESXi集群等高级功能做准备,使用过openfiler,不过测试时openfiler 自带的iscsi target软件性能似乎有问题,所以有了本文的主角 TGT ,RHLE/CENTOS 自带,使用 Yum 安装即可,下面是具体步骤。  

     
    一 TGT 设置
     
    1. 检查系统是否安装 scsi-target  
    2. //用来将Linux 系统模拟成为iSCSI target 的功能,也就是常说的软iscsi target. 
    3. # rpm -qa | grep scsi 
    4. scsi-target-utils-1.0.14-4.el6.x86_64 
    5.  
    6. iscsi target 配置文档与管理程序 
    7.  
    8. /etc/tgt/targets.conf   主配置文档,设置要分享的磁盘 
    9. /usr/sbin/tgt-admin     线上查询、删除target 等功能的管理工具; 
    10. /usr/sbin/tgt-setup-lun 建立target 以及设置分享的磁盘与可使用的用户端等工具软体。 
    11. /usr/sbin/tgtadm        手动直接管理的管理员工具(可使用配置文档取代); 
    12. /usr/sbin/tgtd          主要提供iSCSI target 服务的主程式; 
    13. /usr/sbin/tgtimg        建置预计分享的映像档装置的工具(以映像档模拟磁盘) 
    14.  
    15. 准备iscsi共享的磁盘 
    16. //本次将共享一个LVM 物理卷 
    17.  
    18. 査看卷组 
    19. //注意 关键字"Free  PE / Size"  
    20. [root@localhost ~]# vgdisplay  
    21.   --- Volume group --- 
    22.   VG Name               VolGroup 
    23.   System ID              
    24.   Format                lvm2 
    25.   Metadata Areas        2 
    26.   Metadata Sequence No  6 
    27.   VG Access             read/write 
    28.   VG Status             resizable 
    29.   MAX LV                0 
    30.   Cur LV                4 
    31.   Open LV               3 
    32.   Max PV                0 
    33.   Cur PV                2 
    34.   Act PV                2 
    35.   VG Size               1.36 TiB 
    36.   PE Size               4.00 MiB 
    37.   Total PE              356833 
    38.   Alloc PE / Size       151074 / 590.13 GiB 
    39.   Free  PE / Size       205759 / 803.75 GiB 
    40.   VG UUID               ZjL1o1-I90u-K0iY-MwPJ-TA1h-cez3-q4crAe 
    41.     
    42.  
    43. 创建物理卷 
    44. //创建的逻辑卷大小200G,名称为iscsi 属于VolGroup卷组 
    45. lvcreate -L 200G -n iscsi VolGroup 
    46.  
    47. 査看建立的逻辑卷 
    48. [root@localhost ~]# lvscan  
    49.   ACTIVE            '/dev/VolGroup/lv_root' [50.00 GiB] inherit 
    50.   ACTIVE            '/dev/VolGroup/lv_home' [306.65 GiB] inherit 
    51.   ACTIVE            '/dev/VolGroup/lv_swap' [33.48 GiB] inherit 
    52.   ACTIVE            '/dev/VolGroup/iscsi' [200.00 GiB] inherit 
    53.  
    54. 配置target.conf (TGT) 
    55.  vim /etc/tgt/targets.conf 
    56. //添加如下 
    57. <target iqn.2012-04.com.test:server.target1> 
    58.     backing-store /dev/VolGroup/iscsi
    59. lun 10
    60. </target> 
    61.  
    62. //此配置文档语法如下: 
    63. <target iqn.相关装置的target名称> 
    64.     backing-store /你的/虚拟装置/完整名称-1  <==LUN 1 
    65.     backing-store /你的/虚拟装置/完整名称-2  <==LUN 2 
    66. lun N <==LUN 10 自定义lun
    67. </target> 
    68. //iqn 名称规范 
    69. iqn.yyyy-mm.<reversed domain name>:identifier 
    70. iqn.年年-月.单位网域名的反转写法:这个分享的target名称 
    71.  
    72. 启动并检查tgt  
    73. [root@localhost yum.repos.d]# /etc/init.d/tgtd start 
    74. Starting SCSI target daemon:                               [  OK  ] 
    75. [root@localhost yum.repos.d]# tgt-admin --show 
    76. Target 1: iqn.2012-04.com.test:server.target1 
    77.     System information: 
    78.         Driver: iscsi 
    79.         State: ready 
    80.     I_T nexus information: 
    81.     LUN information: 
    82.         LUN: 0 
    83.             Type: controller 
    84.             SCSI ID: IET     00010000 
    85.             SCSI SN: beaf10 
    86.             Size: 0 MB 
    87.             Online: Yes 
    88.             Removable media: No 
    89.             Backing store type: rdwr 
    90.             Backing store path: None 
    91.         LUN: 10
    92.             Type: disk 
    93.             SCSI ID: IET     00010001 
    94.             SCSI SN: beaf11 
    95.             Size: 214748 MB 
    96.             Online: Yes 
    97.             Removable media: No 
    98.             Backing store type: rdwr 
    99.             Backing store path: /dev/VolGroup/iscsi 
    100.     Account information: 
    101.     ACL information: 
    102.         ALL 
    103. //tgtd 进程使用 tcp 3260 端口 
    104. # lsof -i :3260 
    105. COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME 
    106. tgtd    2856 root    5u  IPv4  19726      0t0  TCP *:iscsi-target (LISTEN) 
    107. tgtd    2856 root    6u  IPv6  19727      0t0  TCP *:iscsi-target (LISTEN) 
    108. tgtd    2857 root    5u  IPv4  19726      0t0  TCP *:iscsi-target (LISTEN) 
    109. 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 设置
     
    1. 检查系统是否安装 iscsi-target-utils 
    2. //iscsi-initiator-utils:挂载target 的磁盘到Linux 本机上 
    3. $ rpm -qa | grep scsi 
    4. iscsi-initiator-utils-6.2.0.871-0.10.el5 
    5.  
    6. iscsi initiator 配置文档与管理程序 
    7. /etc/iscsi/iscsid.conf  主要的配置文档,用于连接到 iSCSI target 
    8. /sbin/iscsid            启动 iSCSI initiator 的服务进程 
    9. /sbin/iscsiadm          用于管理 iSCSI initiator  
    10. /etc/init.d/iscsid      模拟成 iSCSI initiater 的服务 
    11. /etc/init.d/iscsi       在本机成为 iSCSI initiator 后,会调用此脚本,用于登入 iSCSI target 
    12. /etc/iscsi/initiatorname.iscsi initiator 名称
    13.  
    14. 启动 iscsi-initiator  
    15. 192.168.57.71 [~]$ /etc/init.d/iscsi start 
    16. iscsid dead but pid file exists 
    17. Turning off network shutdown. Starting iSCSI daemon:       [  OK  ] 
    18.                                                            [  OK  ] 
    19. Setting up iSCSI targets: iscsiadm: No records found! 
    20.                                                            [  OK  ] 
    21. 192.168.57.71 [~]$ /etc/init.d/iscsid status 
    22. iscsid (pid  7740) is running... 
    23. 192.168.57.71 [~]$ /etc/init.d/iscsi status 
    24. iscsid (pid  7740) is running... 
    25.  
    26. $ chkconfig iscsi on 
    27.  
    28. 侦测target  
    29. $ iscsiadm -m discovery -t sendtargets -p 10.0.100.99 
    30. 10.0.100.99:3260,1 iqn.2012-04.com.test:server.target1 
    31.  
    32. $ ll -R /var/lib/iscsi/nodes/ 
    33. /var/lib/iscsi/nodes/: 
    34. total 4 
    35. drw------- 3 root root 4096 Apr 18 15:59 iqn.2012-04.com.test:server.target1 
    36.  
    37. /var/lib/iscsi/nodes/iqn.2012-04.com.test:server.target1: 
    38. total 4 
    39. drw------- 2 root root 4096 Apr 18 15:59 10.0.100.99,3260,1 
    40.  
    41. /var/lib/iscsi/nodes/iqn.2012-04.com.test:server.target1/10.0.100.99,3260,1: 
    42. total 4 
    43. -rw------- 1 root root 1571 Apr 18 15:59 default 
    44.  
    45. //注意:iscsiadm 侦测的结果会直接写入 /var/lib/iscsi/nodes/  
    46.  
    47. 査看可用的target 
    48. $ iscsiadm -m node 
    49. 10.0.100.99:3260,1 iqn.2012-04.com.test:server.target1 
    50.  
    51. 载入target  
    52. $ iscsiadm -m node -T iqn.2012-04.com.test:server.target1 --login 
    53. Logging in to [iface: default, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260] 
    54. Login to [iface: default, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260]: successful 
    55.  
    56. 验证target  
    57. $ fdisk -l /dev/sdc 
    58.  
    59. Disk /dev/sdc: 214.7 GB, 214748364800 bytes 
    60. 255 heads, 63 sectors/track, 26108 cylinders 
    61. Units = cylinders of 16065 * 512 = 8225280 bytes 
    62.  
    63. Disk /dev/sdc doesn't contain a valid partition table 
    64. //一块磁盘,接下来就可以分区格式化等操作了 
    65.  
    66. 卸载target  
    67. $ iscsiadm -m node -T iqn.2012-04.com.test:server.target1 --logout 
    68. Logging out of session [sid: 1, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260] 
    69. Logout of [sid: 1, target: iqn.2012-04.com.test:server.target1, portal: 10.0.100.99,3260]: successful 
    70. //再次fdisk -l 发现 sdc 磁盘不见了 
    71.  
    72. 删除target  
    73. //刪除 target 连接信息,再次 ll /var/lib/iscsi/nodes/ 为0 
    74. 192.168.57.71 [~]$ iscsiadm -m node -o delete -T iqn.2012-04.com.test:server.target1 
    75. 192.168.57.71 [~]$ ll -R /var/lib/iscsi/nodes/ 
    76. /var/lib/iscsi/nodes/: 
    77. total 0 
    78.   
    四 扩展(鸟哥)
     
    1. /etc/tgt/targets.conf 配置文件 
    2. 除了backing-store 之外,在这个配置文档当中还有一些比较特别的参数(man tgt-admin): 
    3.  
    4.     backing-store (虚拟的装置), direct-store (实际的装置): 设定装置时,如果你的整颗磁盘是全部被拿来当iSCSI 分享之用,那么才能够使用direct-store 。不过,根据网路上的其他文件, 似乎说明这个设定值有点危险的样子。所以,基本上还是建议单纯使用模拟的backing-store 较佳 
    5.  
    6.     initiator-address (使用者端位址): 如果你想要限制能够使用这个target 的用户端来源,才需要填写这个设定值。基本上,不用设定它(代表所有人都能使用的意思), 因为我们后来会使用iptables 来规范可以连接的客户端 
    7.  
    8.     incominguser (使用者帐号密码设定): 如果除了来源IP 的限制之外,你还想要让使用者输入帐密才能使用你的iSCSI target 的话,那么就加用这个设定项目。此设定后面接两个参数,分别是帐号与密码啰。 
    9.  
    10.     write-cache [off|on] (是否使用快取): 在预设的情况下,tgtd 会使用快取来增快速度。不过,这样可能会有遗失资料的风险。所以,如果你的资料​​比较重要的话, 或许不要使用快取,直接存取装置会比较妥当一些。 
  • 相关阅读:
    最近面试遇到的技术问题
    Oracle 查看表空间使用情况
    流水账日记20150626
    Mantis及TestLink运维问题处理
    Mantis维护之显示姓名
    汤姆猫(。。。。)
    mac配置svn服务器
    如何使用TestFlight进行Beta测试
    artice与section的区别
    article元素设计网络新闻展示
  • 原文地址:https://www.cnblogs.com/jjkv3/p/2773285.html
Copyright © 2011-2022 走看看