搭建iscsi存储系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建iscsi存储系统相关的知识,希望对你有一定的参考价值。
搭建iscsi存储系统
NAS和SAN服务器概述
NAS网络附属存储:
NAS(Network Attached Storage),NAS服务器是连接在网络上,具备资料存储功能的服务器,一种与用数据存储服务器。网络附属存储基于标准网络协议(Tcp/IP)实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据备仹。
优点:
1. I/O消耗由前端服务器转移到后端存储设备上
2. 扩展方便
缺点:
1. 以前网络会成为瓶颈。 但是现在使用10G光纤卡,就可以解决这个问题。
SAN存储:
存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络,是一种高速网络,提供在计算机不同存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。 SAN存储,采用网状通道(Fibre Channel ,简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立与用于数据存储的区域网络。
SAN由于其基础是一个与用网络,因此扩展性很强,不管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。
NAS不SAN的区别在两方面:
第一,从网络架构来说,本质区别在于:
NAS,直接使用TCP/IP传输数据。SAN使用SCSI戒iSCSI协议传输数据。
第二,从文件读写实现方法上来说,本质区别在于:
NAS采用了NFS和 CIFS技术实现文件共享。说明NAS是基于操作系统的“文件级”读写操作。
SAN中计算机和存储间的接口是底层的块协议,它挄照协议头的“块地址+偏移地址”来定位。共享的存储和前端的操作系统类型没有关系。仸务服务器操作系统,都可以正常实别。
运行模式: C/S
target 目标, initiator [n.ietr] 发起人
端口: 3260
------------------------------------------------------------------
一:实验拓扑
二:实验目标
实战:配置IP SAN服务器
实战:IP SAN服务器日常操作
三:实验环境
服务端:target xuegod63 192.168.1.63
客户端:initiator xuegod64 192.168.1.64
四:实验代码
实战: 配置一个IP SAN 存储服务器
分析:将xuegod63配置成ip san,将xuegod63上的sda4分区,通过ip san 共享出去。
------------------------------------------------------------------------------------------------
配置服务端xuegod63
1)安装:scsi-target-utils
[[email protected] ~]# yum install -y scsi-target-utils
2)准备一个磁盘分区: sda4 大小5G
[[email protected] ~]# fdisk /dev/sda #划分出sda4分区
Command (m for help): p
Command (m for help): n
p
Selected partition 4
Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +5G
Command (m for help): w
[[email protected] ~]#reboot
9配置target ,把sda4分区共享出去
3)修改配置文件
[[email protected] ~]# vim /etc/tgt/targets.conf #写入以下内容
在参考这段内容并在段内容后,追加以下红色标记内容:
#<target iqn.2008-09.com.example:server.target4>
76 # direct-store /dev/sdb # Becomes LUN 1
77 # direct-store /dev/sdc # Becomes LUN 2
78 # direct-store /dev/sdd # Becomes LUN 3
79 # write-cache off
80 # vendor_id MyCompany Inc.
81 #</target>
为:
<target iqn.2016-11.cn.xuegod.www:target_san1>
backing-store /dev/sda4
initiator-address 192.168.1.64
vendor_id xuegod
product_id target1
</target>
注释:
default-driver iscsi #此配置文件默认全部注释,使用iscsi驱动
<tarrget iqn.2015-1.cn.xuegod.www:target_san1> # iscsi正规名字格式 : iqn.年-月.主机名倒着写: target端名字
backing-store /dev/sda4 # 可以是具体的分区,也可以是DD出来的文件。不能小于5G。 (后面的文件系统是GFS,光日志空间就128M)
initiator-address 192.168.1.62 #指定允许访问的此存储主机
initiator-address 192.168.1.64 #指定允许访问的此存储主机
vendor_id “xuegod” vendor (vendr供应商 ) 。 供应厂商编号 标识这个设备(字符不要过长)
product_id "TARGET1" # 产品编号
</target>
4)启动服务
[[email protected] ~]#service tgtd restart
[[email protected] ~]# netstat -antup | grep 3260
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 3130/tgtd
tcp 0 0 :::3260 :::* LISTEN 3130/tgtd
5)查看状态tgt-admin --show
[[email protected] ~]# tgt-admin --show
Account information:
ACL information: #允许哪些客户端可以访问
192.168.1.64
开机启动:
[[email protected] Desktop]# chkconfig tgtd on
------------------------------------------------------------------------------------------------
配置客户端: xuegod64
1)安装包: iscsi-initiator
[[email protected] ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm
2)启动客户端服务:
[[email protected] ~]# /etc/init.d/iscisd start #启动后没有反应
注:需要先发现target存储,再启动客户端服务,才有效
[[email protected] ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260
Starting iscsid: [ OK ]
192.168.1.63:3260,1 iqn.20116-11.cn.xuegod.www:target_san1
[[email protected] ~]# /etc/init.d/iscsid status
iscsid (pid 2607) is running...
3)target存储服务器信息在客户端存储的位置:
[[email protected] ~]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm
[[email protected] ~]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│ └── iqn.2015-01.cn.xuegod.www:target_san1
│ └── 192.168.1.63,3260,1
│ └── default
├── send_targets
│ └── 192.168.1.63,3260
│ ├── iqn.2015-01.cn.xuegod.www:target_san1,192.168.1.63,3260,1,default -> /var/lib/iscsi/nodes/iqn.2015-01.cn.xuegod.www:target_san1/192.168.1.63,3260,1
│ └── st_config
├── slp
└── static
4)重新启动:
[[email protected] ~]# /etc/init.d/iscsid restart #先启动iscsid
[[email protected] ~]# /etc/init.d/iscsi restart # 根据/var/lib/iscsi/ 中发现的信息,识别设备
关闭:
[[email protected] ~]# /etc/init.d/iscsi stop
[[email protected] ~]# /etc/init.d/iscsid stop
5)开机自动启动:
[[email protected] ~]# chkconfig iscsi on
[[email protected] ~]# chkconfig iscsid on
查看默认开机两个服务的先后顺序:
[[email protected] ~]# grep chkconfig: /etc/init.d/iscsid
# chkconfig: 345 7 89
[[email protected] ~]# grep chkconfig: /etc/init.d/iscsi
# chkconfig: 345 13 89
6)查看发现到新硬盘:
[[email protected] ~]# ll /dev/sdb
brw-rw---- 1 root disk 8, 16 Jul 30 19:11 /dev/sdb
------------------------------------------------------------------------------------------------
卸载,挂载存储设备
卸载方法一
1:卸载
[[email protected] ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -u
Logging out of session [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260]
Logout of [sid: 1, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.
[[email protected] ~]# ls /dev/sdb
ls: cannot access /dev/sdb: No such file or directory :
2:登录存储存储设备
[[email protected] ~]# iscsiadm -m node -T iqn.2015-01.cn.xuegod.www:target_san1 -l
Logging in to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] (multiple)
Login to [iface: default, target: iqn.2015-01.cn.xuegod.www:target_san1, portal: 192.168.1.63,3260] successful.
[[email protected] ~]# ls /dev/sdb
/dev/sdb
卸载方法二:
1:卸载
[[email protected] ~]# /etc/init.d/iscsi stop
Stopping iscsi: [ OK ]
[[email protected] ~]# ls /dev/sdb
ls: cannot access /dev/sdb: No such file or directory
2:登录存储存储设备
[[email protected] ~]# /etc/init.d/iscsi restart
彻底退出:
[[email protected] ~]# /etc/init.d/iscsi stop
[[email protected] ~]# rm -rf /var/lib/iscsi/*
------------------------------------------------------------------------------------------------
在xuegod64上对识别出来的硬盘,分区格式化,挂载使用
1:发现存储设备
[[email protected] ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260 #发现存储设备
2:启动服务器
[[email protected] ~]# /etc/init.d/iscsid restart
[[email protected] ~]# /etc/init.d/iscsi restart
[[email protected] ~]# ls /dev/sdb #发现sdb
/dev/sdb
分区格式化,挂载使用。
[[email protected] ~]# fdisk /dev/sdb 划分一个分区sdb1
[[email protected] ~]# fdisk /dev/sdb
Command (m for help): n
p primary partition (1-4)
p
Partition number (1-4): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1019, default 1019): #直接回车使用所有可以使用的空间。
[[email protected] ~]# ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jul 30 21:44 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jul 30 21:44 /dev/sdb1
[[email protected] ~]# mkfs.ext4 /dev/sdb1
[[email protected] ~]# mount /dev/sdb1 /opt
-------------------------------------------------------------------------------------------
在target服务端,再添加一个存储客户端
1:添加如下内容:
[[email protected] ~]# vim /etc/tgt/targets.conf
2:重启服务
[[email protected] ~]# /etc/init.d/tgtd restart
Stopping SCSI target daemon: initiators still connected [FAILED]
Starting SCSI target daemon: [FAILED] #报错
解决:客户端退出一下
[[email protected] ~]# umount /opt/
[[email protected] ~]# /etc/init.d/iscsi stop
客户端退出后,再测试启动:
[[email protected] ~]# /etc/init.d/tgtd restart
Stopping SCSI target daemon: [ OK ]
Starting SCSI target daemon: [ OK ]
3:测试: xuegod64 和xuegod62 都挂载上硬盘,数据同步
[[email protected] ~]#/etc/init.d/iscsi start
[[email protected] ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
[[email protected] ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
[[email protected] ~]# mount /dev/sdb1 /opt/
[[email protected] ~]# cp /etc/passwd /opt/ #复制一些数据
4:测试:xuegod62 是否数据同步
[[email protected] ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.872-34.el6.x86_64.rpm
[[email protected] ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.63:3260
192.168.1.63:3260,1 iqn.2015-01.cn.xuegod.www:target_san1
[[email protected] ~]# /etc/init.d/iscsi restart
[[email protected] ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
[[email protected] ~]# mount /dev/sdb1 /opt/
[[email protected] ~]#ls /opt/ #可以看到数据已经同步过来了
lost+found passwd
5:测试xuegod64数据是否同步:
[[email protected] ~]# cp /etc/hosts /opt
[[email protected] ~]# ls /opt
hosts lost+found passwd
[[email protected] ~]# ls /opt
lost+found passwd
# passwd #只看到passwd ,没有同步,是因为我们使用的ext4 文件系统,ext4文件系统不支持多个客户端同时使用。 使用GFS文件系统就可以同步。
本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1928089
以上是关于搭建iscsi存储系统的主要内容,如果未能解决你的问题,请参考以下文章
Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下