基于linux的iSCSI设计与实现(二)

传统网络中,服务器存储数据有诸多限制,导致成本上升。为此提出网络存储概念,将存储从服务器移到网络。目前主要有NAS和SAN两种工业方案,NAS是网络附着存储,有安装简易等特征;SAN是存储区域网络,数据传输速度高、硬件性能好,还出现了iSCSI新技术。

第二章 网络存储的基本概念

在传统的网络中,服务器和客户机通过网络相连,数据存放在服务器自身所带的存储设备上,当客户请求时,数据会通过网络传送到客户机。这对服务器提出了相当高的要求,由于服务器只能附带在本地的存储设备,并且接口数是有限的,它所能带的存储设备的数量是有限的,从而决定了所能存储的数据量是有限的。同时,服务器必须处理数据搜索、管理、包含等一系列的工作,要求服务器有很强的数据处理能力。这些不可避免的导致了服务器的成本上升。

2.1从服务器到网络

上面我们讨论了简单的客户机/服务器模式受到的种种限制。这里,我们提出网络存储的概念。最简单的讲,我们就是要把存储从服务器移到网络本身上来。目前主要有两种工业方案支持跨网络的存储:NASSAN,下面我们将给出几种网络存储方案的详细描述。

2.2 NAS

LAN

NAS

NAS

host

host

disk

disk

NASNetwork Attached Storage),即网络附

着存储,NAS直接附着于TCP/IP网络(LAN

WAN),通过CIFS或者NFS来访问。这2个协

议都是为文件访问和文件共享专用的。NAS设备

又被称为一个文件服务器。它通过网络接收NFS

或者CIFS请求,它内部的处理器将这些请求转变

SCSII/O命令来访问只有NAS自己可见的存

储设备。NAS的特征有:安装的简易性、高可用性、

可扩展性、可联通性、数据可共享、管理简易性、

可整体备份、低费用。右图为NAS的示意图. 

2.3 SAN

Host

Host

 

Server

Server

 

LAN

 

SAN

存储介质

 

存储介质

SANStorage Area Network),即存储区域

网络。它把存储设备从网络中分离出来,形成一

个单独的网路来连接所有的存储设备,有更高的

数据传输速度和更好的硬件性能。存储设备处

于特定网络中,SAN I/O请求直接访问设备,大多

SAN使用光纤通道介质,在光纤通道中封装了

SCSI协议,实现了“任一”主机和“任一”存储

设备之间的连接。SAN在较低层次实现了应用程

序(主机)和存储设备之间的通信,主机将远程

存储介质看作是一个可以通过长距离传输I/O

道来访问的设备,它以块为单元来访问,由

SAN进行管理。上图中,SAN示意图中Server可以为各种异种服务器,可以使用不同的操作系统、数据编码方式、文件系统结构、格式、协议等,下图给出了这些差别:

平台方案

OS/390

UNIX

Win/NT

数据编码

EBCDIC IEEE Floating Point Right Justified

ASCII

Dbi. Precision F.F.

Right Justified

ASCII

Dbi. Precision F.F.

Left Justified

文件系统结构及命名

VSAM

VTOCs-catalogs

AAA.BBB.CCC

JFS

Directories

DIR/Xxx/Yyy

FAT

Directories

DIR/Xxx/Yyy

格式

ECKD

Clusters/Sectors

Clusters/Sectors

协议

ESCON/OEMI

SCSI

SCSI

主机总线适配器(HBA)将服务器与SAN中的设备连接起来,服务器与SAN的连接可以使用Ethernet LAN,也可以使用光纤通道(FCSAN。光纤通道虽然可以提供高性能,但是它费用高、技术要求高,缺乏相应的技术和管理人员。一种新的技术很快出现并且得到了很快的发展,这就是iSCSI

iSCSI协议的SAN存储网络是一个基于TCP/IP的存储区域网络系统,其设计实现包含多个方面。 ### 架构设计 SAN存储是一个CS架构的系统,存储系统本身是服务端。以IP - SAN(基于iSCSI的SAN存储)为例,整体架构围绕此展开,实现存储设备、主机和客户机等之间的相互连接,让SCSI协议能应用于高速数据传输网络,在多个数据存储网络间以数据块级别进行传输[^1][^3]。 ### 特性优势 - **网络依赖性**:iSCSI使用TCP/IP网络协议,依赖网络连接,可在任何支持TCP/IP的网络环境中运行,为其在不同网络环境下的设计实现提供了基础[^2]。 - **易用性**:基于标准协议,不同厂商的存储设备和计算机之间能容易地进行互操作,降低了系统集成的难度,在设计中能更好地兼容不同设备[^2]。 - **扩展性**:支持大规模的存储解决方案,可扩展到数百甚至数千个磁盘驱动器,满足不断增长的存储需求,在设计存储网络时可考虑其未来的扩展能力[^2]。 - **成本效益**:传统的SAN解决方案相比,iSCSI通常成本较低,因为可使用标准的网络设备和协议,在实现过程中能降低成本投入[^2]。 - **灵活性**:允许存储资源的动态分配和管理,提供了很高的灵活性,方便在实际使用中根据需求调整存储资源的分配[^2]。 - **高可用性**:支持冗余路径和故障转移,提高了存储解决方案的可用性和可靠性,在设计网络时要考虑这些冗余和故障转移机制的实现[^2]。 - **安全性**:支持多种安全协议,如CHAP(Challenge - Handshake Authentication Protocol),用于验证和加密通信,保障数据传输的安全,在实现过程中要部署相应的安全措施[^2]。 ### 实现步骤 在不同系统中构建iSCSI服务器实现SAN存储模型以及虚拟化平台对接自建ISCSI协议存储服务是实现的重要内容。 - **系统部署**:可在Windows Server系统和Linux系统部署ISCSI存储服务。如在Linux系统中,要进行ISCSI服务端安装,之后Linux客户端对接Linux ISCSI存储[^4]。 - **虚拟化平台对接**:FusionCompute虚拟化平台可对接Windows ISCSI存储Linux ISCSI存储;ESXI虚拟化平台也能对接IPSAN存储,完成整个iSCSI协议的SAN存储网络的搭建和使用[^4]。 ```python # 这里可以简单示意一个模拟的iSCSI连接配置示例(仅为概念示意,非真实可用代码) # 假设这是一个配置iSCSI目标端的模拟代码 def configure_iscsi_target(target_ip, target_port, target_name): print(f"Configuring iSCSI target at {target_ip}:{target_port} with name {target_name}") # 实际中这里会有复杂的配置命令和操作 return True # 调用示例 target_ip = "192.168.1.100" target_port = 3260 target_name = "iqn.2024-01.com.example:target1" if configure_iscsi_target(target_ip, target_port, target_name): print("iSCSI target configured successfully") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值