RHEL7中ISCSI配置

来源:互联网 发布:短期java培训机构 编辑:程序博客网 时间:2024/06/05 22:19
RHEL7中ISCSI目标端配置_使用linux_IO
iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在 TCP 上。iSCSI网关可以转换协议,将iSCSI协议转化为FC协议
服务端:iSCSI Target (iscsi目标程序)
客户端: iSCSI Initiators (iscsi发起程序)
本文文档中目标端Lio的配置使用RHEL7提供的targetcli命令
在rhel7中root身份下 使用如下命令安装
# yum install targetcli -y
1 配置 iSCSI Target
在rhel7中配置一个iscsi 目标程序的方法如下:
Run the targetcli shell:
# targetcli
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
使用ls命令列出对象层次结构:

/> ls
o- / ............................................................ [...]
o- backstores ................................................... [...]
| o- block ......................................[Storage Objects: 0]
| o- fileio ...................................... [Storage Objects: 0]
| o- pscsi ..........................................[Storage Objects: 0]
| o- ramdisk .......................................[Storage Objects: 0]
o- iscsi ............................................... [Targets: 0]
o- loopback ............................................. [Targets: 0]

使用cd命令改变目录到 /backstores/block 并且创建你要提供给 LUN的块设备或分区, 例如:
/> cd /backstores/block
/backstores/block> create name=LUN_0 dev=/dev/sda4
Created block storage object LUN_0 using /dev/sda4.
创建一个块存储对象LUN_0 使用/dev/sdb.
/backstores/block> create name=LUN_1 dev=/dev/sda5
创建一个块存储对象LUN_1 使用 /dev/sd5.
存储对象的name=是任意的 你可以随便设置
使用cd命令改变目录到 /iscsi 并且创建 iSCSI target:
/> cd /iscsi
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339.
Created TPG 1.
使用ls命令列出 target portal group (TPG)目标入口组 的结构:
/iscsi> ls
o- iscsi .................................................. [Targets: 1]
o- iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339 .... [TPGs: 1]
o- tpg1 ............................. [no-gen-acls, no-auth]
o- acls ..................................... [ACLs: 0]
o- luns ................................................. [LUNs: 0]
o- portals ............................................ [Portals: 0]
使用cd切换到TPG directory的子目录luns 中并添加luns的目标门户组:

/isci>cd iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339/tpg1/luns
/iscsi/iqn.20...339/tpg1/luns> create /backstores/block/LUN_0
Created LUN 0.
/iscsi/iqn.20...339/tpg1/luns> create /backstores/block/LUN_1
Created LUN 1.
在TPG 目录层次中 切换到 portals 的子目录 并且指定iscsi taget端的ip和使用的端口号(端口号默认是3260):
/iscsi/iqn.20...339/tpg1/luns> cd ../portals
/iscsi/iqn.20.../tpg1/portals> create 172.16.40.128 3260
Using default IP port 3260
Created network portal 172.16.40.128:3260.
如果省略端口号,端口号默认为3260.
Ls列出对象层次, 同时查看块存储对象和 TPG:
/iscsi/iqn.20.../tpg1/portals> ls /
o- / .................................................. [...]
o- backstores .............................................. [...]
| o- block ........................................ [Storage Objects: 1]
| | o- LUN_0 ................. [/dev/sda4 (2.0GiB) write-thru activated]
| | o- LUN_1 .................. [/dev/sda5(2.0GiB) write-thru activated]
| o- fileio ........................................ [Storage Objects: 0]
| o- pscsi ....................................... [Storage Objects: 0]
| o- ramdisk .................................. [Storage Objects: 0]
o- iscsi ............................................ [Targets: 1]
| o- iqn.2013-01.com.mydom.host01.x8664:sn.ef8e14f87339 ....... [TPGs: 1]
| o- tpg1 ................................... [no-gen-acls, no-auth]
| o- acls .......................................... [ACLs: 0]
| o- luns ............................................ [LUNs: 1]
| | o- lun0 ............................. [block/LUN_0 (/dev/sda4)]
| | o- lun1 ............................. [block/LUN_1 (/dev/sda5)]
| o- portals .......................................... [Portals: 1]
| o- 172.16.40.128:3260 .................................... [OK]
o- loopback ......................................... [Targets: 0]
设置发起端的访问策略 例如, 配置演示模式,不需要认证, 切换到TGP目录并设置authentication 和demo_mode_write_protect 属性 为0 和 generate_node_acls cache_dynamic_acls 为 1:
/iscsi/iqn.20.../tpg1/portals> cd ..
/iscsi/iqn.20...ac1f6354/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1
Parameter demo_mode_write_protect is now '0'.
Parameter authentication is now '0'.
Parameter generate_node_acls is now '1'.
Parameter cache_dynamic_acls is now '1'.
注意
演示示例默认来说是不安全的如果你想了解更多安全方面的信息你可以查看, http://linux-iscsi.org/wiki/ISCSI#Define_access_rights.
切换到根目录保存配置,这样重启后配置依然生效:
/iscsi/iqn.20...14f87339/tpg1> cd /
/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
targetcli 保存当前的配置为JSON-格式 位置为 /etc/target/saveconfig.json.
更多的信息, 请查看 targetcli(8) 的手册--》#man 8 targetcli
2 客户端配置 iSCSI Initiator
在rhel7中配置 iscsi 发起程序请先安装如下软件包:
# yum install iscsi-initiator-utils
使用SendTargets发现方法去发现 iSCSI targets 用指定的IP 地址:
# iscsiadm -m discovery -t sendtargets -p 10.150.30.72
172.16.40.128:3260,1 iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339

iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339
是我iscsi target端生成的iqn 在你使用请替换为你发现的iqn
# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.rhel7.x8664:sn.376dac1f6339 –p 172.16.40.128:3260 -l
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:
sn.ef8e14f87344, portal: 172.16.40.128,3260] successful.

你可以把远程过来的磁盘像本地磁盘一样使用. 比如, 你可以配置它为 LVM 物理卷, fi文件系统, swap分区, Automatic Storage Management (ASM) disk, 或裸设备.
指定 _netdev 选项为新添加的iscsi磁盘在 /etc/fstab中, for example:
UUID=084591f8-6c8b-c857-f102-ebf8a3b387f3 /iscsi_mount_point xfs _netdev 0 0
因为iscsi设备是通过网络共享过来的,只有网络连通通的情况下才挂载这个设备。
Note
在 /etc/fstab 中使用 UUID=UUID 而不要使用具体路径比如/dev/sdb. 具体的路径在你重新连接磁盘的时候可能会发生改变,比如第一次是/dev/sdb第二次是/dev/sdc. 你可以使用blkid 命令去显示你的块设备和分区的 UUID .
更多的信息,请看 iscsiadm(8) 和 iscsid(8) 的系统手册
#man 8 iscsiadm
3 升级发现 Discovery Database

当服务端iscsi target发生改变的时候,我们可以使用如下客户端命令升级数据更新
使客户端得到新的硬件信息
添加未在当前数据库中的新记录:
# iscsiadm --mode discoverydb --type st -p 172.16.40.128 -o new --discover
升级添加已存在的记录:
# iscsiadm --mode discoverydb --type st -p 172.16.40.128 -o update --discover
删除iscsi target失效已经不使用的记录:
# iscsiadm --mode discoverydb --type st -p 172.16.40.128 -o delete --discover
更多信息,请看 iscsiadm(8) 手册
4 Windows客户端使用
可以自windows系统工具中选择iscsi发起程序

1 0
原创粉丝点击