ISCSI网络存储服务

ISCSI网络存储服务 node

  1. ISCSI网络存储服务

1、本章结构 vim

2、概述 服务器

3DAS 网络

直接附加存储Direct-Attached Storage session

4SAN网络 架构

Storage Area Network,存储区域网络,多采用高速光纤通道,对速率、冗余性要求高,使用ISCSI存储协议,块级传输 加密

5NAS网络 spa

Network Attachment Storage,网络附加存储,采用普通以太网,对速率、冗余无特别要求,使用NFSCIFS共享协议,文件级传输 操作系统

6C/S架构 debug

ISCSI的工做方式

服务(设备)端------target

客户端(应用)端-----initiator

7、服务器端搭建

#yum –y install iscsi-target-utils

#service tgtd start

命令tgtadm的用法:

#tgtadm [OPTION]

--lld=-L 指定设备

--mode=-m 指定模式

--op=-o 指定操做

--tid=-t 指定targetID

--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 >的具体目标。逻辑单元是发起者提出。<路径>必须是块设备文件(包括LVMRAID设备)或普通文件。bstype选项是可选的。Bsoflags被支持的选项是syncdirect

#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的用法:

  1. #iscsiadm -m discovery [ -hV ] [ -d debug_level ] [ -P printlevel ]

[ -I iface -t type -p ip:port [ -l ] ] | [ [ -p ip:port ] [ -l |-D ] ]

  1. 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地址可使用IPV4IPV6

-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

#登出一个指定的记录

2、搭建ISCSI网络存储

试验准备:主机ABC在同一网段中,其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

  1. RADI5

# mdadm -Cv /dev/md0 -a yes -n 3 -l 5 /dev/sdc /dev/sdd /dev/sde

  1. # yum -y install scsi-target-utils

# service tgtd start

# netstat -tunlp | grep tgtd

  1. #ntpdate cn.pool.ntp.org #同步一下时间,确保三台主机时间相同

建立服务器端资源

  1. # tgtadm -L iscsi -o new -m target -t 1 -T iqn.2016-10.com.taobao,www:lvm
  2. # tgtadm -L iscsi -o new -m target -t 2 -T iqn.2016-10.com.taobao,www:raid
  3. # tgtadm -L iscsi -o show -m target

为资源分配存储设备

  1. # tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/vg0/lv0
  2. # tgtadm -L iscsi -o new -m logicalunit -t 2 -l 1 -b /dev/md0

分配acl规则

  1. # tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.131.139
  2. # tgtadm -L iscsi -o bind -m target -t 2 -I 192.168.131.140

修改配置

  1. # 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

  2. # 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