存储器那点事(四)模块化存储器自我提升之道
- 格式:doc
- 大小:574.50 KB
- 文档页数:17
存储器的工作原理引言概述:存储器是计算机系统中至关重要的组成部份,它用于存储和检索数据。
了解存储器的工作原理对于理解计算机系统的运行机制至关重要。
本文将详细介绍存储器的工作原理,包括存储器的分类、存储单元的结构和存储器的操作原理。
一、存储器的分类1.1 主存储器主存储器是计算机系统中最重要的存储器之一。
它用于存储当前正在执行的程序和数据。
主存储器通常是由一系列存储单元组成的,每一个存储单元都有一个惟一的地址。
主存储器可以按字节、字、块等不同的粒度进行访问。
1.2 辅助存储器辅助存储器是主存储器之外的存储器,用于长期存储程序和数据。
辅助存储器的容量通常比主存储器大得多,但其访问速度较慢。
常见的辅助存储器包括硬盘驱动器、光盘和闪存等。
1.3 高速缓存高速缓存是位于主存储器和中央处理器(CPU)之间的存储器层次结构中的一层。
它用于存储最近被访问的数据和指令,以提高计算机系统的性能。
高速缓存的容量较小,但其访问速度非常快。
二、存储单元的结构2.1 存储单元的基本组成存储单元是存储器中的最小单元,用于存储一个二进制位(0或者1)。
它通常由一个触发器或者闪存电路组成。
触发器是一种能够存储和保持数据的电路,而闪存电路是一种非易失性存储器,能够在断电后保持数据。
2.2 存储单元的编址方式存储单元可以通过地址进行访问。
常见的编址方式包括直接编址、间接编址和相对编址。
直接编址是指通过存储单元的惟一地址直接访问数据。
间接编址是指通过一个地址指针来访问数据。
相对编址是指通过相对于当前指令地址的偏移量来访问数据。
2.3 存储单元的组织方式存储单元可以按照不同的组织方式进行罗列。
常见的组织方式包括线性组织、矩阵组织和多维组织。
线性组织是指存储单元按照线性序列进行罗列。
矩阵组织是指存储单元按矩阵形式进行罗列。
多维组织是指存储单元按多维数组进行罗列。
三、存储器的操作原理3.1 存储器的读取操作存储器的读取操作是指从存储单元中检索数据。
存储那点事:模块化存储自我提升之道摘要:我们谈到的都是如何让单个存储器控制器的处理能力变得更快,而另外一个提升模块化存储器控制器处理能力的方法是使两个存储控制器从非对称处理模式(Asymmetric)转移到对称处理模式(Symmetric)。
IT管理大不同---蓝代斯克线上会议注册进行中推荐活动:揭秘你身边的无边界网络告诉你,我们已经进入无边界网络时代。
你困惑吗?什么是无边界网络?无边界网络和过去的网络有什么不同吗?……我们谈到的都是如何让单个存储器控制器的处理能力变得更快,而另外一个提升模块化存储器控制器处理能力的方法是使两个存储控制器从非对称处理模式(Asymmetric)转移到对称处理模式(Symmetric)。
更先进的控制器间互连技术非对称处理模式(Asymmetric)、对称处理模式(Symmetric)这是一个让一般读者听起来颇为绕口,也显得颇为专业的提法,下图显示了对称式处理模式和非对称处理模式两者架构的区别,从图上我们可以看出其主要区别是在于symmetic双活架构的存储器的两个控制器内部又细化成了前端卡和后端卡,另外两个控制器之间出现了互连通道(Broadband cross band):很多读者会问,一般很多存储厂商不都是说他们的存储器都是Active/Active 双活架构的吗,怎么又冒出来一个对称不对称的讲法呢?会不会是又在炒作新概念啊?下面我们来详细看看这两种架构的区别。
下图是我们常见的主机通过SAN交换机和存储器互连的拓扑架构图:我们可以看到每台主机一般是通过多通道软件连接到控制器(如EMC的Powerpath,HP的SecurePath,IBM的SDD,Veritas的DMP或者HDS的HDLM等)再通过两台FC交换机连接到两个存储控制器,然后存储器把内部的磁盘(如LUN 1、LUN2)分别映射给不同的主机。
比如把lun1映射给上图左边红色的主机1,把lun2映射到上图右边蓝色的主机2。
计算机组成原理学习心得体会5篇现代计算机的硬件基础架构都是依赖于冯诺依曼提出的冯诺依曼体系结构,现代计算机的核心架构可以抽象为五个基础组件:运算器、控制器、存储器、输入设备和输出设备。
下面是小编为大家整理的计算机组成原理学习心得体会,希望对你们有帮助。
计算机组成原理学习心得体会1计算机组成原理是计算机专业的硬件课程中重要核心课程之一。
基本要求是使我们掌握计算机常用的逻辑器件、部件的原理、参数及使用方法,学懂简单、完备的单台计算机的基本组成原理,学习计算机设计中的入门性知识,掌握维护、使用计算机的技能。
在计算机诞生并逐步成熟以来,计算机一直被作为大学和研究机构的娇贵设备。
在20世纪70年代中后期,大规模集成工艺日趋成熟,微芯片上集成的晶体管数一直按每三年翻两番的Moore定律增长,微处理器的性能也按此几何级数提高,而价格也以几何级数下降,以至于以前需花数百万美元的机器变得价值仅为数千美元,至于对性能不高的微处理器芯片而言,仅花数美元就可购到。
正因为如此,才使得计算机走出实验室而渗透到各个领域,乃至走进普通百姓的家中,也使得计算机的应用范围从科学计算,数据处理等传统领域扩展到办公自动化,多媒体,电子商务,虚拟工厂,远程教育等,遍及社会,政治,经济,军事,科技以及个人文化生活和家庭生活的各个角落。
在计算机普及的今天,现代信息技术飞速发展,计算机的应用在政治、经济、文化等方方面面产生了巨大影响。
而计算机的知识更新的速度非常的快,这就使得我们这些学计算机的面临着要不断的更新自己关于计算机的知识,以适应市场的需要。
《计算机组成原理》这本书中学到的有关计算机原理方面的知识对我们以后了解计算机以及和计算机打交道,甚至在以后应用计算机时,都可能会有很大的益处,计算机原理的基本知识是不会变的,变也只是会在此基础上,且不会偏离这些最基本的原理,尤其是这本计算机组成原理介绍的计算机原理是一种一般的计算机原理,不是针对某一个特定的机型而介绍的,所以说在这本书中学到的有关计算机原理方面的知识在大部分的计算机中都是可以应用的。
存储器的工作原理一、引言存储器是计算机中重要的组成部分,用于存储和检索数据。
了解存储器的工作原理对于理解计算机系统的运行机制至关重要。
本文将详细介绍存储器的工作原理,包括存储器的分类、存储单元的组成、存储器的读写操作以及存储器的访问速度。
二、存储器的分类存储器按照存储介质的不同可以分为主存储器和辅助存储器两大类。
1. 主存储器(RAM)主存储器是计算机中用于存储程序和数据的地方,它是计算机系统中最快的存储器。
主存储器按照存储单元的组织方式可以分为静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)两种。
- 静态随机存取存储器(SRAM):SRAM使用触发器作为存储单元,每个存储单元由6个晶体管组成。
SRAM的读写速度快,但占用的面积大,功耗高,成本较高。
它常用于高速缓存。
- 动态随机存取存储器(DRAM):DRAM使用电容和晶体管作为存储单元,每个存储单元由1个电容和1个晶体管组成。
DRAM的读写速度相对较慢,但占用的面积小,功耗低,成本较低。
它常用于主存储器。
2. 辅助存储器(ROM、硬盘等)辅助存储器用于长期存储程序和数据,它的容量通常比主存储器大得多,但速度较慢。
辅助存储器按照存储介质的不同可以分为只读存储器(ROM)、磁盘存储器(硬盘、软盘等)、光盘存储器(CD、DVD等)等。
三、存储单元的组成存储器的最小存储单元是位(bit),它可以存储一个二进制的0或1。
多个位可以组合成更大的存储单元,如字节(byte)、字(word)等。
1. 字节(byte)字节是计算机中最基本的存储单元,它由8个位组成,可以存储一个字符或一个二进制数。
2. 字(word)字是由多个字节组成的存储单元,字的长度取决于计算机的体系结构,常见的字长有16位、32位、64位等。
四、存储器的读写操作存储器的读写操作是计算机系统中的基本操作,它包括数据的写入和读取两个过程。
1. 写入操作写入操作是将数据从计算机的其他部件(如CPU)写入存储器中的过程。
单片机存储器的结构单片机存储器的结构单片机是一种微型计算机,它包含有各种功能模块,其中存储器模块是最重要的一个。
存储器模块可以实现对程序及数据的存储和读取,是单片机运行的核心。
本文将详细介绍单片机存储器的结构。
单片机的存储器模块主要分为两种:非易失性存储器和随机存储器。
非易失性存储器是指在断电情况下也能保存数据的存储器,如只读存储器(ROM)、闪存存储器等;随机存储器是指存储器中的数据在断电时会被清除,需要在运行时不断读取和写入数据的存储器,如随机存储器(RAM)等。
单片机的非易失性存储器包括ROM、闪存存储器等。
ROM(只读存储器)是一种只读存储器,它的内容在制造过程中就被赋值,无法被修改,因此也称之为只读存储器。
它可以存储程序代码、常数及只读数据等。
单片机执行程序需要从ROM中读取指令、数据等信息。
ROM的一种比较常用的类型是EPROM(可擦除可编程只读存储器),它可以被擦写并被多次编程。
另外一种比较常用的ROM是EEPROM(电可擦可编程只读存储器),它与EPROM相似,不同之处在于可以通过电信号擦除。
闪存存储器是一种非易失性存储器,它是一种介于EEPROM和SDRAM之间的存储器类型,具有可读可写的特性。
闪存存储器内部以块的形式进行读写,可以随机访问,而且具有较快的读写速度、较长的寿命和较低的功耗,因此被广泛应用于手机、摄像机、MP3、汽车导航等领域。
单片机的随机存储器包括RAM、SDRAM等。
RAM(随机存储器)是一种易失性存储器,存储器中的数据在断电时会被清除。
RAM中的数据以字节为单位进行读写,可以实现随机访问,读写速度快,但存在数据丢失的问题。
RAM包括SRAM和DRAM两种,SRAM(静态随机存储器)是一种使用静态电路来存储每一位数据的随机存储器,SRAM速度快,但功耗较大;DRAM(动态随机存储器)采用电容来存储数据,DRAM速度相对较慢,功耗较小。
SDRAM(同步动态随机存储器)是一种高速RAM存储器。
存储器那点事(五)简析模块化存储器代表产品-1而下图是IBM DS8000系列的体系架构图:IBM把这种体系架构称作Seascape(海景)体系架构,注:Seascape体系架构是整个Shark系列的灵魂。
我们通过第一代的shark到现在市场上常见的DS8000的几代存储器的体系架构图,可以很清楚地发现IBM企业级存储器设计思路:1. 从整体处理能力来讲:存储器体系架构是以核心服务器为中心,随着IBM小型机中power芯片的升级而升级整个存储器的核心处理部分;这是IBM和其他存储器厂商最大的不同,IBM最大资本在于其power芯片(power芯片,安腾芯片和ultrasparc是UNIX服务器芯片的三巨头之一),把power 芯片的核动力发挥到关键这也完全和IBM公司在服务器领域的深厚积累有关,这是其他专业存储厂商无法做到的;虽然也有不少竞争对手把IBM这样的设计称为“伪高端存储”,说其只是server based体系架构。
这样说是有一定道理,但是从另外一个方面看,其实存储器本质就是计算机(前文笔者无数次谈过这个观点),我们敬爱的小平同志说过“不管黑猫白猫,能抓老鼠的就是好猫”,如果这样设计真的能够做到高性能,过于拘泥于其体系架构其实也无太大的现实意义;2. 从可靠性安全性来讲:很多读者会问,其实Shark本质上采用的不正是集群技术么?这样讲也是有一定道理的,很多模块化阵列采用的是基于IA芯片的PC服务器组成的cluster,而seascape是以两台基于power PC芯片为核心的IBM小型机为核心。
但有一点需要指出的是普通的集群架构的模块化存储采用的是非对称式Asymmetric体系架构,两个控制器模块无法同时访问同一个lun,而IBMSeacape架构无此限制(关于Symmetric和Asymmetric架构的区别和定义,请参考前文章节详细解释);而且shark内部将整个存储器分为cluster 1和cluster 2,两个部分理论上是互为备份的;3. 从可扩展性来讲:IBM Seascape架构的优势是勿庸置疑的,power PC的小型机都发展到power 7时代了,其强大的处理能力和系统带宽决定了其前端主机接口数、后端磁盘通道数的扩展能力和cache可扩展能力是普通的PC服务器无法比拟的;4. 从存储应用软件的支持能力来讲:同样基于IBM小型机的强大处理能力和技术积累,使得其对于各种软件的开发支持速度,包括多个存储器软件运行的速度都不成问题;当然,这种架构比起专业的存储器厂商设计的存储器也会有一定的限制,比如:1. 小型机的设计主要强在信息的处理能力,而存储器抢掉的是信息的存储保护能力,两者设计思想并不是完全相同;2. 可靠性比起基于分布式多处理器的架构的存储器可能会稍打些折扣;3. 两个节点间的互连带宽采用RIO-G环路,效率上值得怀疑4. 比起专业的存储器厂商,IBM的存储器在功能发布方面多以跟随战略为主(即竞争对手的存储器产品推出什么新功能,IBM在较短时间内开发出类似功能并推出,但主动式创新稍嫌少)等等,可以说IBM的DS8000系列是一个个性非常鲜明的产品,基于IBM小型机cluster为核心的seascape体系架构充分发挥了IBM power芯片的长处。
存储器的工作原理与应用分析随着科技的不断进步,我们的生活离不开电子设备,而这些电子设备中又离不开存储器的支持。
存储器作为电子设备中重要的组成部分,起到了数据存储和读写的关键作用。
本文将深入探讨存储器的工作原理及其应用分析。
一、存储器的工作原理存储器的工作原理可以简单地说是通过电信号进行数据的存储和读取。
存储器的基本单元是存储单元,每个存储单元由一个或多个存储元件组成。
根据存储元件的工作原理的不同,存储器可以分为静态存储器(SRAM)和动态存储器(DRAM)。
静态存储器是基于触发器电路的存储器,具有快速读写速度和不需要刷新的优点。
它的工作原理是利用二叉触发器(Flip-flop)存储数据,每个二叉触发器可以存储一个位的数据(0或1)。
静态存储器通常用于高速缓存和寄存器等需要快速读写的场合。
动态存储器则是基于电容的存储器,相比于静态存储器,它具有容量大的优点。
动态存储器的工作原理是利用电容存储电荷,每个存储单元是由一个电容和一个开关构成。
当写入数据时,电容会存储一个电荷,代表1或者0;而当读取数据时,电容的电荷会被放大并转换为电信号。
动态存储器常用于内存和扩展存储器等需要大容量的场合。
二、存储器的应用分析1. 计算机内存:计算机内存是存储器的主要应用场景之一。
计算机内存通常指随机访问存储器(RAM),用于存储计算机程序和数据,供CPU进行快速读写。
在计算机内存中,静态存储器用于高速缓存,提供CPU快速读取数据的支持,而动态存储器则用于主存,提供大容量的数据存储。
2. 手机存储:手机作为现代人们的必备设备之一,存储器对于手机的性能和用户体验至关重要。
手机存储常采用闪存作为主要存储介质,闪存具有非易失性、相对较低的功耗和高速的读写速度。
同时,闪存还可以做为应用程序和文件的存储介质,满足手机用户对数据存储的需求。
3. 数字相机存储:数字相机作为摄影爱好者和专业摄影师的重要工具,存储器在其中起到了关键的作用。
存储器的工作原理一、引言存储器是计算机系统中重要的组成部分,用于存储和检索数据。
了解存储器的工作原理对于理解计算机系统的运行机制至关重要。
本文将详细介绍存储器的工作原理,包括存储器的分类、存储单元的组成、存储器的读写操作以及存储器的层次结构等内容。
二、存储器的分类存储器按照其访问速度和容量大小可以分为多级存储器层次结构,包括寄存器、高速缓存、主存储器和辅助存储器。
其中,寄存器是最快速的存储器,用于存储指令和数据,但容量较小;高速缓存是介于寄存器和主存储器之间的存储器,用于加快对数据的访问速度;主存储器是计算机系统中的主要存储器,容量较大,但访问速度相对较慢;辅助存储器是最慢的存储器,用于长期存储大量的数据。
三、存储单元的组成存储器的最小存储单元是位(bit),用于存储一个二进制的0或1。
多个位可以组成字节(byte),字节是计算机中常用的数据单位。
存储器的容量通常以字节为单位进行衡量。
存储单元的组成可以是电子元件,例如在半导体存储器中,存储单元是由晶体管和电容器组成的。
存储单元可以根据需求进行扩展,从而提高存储器的容量。
四、存储器的读写操作存储器的读写操作是通过存储器控制器来完成的。
存储器的读操作涉及到从存储单元中读取数据到CPU或其他设备,而写操作则是将数据写入存储单元。
读写操作的速度取决于存储器的访问速度和存储器控制器的性能。
为了提高存储器的读写速度,通常会采用缓存技术和预读取技术。
五、存储器的层次结构存储器的层次结构是根据存储器的访问速度和容量大小进行划分的。
在计算机系统中,存储器的层次结构通常采用金字塔形状表示,顶部是访问速度最快、容量最小的寄存器,底部是访问速度最慢、容量最大的辅助存储器。
层次结构的设计旨在提供高速访问和大容量存储的平衡。
六、存储器的优化技术为了提高存储器的性能,人们提出了各种存储器优化技术。
其中包括缓存技术、虚拟存储器、页面置换算法等。
缓存技术通过在高速缓存中存储最常用的数据块,减少对主存储器的访问次数,从而提高系统的响应速度。
实不错,采用这种思路的人多了,可能就会成为一个趋势,那么就会把这种体系架构单独划分为一类。
Scale out就是新兴类别的典型代表。
比如说当早期3PAR公司独家采用缓存统一编址分布式处理器scale out架构时,仅仅属于一个技术创新,笔者2年前会把它归纳到创新体系架构类,而最近采用类似架构设计存储器的厂商变多了,特别是EMC最新的VMAX系列、Pillar的Axiom 系列也加入到其中,因此笔者就把它单独拎出来成为了四大主流体系架构之一了(此时scale out架构也成了四大天王中的一员)。
可见存储器技术的发展和体系架构的划分也是与时俱进的….如果我们把Scale out横向扩展的体系架构进一步划分,又可以再细分成两种思路,一种是分布式缓存但统一编址的numa架构,其核心思想是多个节点的缓存是统一编址的,其代表产品是3PAR的InServ T系列和EMC的Symmetrix V-MAX系列,笔者将在后面的章节详细阐述;而另一种是每个节点各种管理控制器内部缓存的MPP分支,其代表产品包括HP公司的P4000系列(收购Lefthand公司产品得来)、IBM公司的XIV系列(收购XIV公司产品发展而来)、DELL公司的Equalogical 系列(收购Equalogical公司产品发展而来)、民族产业的代表龙存科技的LoongStore系列。
各位看官可能会发现一个很有意思的问题,这种Scale out MPP体系架构的产品虽然分别为IBM/HP/DELL三大IT巨头公司所掌握,但都是通过收购而来,而那些被收购的公司往往都名气不大,可见这种架构的存储器确实是存储行业中相对的新鲜事物,而这些新兴事务也往往符合最新云计算架构中云存储的设计思路…下文中我们将探讨一下这个scale out体系架构的MPP分支到底是个什么东东…采用Scale out体系架构的MPP分支的思路分析我们前文说过,为了能够让更多的处理器协同工作,计算机工业提出了SMP体系架构,进而发展到cc-numa体系架构,这两种体系架构从本质上来讲有一个共同的特点,即各个处理器上缓存是统一编址的(从编程的角度来看,这么多处理器组成的服务器的内存是一个连续的内存空间,非常有利于编程人员设计程序),当然SMP 的特点是所有的处理器访问缓存的延迟是固定的,而cc-numa架构就会出现缓存访问延迟不一致的情况,当然cc-numa带来的额外的好处就是整个系统的扩展能力会进一步加强。
存储器的工作原理标题:存储器的工作原理引言概述:存储器是计算机系统中非常重要的组成部份,它用于存储和检索数据以及程序。
存储器的工作原理对于理解计算机系统的整体运作至关重要。
本文将深入探讨存储器的工作原理,包括存储器的分类、存储器的工作方式、存储器的读写操作、存储器的容量和速度等方面。
一、存储器的分类1.1 内存和外存:存储器可以分为内存和外存。
内存是计算机中用于存储正在运行程序和数据的暂时存储器,外存则用于永久性存储数据。
1.2 随机存储器(RAM)和只读存储器(ROM):RAM是一种易失性存储器,数据在断电后会丢失;ROM是一种只读存储器,数据在断电后不会丢失。
1.3 快速存储器和慢速存储器:存储器可以根据访问速度的快慢分为快速存储器(如高速缓存)和慢速存储器(如硬盘)。
二、存储器的工作方式2.1 读取操作:计算机通过地址总线将存储器中的数据传输到数据总线上,然后传输到CPU中进行处理。
2.2 写入操作:计算机通过地址总线将数据传输到存储器中的特定地址,然后通过数据总线将数据写入存储器。
2.3 访问速度:存储器的访问速度取决于存储器的类型和容量,快速存储器速度较快,慢速存储器速度较慢。
三、存储器的读写操作3.1 顺序读写:计算机按照地址顺序读取或者写入数据,逐个地址进行操作。
3.2 随机读写:计算机可以根据地址随机读取或者写入数据,不需要按照顺序进行操作。
3.3 并行读写:计算机可以同时读取或者写入多个存储单元的数据,提高读写效率。
四、存储器的容量和速度4.1 存储器容量:存储器的容量决定了计算机可以存储的数据量,通常以字节为单位进行计量。
4.2 存储器速度:存储器速度越快,计算机的运行速度就越快,快速存储器的速度比慢速存储器快。
4.3 存储器扩展:计算机可以通过增加存储器的容量或者使用高速存储器来提高系统性能。
五、存储器的发展趋势5.1 容量增加:随着科技的发展,存储器的容量越来越大,可以存储更多的数据。
存储器那点事(四)模块化存储器自我提升之道更先进的控制器间互连技术存储器控制器的处理能力变得更快,而另外一个提升模块化存储器控制器处理能力的方法是使两个存储控制器从非对称处理模式(Asymmetric)转移到对称处理模式(Symmetric)。
非对称处理模式(Asymmetric)、对称处理模式(Symmetric)这是一个让一般读者听起来颇为绕口,也显得颇为专业的提法,下图显示了对称式处理模式和非对称处理模式两者架构的区别,从图上我们可以看出其主要区别是在于symmetic双活架构的存储器的两个控制器内部又细化成了前端卡和后端卡,另外两个控制器之间出现了互连通道(Broadband cross band):很多读者会问,一般很多存储厂商不都是说他们的存储器都是Active/Active双活架构的吗,怎么又冒出来一个对称不对称的讲法呢?会不会是又在炒作新概念啊?下面我们来详细看看这两种架构的区别。
下图是我们常见的主机通过SAN交换机和存储器互连的拓扑架构图:我们可以看到每台主机一般是通过多通道软件连接到控制器(如EMC的Powerpath,HP的SecurePath,IBM的SDD,Veritas的DMP或者HDS的HDLM 等)再通过两台FC交换机连接到两个存储控制器,然后存储器把内部的磁盘(如LUN 1、LUN2)分别映射给不同的主机。
比如把lun1映射给上图左边红色的主机1,把lun2映射到上图右边蓝色的主机2。
另外很重要的一点是一般传统的Asymmetric 存储器在把lun映射到主机时,必须要指定一个onwer控制器且不能在线改变(术语称“属主控制器”),比如说lun1是通过控制器0映射给红色的主机1,而lun2是通过控制器1映射给蓝色的主机2,如果某个lun如果要改换控制器映射mapping,往往需要停机或者说手工切换,这样尽管从宏观上来看控制器间确实是做到双活active-active(两个控制都同时在工作,都有自己所属的lun),但是细细分析会有以下潜在的问题:1、存储规划上带来的额外负担:在存储规划初期必须仔细考虑把每一个lun的属主控制器,尽量把任务均衡地分布在每个控制器上。
2、控制器间很难做到负载均衡:不同的业务系统的工作负载往往是不一样的,如果规划初期控制器任务分配不均衡,运行后很难做到在线调整,需要有停机时间;3、如果一个控制器坏掉了,所属的lun需要全部重新mapping,而如果该控制器只是短暂停止工作而马上又重新恢复处理,那么lun的归属就很有可能会在两个控制器间跳来跳去,这就是存储行业里面经常讲到的“乒乓效应”(lun的归属权在两个控制器间来回跳动,就像乒乓球一样)。
造成这些原因的根本问题是传统的Asymmetric存储器器的每个控制器都是一体化设计,控制器是一个最小的原子单位没有办法可以进一步细化了。
而基于Symmetric 架构的模块化存储器就可以很大程度上避免这个问题,因为如前面图中所介绍的,存储器的两个控制器里面又进一步细化了前端卡(负责和主机连接)和后端卡(负责和后端的lun连接),两个控制器间的前端和后端卡都可以做到any to any的互连。
这样的架构下,每个lun的owner属主控制器就存在动态变化的可能性。
如下图所示,如果主机连接到具备了Symmetric架构的存储器,存储管理员不需要预先为每个lun指定onwer控制器(可以由控制器随机分配),通过存储器的软件可以非常方便做到两个控制器间lun的owner切换,负载均衡。
可以说基于Symmetic架构的模块化阵列具有非常好的控制器间负载均衡调节的能力,算是模块化存储器的一种创新(其创新类似早期数据库Oracle从一主一备进化到双instance同时工作的OPS,再进化到多数据库instance同时工作的Oracle RAC和Oracle Grid)。
现阶段支持此架构的存储器包括3PAR公司的Titan系列存储器,HDS的AMS2000系列存储器、DDN公司的S2A系列存储器、Pillar Data System公司的Axiom系列存储器(由Oracle公司老大Larry同学私人出资成立的存储公司,真是财大气粗啊)都具备此项功能。
其中3PAR和Pillar公司的产品更是跳出两个控制器间负载均衡的限制,可以从2个控制器间扩展到多达8个控制器间的负载均衡和任务切换,可以说具备更加先进的架构。
更快的存储器前端主机连接前面几个小节我们谈到的都是从如何通过提高存储器这台计算机的核心处理能力(即其控制器的处理能力)来提高模块化存储器的性能,下面几个章节我们将从其他另外几个角度来探讨如何提升存储器这台计算机。
我们知道,一台计算机,除了处理器的核心处理能力以外,其和外界设备交流的IO 接口也是一个非常重要的因素。
那么存储器这台计算机和外界的接口有哪些呢,主要分为存储器和主机的接口(我们称之为前端主机通道)和存储和后端磁盘的接口(我们称之为后端磁盘通道接口)。
因为从体系架构上来看,从体系架构上来看,存储器就是横跨在前端主机和后端一大堆磁盘之间的一台计算机嘛。
本节我们将讨论如何通过提供更快更丰富协议的前端主机接口卡提升模块化存储器的性能。
谈到接口,首先在脑海中出现的应该是速度问题,这里的速度问题我们可以由上往下进一步细分为以下四个部分分开来讨论:1、主机内部总线到HBA卡的带宽:很多项目中,用户往往关心的是主机端的HBA 卡的速度是1Gb/2Gb/4Gb还是最新的8Gb,甚至还有潮人追求FCOE,但往往忽略了主机内部处理器到HBA卡的总线带宽。
我们以传统主机的南北桥架构为例,CPU/内存等核心处理部件到HBA卡的带宽越宽则性能越有可能提升,否则不管外部HBA卡有多快,系统内部的瓶颈将制约系统的整体性能,这点在宽带流媒体视频点播应用或者高带宽视频文件非线编方面尤其明显。
比如现在很多人都在谈论存储端SAS 2.接口0,但是真正使用的案例确很少,其中一个很重要的原因在于SAS 2.0的外部接口速度达到6G/sec,比很多传统服务器连接到IO接口的内部总线带宽还宽,因此现阶段部署SAS 2.0不能充分发挥其高带宽的特点(存储端传来再多的东西,主机端给卡住了)。
2、主机HBA卡的接口速度:HBA卡的速度是由HBA卡的生产厂家(主要是Qlogic 和Emulex)控制的,其接口速度的更新往往和网络存储交换机同步更新。
如前文所讲,简单地配置高速的HBA卡甚至多口的高带宽HBA卡(特别是那种多端口的Combo 卡)对于系统性能提升太大的任何好处。
特别是在缓存命中率较低、随机型IO类型的OLTP数据库应用环境中,简单的关注主机HBA卡、网络存储交换机和存储控制器前端主机接口卡速度的提升对于此类应用帮助不大。
3、网络存储交换机接口速度:主要厂家包括Brocade、Cisco、Qlogic等,在评测网络存储交换机速度时千万不能仅仅只看接口板块的速度,因为有些情况下交换机厂商在交换机内部核心背板交换速度没有任何改进地情况下,只是在表面上提高了所谓前端接口的速度,或者交换机内部互连用了更高高的超载比,这些表面上的功夫对于整个系统的性能提高起不到什么作用。
因此我们判断一个网络存储交换机的性能不能观看其最大端口数和接口速率,更需要观察其内部背板带宽和端口到核心交换部分的超载比。
4、存储控制器前端主机接口速度:只有在顺序IO环境下,存储器的高速前端主机接口速度才有意义,在数据库环境下关键取决于存储控制器处理器的性能;5、存储控制器内部处理器到存储控制器前端主机接口的带宽:这是一个经常被忽略的问题,存储控制器内部处理器到前端主机接口的实际带宽往往是提升性能很关键的部分,如果说控制器本身没有换,只是简单的把存储控制器前端主机接口从4Gb 换成8Gb,对于性能的提升同样意义不大。
而很多厂商在宣传中往往通过前端支持更高速度的接口卡来“忽悠”用户。
往往很多存储厂商经常标榜更高的接口速度=更好的性能,而笔者认为,如果从整体系统架构来讲,存储器前端主机连接以及相关的网络速度并不是最重要的,为什么会这样呢?我们来回顾一下摩尔定理:IC上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。
但是我们再回顾一下存储器的一个重要部件磁盘的发展历程,可以说早期的磁盘到现在的磁盘其性能变化不大(注:决定单盘的性能关键往往是其转速和寻道时间,比如15K RPM即磁盘平均每分钟转速为15000下),这也是存储器这种计算机和其他计算机的一个关键不一样的地方,存储器的整体性能不仅仅取决于控制器内部的电子速度的提升,很大程度上也取决于其后端磁盘这种机械设备的性能提升,而正是由于磁盘这个关键部分技术没有质的提升,因此仅仅靠存储前端主机、存储网络的速度的提升并不能给整个存储器系统带来革命性的变化。
前端主机接口更多协议的接入能力我们上节讲到了模块化存储器的前端主机接口的速度问题,下面我们将要谈到另外一个经常会碰到的问题,即我们在规划网络存储项目时碰到的用NAS/SAN/IPSAN 甚至是最新的FCOE等协议,这些五花八门的东东本质上谈论的就是存储器的前端主机接口是通过什么协议和主机相连。
稍微花点时间来解释一下协议是个什么东东,通俗来讲,协议是指两种设备在通讯期间用来沟通的约定俗成的一种规范,就好比语言一样,同样是咿咿呀呀,中国人用的是中文,米国人用的是English,必须采用同样的规范来沟通,否则就会出现牛头不对马嘴的情况(牛的语言和马的语言明显不是一个路数)。
以上是笔者经常用来解释不同协议及其本质的一张图,我们可以从应用程序、文件系统和存储器的位置很清楚地看出DAS/NAS/SAN的区别(由于本文不是存储网络入门课程,更加详细的资料请参考网上非常多的关于此方面的培训教材),简单来讲,只要分清楚文件系统和存储系统以及所接入网络的位置,我们就可以很方便地搞清楚SAN/NAS和DAS的区别。
注意,从协议上来讲,DAS、SAN、ISCSI(即所谓IPSAN)甚至FCOE本质上都是用的SCSI协议,只是封装在不同的网络协议中(DAS环境里面主机和存储间当然是没有网络了),我们可以把这种服务叫作块级别服务(block service),而NAS 是提供文件系统的服务,我们叫file service(如上图所示NAS头里面自己已经包含了file system);而从硬件连接属性来看,ISCSI和NAS同样走的是TCP/IP网络链路。
早期传统的存储器基本上都是配置光纤接口,通过SAN交换机连接到主机的HBA 卡来提供存储服务。
如果要提供文件共享的NAS服务,多通过连接到NAS服务器头做到(比如EMC的Celera),如果要提供iscsi服务,也是通过一个协议转换器从SAN接口转换成iscsi接口提供IP级别的block服务。