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

[经验分享] CentOS6.5 iscsi配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-5 15:30:09 | 显示全部楼层 |阅读模式
iSCSI分为提供存储设备的服务端和使用存储的客户端
  • iSCSI target:存储设备服务端,存放磁盘或RAID的设备。目的在于提供给其他主机使用
  • iSCSI initiator:使用target存储服务的客户端

SAN和NAS
  • SAN(存储局域网):来自局域网内的其他存储设备提供的磁盘,可以进行格式化操作(如iSCSI)
  • NAS(网络文件系统):来自NAS提供的文件系统,只能立即使用,不能进行格式化(如NFS)



一、存储服务端上安装配置iSCSI target
1、在存储服务器上安装scsi-target-utils软件(rhel7为targetcli)

1
[iyunv@node1 ~]# yum install scsi-target-utils



2、启动iscsi服务
1
2
3
4
5
6
[iyunv@node1 ~]# /etc/init.d/tgtd start
[iyunv@node1 ~]# chkconfig tgtd on
# 监听端口为3260
[iyunv@node1 ~]# netstat -tuanlp | grep tgtd
tcp        0      0 0.0.0.0:3260                0.0.0.0:*                   LISTEN      1248/tgtd           
tcp        0      0 :::3260                     :::*                        LISTEN      1248/tgtd



3、scsi-target-utils的相关配置文件
1
2
3
4
5
6
# /etc/tgt/targets.conf 主配置文件,设置要共享的磁盘格式与块设备等
# /usr/sbin/tgt-admin   查询、删除target等功能的设置工具
# /usr/sbin/tgt-setup-lun  建立target以及设置共享的磁盘与可使用的客户端等的程序
# /usr/sbin/tgtadm   iscsi target管理程序(可使用配置文件取代)
# /usr/sbin/tgtd    提供iSCSI target服务的主程序
# /usr/sbin/tgtimg  搭建共享镜像文件设备程序



4、建立分区配置iSCSI存储设备
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
91
92
93
94
95
96
97
98
99
100
==================================================================
# 创建一个容量为1G的普通分区

[iyunv@node1 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1  
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G
Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x85d4a809

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


[iyunv@node1 ~]# ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Sep  1 00:23 /dev/sdb
brw-rw---- 1 root disk 8, 17 Sep  1 00:23 /dev/sdb1

==================================================================
# 创建一个容量为1G LVM分区
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (133-652, default 133):
Using default value 133
Last cylinder, +cylinders or +size{K,M,G} (133-652, default 652): +1G

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x85d4a809

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  83  Linux
/dev/sdb2             133         264     1060290   8e  Linux LVM

[iyunv@node1 ~]# ll /dev/sdb
sdb   sdb1  sdb2  
[iyunv@node1 ~]# ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Sep  1 00:27 /dev/sdb
brw-rw---- 1 root disk 8, 17 Sep  1 00:27 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Sep  1 00:27 /dev/sdb2

[iyunv@node1 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created
[iyunv@node1 ~]# vgcreate -s 8M VolGroup00 /dev/sdb2
  Volume group "VolGroup00" successfully created
[iyunv@node1 ~]# lvcreate -L 800M -n iscsi00 VolGroup00
  Logical volume "iscsi00" created

[iyunv@node1 ~]# lvscan
  ACTIVE            '/dev/VolGroup00/iscsi00' [800.00 MiB] inherit
  ACTIVE            '/dev/VolGroup/lv_root' [8.57 GiB] inherit
  ACTIVE            '/dev/VolGroup/lv_swap' [960.00 MiB] inherit
[iyunv@node1 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/VolGroup00/iscsi00
  LV Name                iscsi00
  VG Name                VolGroup00
  LV UUID                2G9zLo-kWmj-ydMH-luer-wM0i-4bdl-UJwJov
  LV Write Access        read/write
  LV Creation host, time node1, 2016-09-01 00:31:14 +0800
  LV Status              available
  # open                 0
  LV Size                800.00 MiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2




5、共享iSCSI target文件名
1
2
iqn.YYYY-mm.<域名的反转写法>:共享名
如:iqn.2015-06.org.haungming:viscsidisk




6、配置/etc/tgt/targets.conf,设置共享存储设备的路径相关属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Sample target with one LUN only. Defaults to allow access for all initiators:

#<target iqn.2008-09.com.example:server.target1>
#    backing-store /dev/LVM/somedevice
#</target>

<target iqn.2016-09.org.huangming:viscsidisk>
    backing-store /dev/sdb1
    backing-store /dev/VolGroup00/iscsi00
    initiator-address 10.0.0.12
    initiator-address 10.0.0.0/24
    incominguser viscsiuser viscsipasswd
    write-cache off
</target>

# backing-store:虚拟的设备
# initiator-address:允许使用的客户端
# incominguser:配置通过用户和密码访问
# write-cache:不使用缓存,直接访问存储设备




7、重启tgtd服务
1
2
3
[iyunv@node1 ~]# /etc/init.d/tgtd restart
Stopping SCSI target daemon:                               [  OK  ]
Starting SCSI target daemon:                               [  OK  ]




8、查看iscsi target共享存储的相关信息,使用tgt-admin --show命令

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
[iyunv@node1 ~]# tgt-admin --show
Target 1: iqn.2016-09.org.huangming:viscsidisk
    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: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 839 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/VolGroup00/iscsi00
            Backing store flags:
        LUN: 2
            Type: disk
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 1086 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb1
            Backing store flags:
    Account information:
        viscsiuser
    ACL information:
        10.0.0.12/24



9、防火墙设置
1
[iyunv@node1 ~]# iptables -A INPUT -p tcp -s 10.0.0.12/24 --dport 3260 -j ACCEPT




二、客户端iSCSI initiator的配置

1、安装iscsi-initiator-utils
1
[iyunv@node1 ~]# yum install iscsi-initiator-utils



2、iscsi-initiator-utils的主要配置文件
1
2
3
4
5
# /etc/iscsi/iscsi.conf  主要配置文件,用来连接到iscsi target的设置
# /sbin/iscsid   启动iSCSI initiator的主要服务程序
# /sbin/iscsiadm  用来管理iSCSI initiator的主要设置程序
# /etc/init.d/iscsid  让本机模拟成为iSCSI initiator的主要服务
# /etc/init.d/iscsi   iscsi启动脚本




3、配置iscsi initiator,修改/etc/iscsi/iscsid.conf文件
1
2
3
4
5
6
# 去掉注释,并设置iscsi target提供的验证用户和密码
node.session.auth.username = viscsiuser
node.session.auth.password = viscsipasswd

discovery.sendtargets.auth.username = viscsiuser
discovery.sendtargets.auth.password = viscsipasswd




4、检测iscsi target服务端提供的共享存储设备信息

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
[iyunv@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.0.0.11:3260
10.0.0.11:3260,1 iqn.2016-09.org.huangming:viscsidisk

# 查看检查结果
[iyunv@node2 ~]# ll -R /var/lib/iscsi/nodes/
/var/lib/iscsi/nodes/:
total 4
drw-------. 3 root root 4096 Sep  3 17:46 iqn.2016-09.org.huangming:viscsidisk

/var/lib/iscsi/nodes/iqn.2016-09.org.huangming:viscsidisk:
total 4
drw-------. 2 root root 4096 Sep  3 17:46 10.0.0.11,3260,1

/var/lib/iscsi/nodes/iqn.2016-09.org.huangming:viscsidisk/10.0.0.11,3260,1:
total 4
-rw-------. 1 root root 2126 Sep  3 17:46 default


# 启动iscsi服务
[iyunv@node2 ~]# /etc/init.d/iscsi restart
Stopping iscsi:                                            [  OK  ]
Starting iscsi:                                            [  OK  ]

# 设置iscsi和iscsid开机启动
[iyunv@node2 ~]# chkconfig iscsi on
[iyunv@node2 ~]# chkconfig iscsid on




5、登陆iscsi target

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
# 显示target数据
[iyunv@node2 ~]# iscsiadm -m node
10.0.0.11:3260,1 iqn.2016-09.org.huangming:viscsidisk
# 登陆target
[iyunv@node2 ~]# iscsiadm -m node -T iqn.2016-09.org.huangming:viscsidisk --login

# 查看获得的iscsi磁盘信息
[iyunv@node2 ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ba502

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1306     9972736   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 9202 MB, 9202302976 bytes
255 heads, 63 sectors/track, 1118 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 1006 MB, 1006632960 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdb: 838 MB, 838860800 bytes
26 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 1612 * 512 = 825344 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdc: 1085 MB, 1085704704 bytes
34 heads, 61 sectors/track, 1022 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000




6、建立分区
1
2
3
4
5
6
7
8
9
10
[iyunv@node2 ~]# fdisk /dev/sdc
[iyunv@node2 ~]# mkfs.ext4 /dev/sdc1
[iyunv@node2 ~]# mkdir /viscsidisk
[iyunv@node2 ~]# mount /dev/sdc1 /viscsidisk/
[iyunv@node2 ~]# df -Th
Filesystem                   Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4   8.4G  972M  7.0G  13% /
tmpfs                        tmpfs  491M     0  491M   0% /dev/shm
/dev/sda1                    ext4   477M   51M  401M  12% /boot
/dev/sdc1                    ext4   987M  1.3M  934M   1% /viscsidisk




7、更新、删除、添加target数据的方法
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
# --logout  注销target,但是并没有删除/var/lib/iscsi/nodes内的数据
# -o delete  删除后面接的那台target连接信息/var/lib/iscsi/nodes/*
# -o update  更新相关信息
# -o new   增加一个新的target信息

[iyunv@node2 ~]# iscsiadm -m node
10.0.0.11:3260,1 iqn.2016-09.org.huangming:viscsidisk
[iyunv@node2 ~]# iscsiadm -m node -T iqn.2016-09.org.huangming:viscsidisk --logout
Logging out of session [sid: 4, target: iqn.2016-09.org.huangming:viscsidisk, portal: 10.0.0.11,3260]
Logout of [sid: 4, target: iqn.2016-09.org.huangming:viscsidisk, portal: 10.0.0.11,3260] successful.

[iyunv@node2 ~]# ls /viscsidisk/
ls: reading directory /viscsidisk/: Input/output error

# delete删除连接
[iyunv@node2 ~]# iscsiadm -m node -o delete -T iqn.2016-09.org.huangming:viscsidisk
[iyunv@node2 ~]# iscsiadm -m node
iscsiadm: No records found

[iyunv@node2 ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ba502

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1306     9972736   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 9202 MB, 9202302976 bytes
255 heads, 63 sectors/track, 1118 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 1006 MB, 1006632960 bytes
255 heads, 63 sectors/track, 122 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000




8、重新检测并添加target数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.0.0.11
10.0.0.11:3260,1 iqn.2016-09.org.huangming:viscsidisk
[iyunv@node2 ~]# iscsiadm -m node
10.0.0.11:3260,1 iqn.2016-09.org.huangming:viscsidisk

[iyunv@node2 ~]# ll /var/lib/iscsi/nodes/
total 4
drw-------. 3 root root 4096 Sep  3 18:24 iqn.2016-09.org.huangming:viscsidisk

# 重新连接
[iyunv@node2 ~]# iscsiadm -m node -T iqn.2016-09.org.huangming:viscsidisk --login
Logging in to [iface: default, target: iqn.2016-09.org.huangming:viscsidisk, portal: 10.0.0.11,3260] (multiple)
Login to [iface: default, target: iqn.2016-09.org.huangming:viscsidisk, portal: 10.0.0.11,3260] successful.
# 删除target连接之后,再重新连接,磁盘中的数据不会丢失










运维网声明 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-268019-1-1.html 上篇帖子: Error: ' ' is not a valid resource name character 下篇帖子: centos7 selinux
累计签到:32 天
连续签到:1 天
发表于 2016-12-16 10:47:04 | 显示全部楼层
客户端第4步的时候报错: 楼主 能否帮忙看下是啥原因
[iyunv@node4 iscsi]# iscsiadm -m discovery -t sendtargets -p 192.168.14.131:3260
iscsiadm: No portals found

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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