Skip to main content

Storage Area Network, SAN

存储区域网络 (Storage Area Network, SAN)是一种连接外接存储设备和服务器的架构。人们采用包括光纤通道技术、磁盘阵列、磁带柜、光盘柜(en)的各种技术进行实现。该架构的特点是,连接到服务器的存储设备,将被操作系统视为直接连接的存储设备(英语:Direct-attached_storage)。尽管SAN的复杂度和价格已经下降,但目前在大型企业级存储方案(英语:Enterprise_storage)以外还应用不甚广泛。

与SAN相比较,网络储存设备(NAS, Network Attached Storage)使用的是基于文件的通信协议,例如NFS或SMB/CIFS通信协议就被明确滴定义为远程存储设备,计算机请求访问的是抽象文件的一段内容,而非对磁盘进行的块设备操作。
目录

    1 网络类型
    2 存储共享
    3 SAN-NAS混合应用
    4 优势
    5 SAN基础设施
    6 兼容性
    7 家用SANs
    8 媒体和娱乐产业中的SANs
    9 SAN存储虚拟化
    10 相关内容
    11 参考
    12 外部链接
        12.1 SAN软件的相关文章和白皮书

网络类型

大多数存储网络使用SCSI接口进行服务器和磁盘驱动器设备之间的通信。因为它们的总线拓扑结构并不适用于网络环境,所以它们并没有使用底层物理连接介质(比如连接电缆)。相对地,它们采用其它底层通信协议作为镜像层来实现网络连接:

    光纤通道协议 (FCP, Fibre Channel Protocol), 最常见的通过光纤通道来映射SCSI的一种连接方式;
    iSCSI, 基于TCP/IP的SCSI映射;
    HyperSCSI, 基于以太网的SCSI映射;
    ATA over Ethernet, 基于以太网的ATA映射;
    使用光纤通道连接的FICON,常见与大型机环境;
    Fibre Channel over Ethernet (FCoE),基于以太网的FC协议;
    iSCSI Extensions for RDMA (iSER), 基于InfiniBand (IB)的iSCSI连接;
    iFCP[1] 或 SANoIP[2] 基于IP网络的光纤通道协议(FCP).

存储共享

出于历史原因,数据中心中最初都是SCSI磁盘阵列的“孤岛”群。每个单独的小“岛屿”都是一个专门的直接连接存储器应用,并且被视作无数个“虚拟硬盘驱动器”(例如LUNs)。本质上来说,SAN就是将一个个存储“孤岛”使用高速网络连接起来,这样使得所有的应用可以访问所有的磁盘。

操作系统会将SAN视为一组LUN,并且在LUN上维护自己的文件系统。这些不能在多个操作系统/主机之间进行共享的本地文件系统,具有非常高的可靠性和十分广泛的应用。如果两个独立的本地文件系统存在于一个共享的LUN上,它们彼此没有任何机制来知道对方的存在,没有类似缓存同步的机制,所以可能发生数据丢失的情况。因此,在主机之间通过SAN共享数据,需要一些复杂的高级解决方案,例如SAN文件系统或者计算机集群。撇开这些问题,SAN对于提高存储能力的应用有很大帮助,因为多个服务器可以共享磁盘阵列上的存储空间。SAN的一项典型应用是需要高速块级别访问的数据操作服务器,比如电子邮件服务器、数据库、高利用率的文件服务器等。

相对地,NAS允许多台计算机经过网络访问同一个文件系统,并且会自动同步它们的操作。由于NAS head的引入使得SAN存储可以被容易地转换为NAS。
DAS、NAS 和 SAN 的比较
组织图
SAN-NAS混合应用

尽管NAS和SAN有所区别,但还是有方法可以提供两项技术均被包括在内的解决方案。
使用了DAS,NAS和SAN技术的混合解决方案。
优势

存储器的共享通常简化了存储器的维护,提高了管理的灵活性,因为连接电缆和存储器设备不需要物理地从一台服务器上搬到另外一台服务器上。

其它的优势包括从SAN自身来启动并引导服务器的操作系统。因为SAN可以被重新配置,所以这就使得更换出现故障服务器变得简单和快速,更换后的服务器可以继续使用先前故障服务器LUN。这个更替服务器的过程可以被压缩到半小时之短,这在目前还是一个只在新建数据中心才使用的相对新潮的办法。现在也出现了很多新产品得益于此,并且在提高更换速度方面不断进步。例如Brocade的应用资源管理器Application Resource Manager可以自动管理可以从SAN启动的服务器,而完成操作的时间通常情况只需要几分钟。尽管此方向的技术现在仍然很新,还在不断演进,许多人认为它将进入未来的企业级数据中心。

SAN也被设计为可以提供更有效的灾难恢复特性。一个SAN可以“携带”距离相对较远的第二个存储阵列。这就使得存储备份可以使用多种实现方式,可能是磁盘阵列控制器、服务器软件或者其它特别SAN设备。因为IP广域网通常是最经济的长距离传输方式,所以基于IP的光纤通道和基于IP的SCSI协议就成为了通过IP网络扩充SAN的最佳方式。使用传统的物理SCSI层连接的SAN仅仅可以提供数米的连接距离,所以这几乎根本不能满足灾难恢复的不间断业务的需求。这项SAN应用的需求在美国911恐怖袭击事件之后,显得尤为突出,并且在萨班斯-奥克斯利法案和类似的法律事务中几乎成了必须特性。

磁盘阵列的,加速了许多功能的发展,包括I/O缓存、存储快照、卷克隆(Business_Continuance_Volumes, BCV)等。
SAN基础设施

SAN通常利用光纤通道拓补结构,这种基础构架是专门为存储子系统通信设计的。光纤通道技术提供了比NAS中的上层协议更为可靠和快速的通信指标。光纤是一种在概念上类似局域网中网络段的组建。典型的光纤通道SAN可以由若干个光纤通道交换机组成。

在现今,所有的主流SAN设备提供商也都提供不同形式的光纤通道路由解决方案,以此来为SAN架构带来潜在的扩展性,让不同的光纤网在不需要合并的条件下交换数据。这些技术解决方案各自使用了专有协议元素,并且在顶层的架构体系上,有很大的不同。他们经常会采用基于IP或者基于同步光纤网络(SONET/SDH)的光纤通道映射。
兼容性

光纤通道SAN在早期发展的时候,有一个问题是不同硬件厂商的交换机并不完全兼容。尽管基本的FCP存储协议总是兼容标准的,但是一些上层的功能却无法完成很好的互操作。与此类似的还有许多主机的操作系统,它们也会在共享某些光纤网络时候产生不良反应。在技术标准最终确定之前,市场上曾经出现了许多解决兼容性的方案,这些创新也都为标准制定提供了帮助。
家用SANs

SAN通常被用在大型的、高性能的企业存储操作中。通常我们不会见到只有一个磁盘驱动器的SAN,相反地,SAN通常都是链接了数个大型磁盘阵列的存储网络。因为SAN设备通常都是比较昂贵的,所以在台式机算计上,光纤通道总线适配器是比较罕见的。基于iSCSI的SAN技术曾经被寄望成为相对便宜的SAN方案,但最终它仍然没有走出企业级的大型数据中心环境。目前大多数的桌面计算机依然使用NAS协议的技术,比如CIFS和NFS。
媒体和娱乐产业中的SANs

视频编辑工作室总是会需要非常高的数据传输速率,所以在企业数据中心市场以外,SAN的应用可以极大的提高这一领域的工作效率。

单节点带宽使用控制,有的地方也称为“服务质量”(quality-of-service) (QoS),在视频编辑工作室中是一个尤其重要的特性,它可以在可用带宽不足的条件下确保带宽以一个合理的优先级被分配使用。Avid Unity、苹果公司的Xsan以及Tiger Technology的MetaSAN都向视频工作室特别提供了带有此功能的SAN解决方案。
SAN存储虚拟化

存储虚拟化是指将物理存储器完全抽象为逻辑存储器的过程。物理存储器资源将被整合为存储器池,由此来创建逻辑存储器。此操作可以给用户展现数据存储的逻辑空间,并且透明地操作映射实际物理位置的过程。目前这种机制都是由每个新近生产的磁盘阵列内部提供的,使用的是厂商专有的解决方案。尽管如此,虚拟化多磁盘阵列的目的是在网络上集成不同厂商的磁盘阵列,使之称为一套整体的存储设备,以便于对其进行统一的操作。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...