ISCSI网络存储服务
- ISCSI网络存储服务
1、本章结构
2、概述
3、DAS
直接附加存储Direct-Attached Storage
4、SAN网络
Storage Area Network,存储区域网络,多采用高速光纤通道,对速率、冗余性要求高,使用ISCSI存储协议,块级传输
5、NAS网络
Network Attachment Storage,网络附加存储,采用普通以太网,对速率、冗余无特别要求,使用NFS、CIFS共享协议,文件级传输
6、C/S架构
ISCSI的工作方式
服务(设备)端------target
客户端(应用)端-----initiator
7、服务器端搭建
#yum –y install iscsi-target-utils
#service tgtd start
命令tgtadm的用法:
#tgtadm [OPTION]
--lld=-L 指定设备
--mode=-m 指定模式
--op=-o 指定操作
--tid=-t 指定target的ID号
--initiator-address=-I 指定客户机地址
-b=--backing-store 指定块设备位置
-l=--lun 指定逻辑单元号
①#tgtadm --lld <driver> --mode target --op new --tid <id> --targetname <name>
添加一个新的目标与< id >和<名称>。< id >不能是零。
②#tgtadm -lld <driver> --mode target --op delete [--force] --tid <id>
删除< id >的具体目标。以强制选项,删除特定的目标,即使它正处于活动状态。
③#tgtadm --lld <driver> --mode target --op show
显示所有目标
④#tgtadm --lld <driver> --mode target --op show --tid <id>
显示特定目标的参数。
⑤#tgtadm --lld <driver> --mode target --op update --tid <id> --name <param> --value <value>
更改目标参数的具体目标与< id >。
⑥#tgtadm --lld <driver> --mode target --op bind --tid <id> --initiator-address <address>
--lld <driver> --mode target --op bind --tid <id> --initiator-name <name>
使目标接受特定的发起者,即授权特定的主机
⑦#tgtadm --lld <driver> --mode target --op unbind --tid <id> --initiator-address <address>
#tgtadm --lld <driver> --mode target --op unbind --tid <id> --initiator-name <name>
禁用特定允许发起人。
⑧#tgtadm --lld <driver> --mode logicalunit --op new --tid <id> --lun <lun>
--backing-store <path> --bstype <type> --bsoflags <options>
添加一个新的逻辑单元与< lun >对于< id >的具体目标。逻辑单元是发起者提出。<路径>必须是块设备文件(包括LVM和RAID设备)或普通文件。bstype选项是可选的。Bsoflags被支持的选项是sync和direct。
⑨#tgtadm --lld <driver> --mode logicalunit --op delete --tid <id> --lun <lun>
删除特定的逻辑单元与< lun >与< id >目标。
⑩#tgtadm --lld <driver> --mode account --op new --user <name> --password <pass>
添加一个有用户和密码的账户
#tgtadm --lld <driver> --mode account --op delete --user <name>
删除有名称的特定帐户
#tgtadm --lld <driver> --mode account --op bind --tid <id> --user <name> [--outgoing]
添加有名称的指定账户对于指定<id>的具体目标。用户可能是 IncomingUser >或< OutgoingUser >。如果你使用-outgoing 选项,帐户将被添加作为一个即将离任的帐户。
#tgtadm --lld <driver> --mode account --op unbind --tid <id> --user <name>
从特定的目标删除有<名称>的特定帐户
#tgtadm --control-port <port> use control port <port>
8、客户端的搭建
#yum –y install iscsi-initiator-utils
#service iscsi start
命令iscsiadm的用法:
- #iscsiadm -m discovery [ -hV ] [ -d debug_level ] [ -P printlevel ]
[ -I iface -t type -p ip:port [ -l ] ] | [ [ -p ip:port ] [ -l |-D ] ]
- iscsiadm -m node [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -L
all,manual,automatic ] [ -U all,manual,automatic ] [ -S ] [ [ -T targetname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -o operation ] [ -n name ] [ -v value ] [ -p ip:port ] ]
-D, --discover
#发现目标使用发现记录recid匹配发现类型和门户。如果没有匹配的记录,它将使用iscsid创建的。conf发现设置。这必须通过discoverydb模式指导iscsiadm执行发现。此选项只适用于SendTargets发现模式。
-a, --ip=ipaddr #IP地址可以使用IPV4或IPV6的
-l, --login
#对于节点和fw模式,登录到指定的记录。发现模式,登录所有发现目标。
-L, --loginall==[all|manual|automatic]
#对于节点模式,登录所有会话与节点或康涅狄格州的启动值传入或全部sesssion运行, ,如果所有被传入,除了那些onboot,这个选项只对节点模式有效
-m, --mode op
#指定特定模式,op一定是discoverydb, node, fw,host iface 或者session中的一个
-o, --op=op
#指定的模式,op一定是new, delete, update, show 或者 nonpersistent中的一个
-T, --targetname=targetname
#使用的目标,这应该和--portal使用在节点模式下
-S, --show
#当发现记录时,不隐藏默认值,比如CHAP加密
-u, --logout
#登出一个指定的记录
二、搭建ISCSI网络存储
试验准备:主机A、B、C在同一网段中,其IP地址分别为192.168.131.142,192.168.131.139,192.168.131.140,主机A作为服务器端,主机B和主机C作为客户端,操作系统为CentOS6.6 x86_64,为最小化安装,均关闭防火墙和SELIUX,主机A有四块新硬盘,一块做成LVM,三块做成RAID5。
1、服务器搭建
整合存储空间
①第二块硬盘做成LVM
#fdisk /dev/sdb
- RADI5
# mdadm -Cv /dev/md0 -a yes -n 3 -l 5 /dev/sdc /dev/sdd /dev/sde
- # yum -y install scsi-target-utils
# service tgtd start
# netstat -tunlp | grep tgtd
- #ntpdate cn.pool.ntp.org #同步一下时间,确保三台主机时间相同
创建服务器端资源
- # tgtadm -L iscsi -o new -m target -t 1 -T iqn.2016-10.com.taobao,www:lvm
- # tgtadm -L iscsi -o new -m target -t 2 -T iqn.2016-10.com.taobao,www:raid
- # tgtadm -L iscsi -o show -m target
为资源分配存储设备
- # tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/vg0/lv0
- # tgtadm -L iscsi -o new -m logicalunit -t 2 -l 1 -b /dev/md0
分配acl规则
- # tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.131.139
- # tgtadm -L iscsi -o bind -m target -t 2 -I 192.168.131.140
修改配置
- # vim /etc/tgt/targets.conf
<target iqn.2016-10.com.taobao.www:lvm>
backing-store /dev/vg0/lv0
initiator-address 192.168.131.139
</target>
<target iqn.2016-10.com.taobao.www:raid>
backing-store /dev/md0
initiator-address 192.168.131.140
</target>
#service tgtd restart
- # chkconfig --level 35 tgtd on
2、客户端操作
①主机B操作
# yum -y install iscsi-initiator-utils
#service iscsi start
# iscsiadm -m discovery -t sendtargets -p 192.168.131.142
# iscsiadm -m node -T iqn.2016-10.com.taobao.www:lvm –login
# fdisk –l
# mkdir /lvm
# yum -y install lscsi
# lsscsi
# fdisk /dev/sdb
# partx /dev/sdb
# mkfs.ext4 /dev/sdb1 #格式化后进行挂载操作
# mount /dev/sdb1 /lvm/
# vim /etc/fstab
/dev/sdb1 /lvm ext4 defaults,_netdev 0 0
②主机C操作
# yum -y install iscis-initiator-utils
#service iscsi start
# iscsiadm -m discovery -t sendtargets -p 192.168.131.142
# iscsiadm -m node -T iqn.2016-10.com.taobao.www:raid –login
# yum -y install lsscsi
# fdisk –l
# fdisk /dev/sdb
# mke2fs -t ext4 /dev/sdb1
# mkdir /raid
# mount /dev/sdb1 /raid/
# vim /etc/fstab
/dev/sdb1 /raid ext4 defaults,_netdev 0 0