你的位置:首页 > 操作系统

[操作系统]ISCSI网络存储服务


ISCSI网络存储服务

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

  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地址可以使用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

  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