企业部署数据网络,一般有三中方式
1.das(Direct Attached Storage)
das就是直接把存储设备挂在各个节点上,数据分别存放在各个节点的存储设备上,比如,一个
hub接着5台pc,80G硬盘,这就叫das,其实没什么特别的,我要存文件,可以放在我的机器上,也可以放在其他机器的
共享盘上,就是把分区共享,都会吧,呵呵,这就是das了,没法管理,因为太分散,每个人都可以把共享关掉,你没辙,呵呵。
2.nas(Network Attached Storage)
nas其实就想当一台拥有超大硬盘容量的pc机在以太网络上放着,当成文件服务器,就这样,只不过,它单独做成和pc不一样的外观,磁盘插槽较多,一般做成raid5,一般内嵌windows storage server(有的也是普通2000的server)操作系统,响应以太网的客户请求,每台节点都能看见,当作文件服务器用,可以作为windows,unix,macos,netware等系统的网络文件系统。这就是nas
3.san(Storage Area Network)。
san是与前两者截然不同的所谓的“网络”,其实不是传统意义上的网络,它只是把scsi数据线延长、用fc(光纤通道)协议封装,以便传输更快更远。并且做成交换模式而已,所以叫存储区域网络,而不是主机网络,只能跑数据流,而不像以太网络那种真正的网络,san就是一个“后方网络”,也可以叫第二网络,第一网络是lan,lan直接面对客户端请求,san的诞生是为了跑数据流更快。
存储方式
对象存储基于文件系统,通过文件系统来存储访问数据。
块存储是以块为基本单元的存储方式,其传输不存在数据打包/解包的过程,可提供更高的传输性能
文件存储设备通过以太网与服务器连接。服务器通过NFS、CIFS、HTTP、FTP等协议进行数据访问。数据通过以太网传输,有打包/解包的过程
存储接口
常见的存储接口包括SCSI、iSCSI、SAS、SATA、FC、FCoE等。
可靠性技术
存储的可靠性技术主要有RAID、备份、快照、镜像、群集并发存取等。
相关硬件
常用的存储设备主要有磁盘阵列、存储服务器和FC交换机。
三种存储技术
DAS是指将存储设备通过SCSI线缆或FC(Fiber Channel)直接连接到服务器上
NAS按照TCP/IP协议进行通信,以文件的I/O方式进行数据传输。它拥有自己的文件系统,通过网络文件系统NFS(Network File System)或通用Internet文件系统CIFS(Common Internet File System)对外提供文件访问服务。
SAN是一种通过网络方式连接存储设备和应用服务器的存储架构,这个网络专用于服务器和存储设备之间的访问,SAN代表的是一种专用于存储的网络架构,与协议和设备类型无关。有FC SAN和IP SAN两种方案。
3 iSCSI
iSCSI是网络存储标准,其核心是在TCP/IP网络上传输SCSI协议,用TCP/IP报文、和ISCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输。
iSCSI的工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI initiator层被封装成ISCSI消息包并通过TCP/IP传送到设备侧。设备侧的iSCSI target层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行。设备执行SCSI命令后的响应,在经过设备侧iSCSI target层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSI initiator层。iSCSI initiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序
iSCSI SAN 上单个可发现的实体(如启动器或目标)表示一个 iSCSI 节点。每个节点都有一个或多个将其连接到
SAN 的端口。iSCSI 端口是 iSCSI 会话的端点。每个端口可通过多种方式进行标识(IP地址/ISCSI名称)。
3.1 iet
iet(iSCSI Enterprise Target)是Linux下的iSCSI Target实现,open-iscsi是Linux下的iscsi initiator实现。使用iet和open-iscsi就可以方便的实现简单的IPSAN,同时iet也可以和其他系统的iscsi initiator配合使用。
target名称:采用”iqn.yyyy-mm.<reversed domain name>[:identifier]”的格式。可以将块设备,文件,LVM卷,RAID卷作为块设备映射给iSCSI initiator使用,在/etc/iet/ietd.conf文件中增加如下内容实现块设备映射:
Lun <lunID> Path=<device>,Type=fileio|blockio[,IOMode=(wb|ro)],其中:
lunID:从0开始,最大2^14-1
Path=<device>�指定块设备。可以使用dd命令生成一个文件
Type=fileio|blockio�指定块设备类型,分区及dd命令生成的文件使用fileio类型;LVM卷、RAID卷使用blockio类型
IOMode=(wb|ro)�指定iSCSI initiator允许的操作,wb表示可读写,ro表示只读
添加一个新的Target。其中[id]为数字必须是唯一的,后面的Name需要自定义,也需要保证是唯一的。
ietadm –op new –tid=[id] –params Name=iqn.zqin.example
添加一个新的lun。其中[id]必须是一个已经存在的tid号,[lun]从0开始
ietadm –op new –tid=[id] –lun=[lun] –params Path=/path/exported/file,Type=fileio
停止某个Target的某个Connection的连接
ietadm –op delete –tid=2 –sid=562950876233792 –cid=1 && ietadm –op delete –tid=2
3.2 iscsiadm
iscsiadm -m <op> 其中op=<discovery|node|session>
iscsiadm -m discovery
显示数据库中discovery记录
iscsiadm -m node
显示数据库中的所有的节点,输出:
192.168.122.102:3260,11 iqn.2006-08.com.huawei:oceanstor:210000e0fc123456:notconfig:192.168.122.102 192.168.123.100:3260,1 iqn.2006-08.com.huawei:oceanstor:210000e0fc123456:notconfig:192.168.123.100
iscsiadm -m session
显示所有的会话和连接,输出:
tcp: [1] 192.168.123.100:3260,1 iqn.2006-08.com.huawei:oceanstor:210000e0fc123456:notconfig:192.168.123.100
tcp: [2] 192.168.122.102:3260,11 iqn.2006-08.com.huawei:oceanstor:210000e0fc123456:notconfig:192.168.122.102
-m discovery –type=[type] –portal=[ip:port]
发起discovery,type指定类型,包括sendtargets, slp, isns,portal指定目标器的IP和端口,如:
iscsiadm -m discovery -t st -p 192.168.159.74
-m discovery –portal=[ip:port] –op=[op] [–name=[name] –value=[value]]
操作数据库的discovery表中对应portal的记录(一般不用对discovery表进行操作),可执行的操作op包括[new], [delete], [update] 或[show],name表示纪录项的名字,value表示纪录项的值。
-m node –targetname=[name] –portal=[ip:port] [–login|–logout|–rescan|–stats
对以targetname或portal指定的节点进行操作
-m node –targetname=[name] –portal=[ip:port] –op=[op] [–name=[name] –value=[value]]
操作数据库的nodes表中对应targetname或portal的节点。可执行的操作包括[new], [delete], [update]或[show];示例:
iscsiadm -m node -p 192.168.122.102 –op update -n node.conn[0].startup -v automatic
-m session –sid=[sid] [ –print=level | –rescan | –logout ] –op=[op] [–name=[name] –value=[value]]
操作由sid指定的会话,包括重扫描,logout和数据库记录操作等,如:
#iscsiadm -m session –sid 1 –rescan
表示对会话1进行重扫描。
#iscsiadm -m session –sid 1 或 #iscsiadm -m session –sid 1 print=1
表示显示会话1相关信息,print可设为0~2。
一般步骤:
1. 使用脚本或手动启动iscsi服务
2. 发起discovery
# iscsiadm -m discovery -t sendtargets -p 192.168.122.102:3260,输出:
192.168.122.102:3260,1 iqn.2001-04.com.example:storage.disk2.sys1.xyz
成功的话使用iscsiadm -m node可以看到对应的节点(被发现的目标也叫节点)
# iscsiadm -m node -T <target-name> -p <ip-address>:<port> –login
登入目标器,target-name为上一步发现target时的获得的,此时通过fdisk -l就可以看到映射过来的磁盘(或者在/dev/disk/by-path/路径下有对应lun的文件),该磁盘可以像使用本地磁盘一样进行格式化,分区等操作。如:
fdisk /dev/sdc
mkfs.ext3 /dev/sdc1
mount /dev/sdc1 /mnt/iscsi
如果要在系统启动时自动挂接,在/etc/fstab加入一行:
/dev/sdc /mnt/iscsi ext3 default 0 0
如果以后目标器IP改变了,可以先删除老节点,如:
# iscsiadm -m node -p 192.168.122.102 -o delete
再重新发起discovery生成新节点,如:
# iscsiadm -m discovery -t sendtargets -p 192.168.123.100
如果要登出节点,先解除挂载:#umount /mnt/iscsi,然后登出
# iscsiadm -m node -T iqn.2001-04.com.example:storage.disk2.sys1.xyz -p 192.168.123.100:3260 -u
3. 设置自动登陆目标器
对于已经存在于数据库中的节点,使用iscsiadm更新纪录项:
# iscsiadm -m node -p 192.168.122.102 –op update -n node.conn[0].startup -v automatic
对于还没有添加的节点,编辑配置文件/etc/iscsi/iscsid.conf,在其中增加一项:
node.conn[0].startup = automatic
这样以后通过discovery新添加的节点node.conn[0].startup都会被设置为automatic
设置自动登陆目标器后,每次使用init脚本启动iscsi服务时都会自动登入目标器(即生成LUN)
与多路径的相关设置
iSCSI 启动器通过周期向目标器下发ping(iSCSI NOP-Out requests)来检测连接状态,使用多路径软件时,可通过减小NOP-Out的发送间隔和超时时间来更快的感知路径故障,具体设置文件/etc/iscsi/iscsid.conf中的以下两项:
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
3.3 ISCSI存储系统架构
iSCSI存储设备从架构上可以分为4中类型:
1. 控制器架构
核心处理器全部采用硬件;设备内部是无线缆的背板结构,所有部件与背板之间通过标准或非标准的插槽链接在一起;操作系统是嵌入式设计;
2. iSCSI连接桥架构(市场已不多见)
分为两个部分,一个部分是前端协议转换设备,另一部分是后端存储。前端协议转换部分一般为硬件设备,主机接口为千兆以太网接口,磁盘接口一般为SCSI接口或FC接口,可连接SCSI磁盘阵列和FC存储设备,通过千兆以太网主机接口对外提供ISCSI数据传输协议;后端存储一般采用SCSI磁盘阵列和FC存储设备,将SCSI磁盘阵列和FC存储设备的主机接口直接连接到iSCSI桥的磁盘接口上。
设备本身只有协议转换功能,没有RAID校验和快照、卷复制等功能。创建RAID组、创建LUN等操作必须在存储设备上完成,存储设备有什么功能,整个iSCSI设备就具有什么样的功能。
3. PC架构
即高性能PC+iSCSI target软件,通过PC服务器的以太网卡对外提供iSCSI数据传输协议。所有的RAID组校验、逻辑卷管理、iSCSI运算、TCP/IP运算等都是以纯软件方式实现,因此对PC的CPU和内存的性能要求较高。另外iSCSI存储设备的性能极容易受PC服务器运行状态的影响。
4. PC+NIC架构
相对于PC+iSCSI Target高效。
3.4 ISCSI存储连接方式
1.以太网卡+initiator软件方式
服务器、主机、iSCSI存储通过以太网线连接到以太网交换机上,或直接连接到主机的以太网卡上。在主机上安装Initiator软件,将以太网卡虚拟为iSCSI卡,接受和发送iSCSI数据报文,从而实现主机和iSCSI设备之间的iSCSI协议和TCP/IP协议传输功能。
该方式硬件成本最低,但进行ISCSI包文和TCP/IP包文转换需要占用主机端的一部分资源。不过在低I/O和低带宽性能要求的应用环境中应该可以满足数据访问要求。
2.硬件TOE网卡+initiator软件方式
具有TOE(TCP Offload Engine)功能的智能以太网卡可以将网络数据流量的处理工作全部转到网卡上的集成硬件中进行,把系统主处理器CPU从忙于协议处理的繁重的内核中断服务中解脱出来,主机只承担TCP/IP控制信息的处理任务.
与第一种方式相比,采用TOE卡可以大幅度提高数据的传输速率。TCP/IP协议栈功能由TOE卡完成,而iSCSI层的功能仍旧由主机来完成。
由于TOE卡也采用TCP/IP协议,相当于一块高性能的以太网卡,所以第二种方式也可以看做是第一种连接方式的特殊情况
3. iSCSI HBA卡(硬件Initiator)方式
在主机上安装专业的iSCSI HBA适配卡,从而实现主机与交换机之间、主机与存储之间的高效数据交换。该方式数据传输性能最好,价格也最高
3.5 ISCSI存储使用模式
1、DAS使用方式
ISCSI存储设备的卷由服务器或NAS网关来管理和使用,其它的工作站通过服务器和NAS网关来访问iSCSI存储上数据。整个系统安装调试简单方便,服务器和NAS网关很容易实现数据的网络化共享访问。但服务器和NAS网关直接影响整体存储网络系统的性能,低配置的服务器和NAS网关及有可能成为整个系统的性能瓶颈。
2、SAN使用方式
iSCSI存储上的LUN对于主机来讲相当于裸设备
A、存储设备层共享
ISCSI设备上创建多个LUN,不同的LUN指定给不同的主机。各主机分别管理和访问自己的LUN。相当于将多个主机的本地磁盘集中放置在一个网络化的设备中,各主机之间仅实现硬件设备层的共享。如下图:
B、集群共享
系统中有多个数据库系统和WEB集群系统,每两台服务器之间需要管理和使用相同的LUN,主机之间通过MSCS或RAC等软件实现集群共享功能。每一个卷仅在两台主机之间共享,两台主机通过集群软件共同对同一个文件系统进行管理。如下图:
C、网络存储共享
在许多大型的高性能计算系统、广电非线性编辑制作系统、IPTV发布系统中,应用需要多台主机能同时访问同一个文件系统(同一个卷)中的数据,可能会是同一个数据。如下图:
为了保证同一个文件系统可以同时被多台主机访问,且不会因为并发访问而引起文件系统管理冲突,常规的做法是在所有需要文件系统共享的主机上安装SAN网络存储共享管理软件,并设置一台或多台主机为管理软件的服务器端。该服务器负责管理主机之间的元数据交换,因此被成为MDC,即Metadata Controller。
最新评论