设为首页 收藏本站
查看: 2967|回复: 1

[经验分享] ISCSI网络存储

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-11 11:09:19 | 显示全部楼层 |阅读模式
目前计算机领域的存储解决方案主要有直连存储(DAS)、存储区域网络(SAN)、以及网络附加存储(NAS)三种。
DAS(Direct-Attached Storage)指的是主机总线直接通过SCSI接口与存储设备相连,这种连接方式主要应用在家庭个人电脑环境中。
SAN(Storage Area Network)指的是一整套存储网络的解决方案,SAN采用的是光纤通道技术,SAN就是通过光纤交换机将服务器与存储设备连接在一起的网络整体环境,SAN的优势在于其先进的光纤通信技术,为当今爆炸式的数据增长环境提供了快速高效的存储方案。
NAS(Network-Attached Storage)可以使用普通的网络环境,通过以太网交换机等设备连接服务器与存储设备,NAS的优势在于无需对网络环境进行改造,NAS可以使用现有的网络环境,而且不同厂家的设备只要使用TCP/IP协议,就可以满足设备之间对兼容性的要求,NFS和CIFS就属于网络附加存储的解决方案,它们都提供了对文件系统的共享。
由于传统的SAN需要价格昂贵的光纤设备作为基础,所以现在又有了基于IP技术的SAN,可以通过IP网络进行数据存储,服务器在不进行任何改造的情况下使用现有的以太网卡就可以访问IP SAN(ISCSI就是这样的技术)。
NAS与SAN的主要区别在于,NAS共享的是文件系统,SAN共享的是块设备。
本节重点关注ISCSI网络存储与数据同步rsync系统。
4.6.1 ISCSI网络存储
ISCSI(Internet Small Computer System Interface)是典型的IP-SAN技术,是基于因特网的SAN存储技术,该技术使得我们可以在基于IP协议的网络上传输SCSI命令,在ISCSI环境中,客户端(initiators)发送SCSI命令给远程的SCSI存储设备(targets),实现数据的存储与备份功能。ISCSI使用TCP的860和3260端口进行通信。
ISCSI与SCSI最大的区别在于ISCSI摆脱了存储设备的距离限制,使得任何主机都可以通过局域网或广域网访问我们的存储设备,而对于数据中心而言,这是至关重要的。
下面我们将在Centos 6.3中部署一个ISCSI服务器以及客户端访问的环境。
1. 部署ISCSI服务
在Centos 6.3平台上部署ISCSI服务需要安装target软件,安装完成后,可以通过命令或修改配置文件这两种方式部署ISCSI服务。
如果需要使用命令配置服务,可以参考tgtadm命令的man手册,其中有详细的示例。以下操作将使用修改配置文件的方式来进行,先弄清楚两个概念:LUN、IQN。
LUN(Logic Unit Number)是设备的逻辑单元号,一般为一个数字,我们使用LUN来标识存储设备。
IQN(ISCSI Qualified Name)为ISCSI合格名称,一般格式为iqn.yyyy-mm<reversed domain name>:identifier,其中,yyyy代表年,mm代表月,reversed domain name是域名的反写,identifier为标识名称。
部署ISCSI服务器时,首先需要安装scsi-target-utils软件。默认的服务器配置文件为/etc/tgt/targets.conf,我们需要在配置文件添加共享设备,为共享设备创建LUN和IQN。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[iyunv@instructor ~]# yum -y install scsi-target-utils
[iyunv@instructor ~]# vim /etc/tgt/targets.conf
<target iqn.2014.08.com.example.instructor:disk1>   
  backing-store /dev/sdb3   
backing-store /dev/sdb5
</target>  
<target iqn.2014-08.com.example.instructor:disk2>   
  backing-store /dev/sdc3   
lun 10   
vendor_id jacob Inc.   
  incominguser tom tompass12
</target>
<target iqn.2014.08.com.example.instructor:disk3>   
backing-store /dev/sdd3   
  lun 20   
initiator-address 192.168.0.102   
  incominguser tom tompass12
</target>   
[iyunv@instructor ~]# service tgtd restart && chkconfig tgtd on



/etc/tgt/targets.conf配置文件说明如下。
第一个target定义了两个LUN,LUN编号会自动按顺序分配给LUN1、LUN2,LUN0一般会分配给SCSI控制器。默认允许所有人访问该target。/dev/sdb3与/dev/sdb5是准备共享的设备,通过backing-store指定设备路径,backing-store支持文件或块设备。此外,也可以使用direct-store指定设备路径,但direct-store仅支持本地SCSI设备。
第二个target定义了一个LUN,LUN编号为手动配置的10,共享设备是/dev/sdc3,手动修改设备的厂家信息为jacob Inc.。此外,通过 incominguser选项将该target设置为仅允许tom账户访问,密码为tompass12。
第三个target定义了一个LUN。LUN编号为20,共享设备为/dev/sdd3,仅允许tom账户通过192.168.0.102主机访问该target。
backing-store 后备存储,一般指非实际的物理盘、如lv卷、某个分区、文件组成的块设备。
direct_store 直接存储,与backing-store相对,指实际的物理磁盘,如整个硬盘。
initiator-address 使用chap认证协议,由target来认证initiator端,格式为"incominguser username userpassword"。
outgingUsername 使用chap认证协议,由initiator来认证target端,格式为"outgoingusername username userpassword",较少使用。
当服务器端启动tgtd服务后,随时可以通过tgtadm命令来查看ISCSI的详细信息。以下tgtadm的输出内容为精简后的部分输出结果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[iyunv@instructor ~]# tgtadm --lld iscsi --op show --mode target( tgt-admin -s)
Target 1: iqn.2014-08.com.example.instructor:disk2
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 10
            Type: disk
            SCSI ID: IET     0001000a
            SCSI SN: beaf110
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdc3
            Backing store flags:
    Account information:
        tom
    ACL information:
        ALL
Target 2: iqn.2014.08.com.example.instructor:disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 1
            Type: disk
            SCSI ID: IET     00020001
            SCSI SN: beaf21
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb3
            Backing store flags:
        LUN: 2
            Type: disk
            SCSI ID: IET     00020002
            SCSI SN: beaf22
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb5
            Backing store flags:
    Account information:
    ACL information:
        ALL
Target 3: iqn.2014.08.com.example.instructor:disk3
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 20
            Type: disk
            SCSI ID: IET     00030014
            SCSI SN: beaf320
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdd3
            Backing store flags:
    Account information:
        tom
    ACL information:
        192.168.0.102



2. 客户端访问
Linux客户端访问ISCSI服务器需要安装iscsi-initiator-utils软件包。第一部,通过iscsiadm命令的discovery选项可以发现服务器端ISCSI的IQN。第二步,通过login选项加载服务器的IQN。
1
2
3
4
5
6
[iyunv@desktop24 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.0.254
Starting iscsid:                                           [  OK  ]
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
[iyunv@desktop24 ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk1 -p 192.168.0.254 -l



如果想开机自动挂载此硬盘的话需要,注意这里不是default,而是_netdev。
1
[iyunv@desktop24 ~]# echo '/dev/sdc1 /iscsi_ceshi ext4 _netdev 0 0' >> /etc/fstab



查看当前链接状态
1
2
3
4
[iyunv@desktop24 ~]# iscsiadm -m node -S
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk3
192.168.0.254:3260,1 iqn.2014.08.com.example.instructor:disk1
192.168.0.254:3260,1 iqn.2014-08.com.example.instructor:disk2



卸载
1
2
3
4
[iyunv@desktop24 ~]# umount /iscsi_ceshi/
[iyunv@desktop24 ~]# iscsiadm -m node -T  iqn.2014.08.com.example.instructor:disk1 -u
Logging out of session [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260]
Logout of [sid: 2, target: iqn.2014.08.com.example.instructor:disk1, portal: 192.168.0.254,3260] successful.



缓存信息还在系统中,下次启动将自动链接
1
2
3
4
[iyunv@desktop24 ~]# ls /var/lib/iscsi/nodes
iqn.2014.08.com.example.instructor:disk1
iqn.2014-08.com.example.instructor:disk2
iqn.2014.08.com.example.instructor:disk3



删除缓存信息
1
2
[iyunv@desktop24 ~]# iscsiadm -m node -T iqn.2014.08.com.example.instructor:disk
{1,2,3} -o delete



客户端对分区进行加密的配置
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@desktop24 ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = tom
node.session.auth.password = tompass12
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = tom
discovery.sendtargets.auth.password = tompass12   
  
[iyunv@desktop24 ~]# iscsiadm -m discovery -t st -p 192.168.0.254
[iyunv@desktop24 ~]# service iscsi restart
[iyunv@desktop24 ~]# ls /dev/sd*(全部已自动登录)
/dev/sdc   /dev/sdd   /dev/sde  /dev/sdf



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25868-1-1.html 上篇帖子: mogifs分布式文件系统 下篇帖子: 利用ISCSI搭建IP存储网络iSCSI在安全方面相关设定 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表