IO block的IO总线能挂多少磁盘block

后使用快捷导航没有帐号?
研究CPU、IO、网络 等方面任意一个主题,阐述下他们的发展史
新手上路, 积分 8, 距离下一级还需 42 积分
论坛徽章:3
本帖最后由 thlyrm 于
09:33 编辑
网络主要指互联网发展历程: 主要经历了三个大的阶段,并即将经历第四个阶段(以主要流量来源和用户行为目标为划分依据):
第一阶段是传统网络,主要是传统的网站当道,这个阶段持续了十几年。
& &主要特点:各种传统的互联网网站以“内容为主、服务为辅”为主要形态
第二阶段主要是网站和内容流型社交网络并存,这个阶段目前正在趋于尾声,已经持续了七、八年。
& &主要特点:web2.0时代,各种互联网网站与内容流型社交网络(facebook,微博等)
第三阶段,则是网站弱化、移动app与消息流型社交网络并存的阶段。这个阶段是目前正在发生的,却也持续有两、三年了。
& &主要特点,是内容与服务并重
第四阶段则是即将发生的。超级APP将以用户为基础,承载一切的内容与服务,最终完成互联网信息的全面整合。世界网络大事件:AWS云计算数据中心建设。 VPC EC2 等等
& && && &&&HADOOP开源大数据平台发布与应用。SPARK 内存计算大数据框架发布。
& && && & DOCKER分布式虚拟软件发布与应用发展。& && && & 万兆网产生
中国网络最大大事件:禁网,闭门搞大光明网啊。和大航海时代禁海一样恶劣。
& && && && &各种发展都是参考与抄袭世界网络发展,除了淘宝,百度,腾讯有部分创新,本质上无太大进步。
新手上路, 积分 10, 距离下一级还需 40 积分
论坛徽章:1
分享一篇文章,从容量和速度,两个角度来看HDD/SSHD/SSD硬盘的发展趋势。这三者的简单趋势:硬盘、混合硬盘、固态硬盘的竞争态势越来越激烈,机械硬盘在速度方面目前已经没有发展空间,只能在大容量之路的继续前行,固态硬盘则全面推进,速度容量上都有着巨大的进步,而混合硬盘生存在两者之间,略显艰难。
关于细节,大家可以看原文:/doc/1/_all.shtml#p3
新手上路, 积分 2, 距离下一级还需 48 积分
论坛徽章:1
& && &在计算机网各出现之前,信息的交换是通过磁盘进行相互传递资源的,如图1-1所示
& && && && && && && && && && && && && && && && && && && &
& && & 在1946年,世界上第一台数字计算机问世,但当时计算机的数量非常少,且非常昂贵。而通信线路和通信设备的价格相对便宜,当时很多人都很想去使用主机中的资源,共享主机资源和进行信息的采集及综合处理就显得特别重要了。1954年,联机终端是一种主要的系统结构形式,这种以单主机互联系统为中心的互联系统,即主机面向终端系统诞生了。如图1-2所示。
& && && && && && && && && && && && && && && && && && && && && && &&&
& && &&&在这里终端用户通过终端机向主机发送一些数据运算处理请求,主机运算后又发给终端机,而且终端用户要存储数据时向主机里存储,终端机并不保存任何数据。第一代网络并不是真正意义上的网络而是一个面向终端的互联通信系统。当时的主机负责两方面的任务:
(1) 负责终端用户的数据处理和存储
(2) 负责主机与终端之间的通信过程& && &&&所谓终端就是不具有处理和存储能力的计算机。& && &&&随着终端用户对主机的资源需求量增加,主机的作用就改变了,原因是通信控制处理机(Communication Control Processor,CCP)的产生,它的主要作用是完成全部的通信任务,让主机专门进行数据处理,以提高数据处理的效率,如图1-3所示& && && && && && && && &
& && &&&当时主机主要作用是处理和存储终端用户发出对主机的数据请求,通信任务主要由通信控制器(CCP)来完成。这样把通信任务分配给通信控制器这样主机的性能就会有很大的提高,集线器主要负责从终端到主机的数据集中收集及主机到终端的数据分发。
& && &&&联机终端网络典型的范例是美国航空公司与IBM公司在20世纪60年代投入使用的飞机订票系统(SABRE-I),当时在全美广泛应用。& && &&&为了克服第一代计算机网络的缺点,提高网络的可靠性和可用性,人们开始研究将多台计算机相互连接的方法。第二代网络是从20世纪60年代中期到70年代中期,随着计算机技术和通信技术的进步,己经形成了将多个单主机互联系统相互连接起来,以多处理机为中心的网络, 并利用通信线路将多台主机连接起来,为终端用户提供服务。如图1-4所示
& && && && && && && && && && && && && && && && && && && && && && && && && &
& && &&&第二代网络是在计算机网络通信网的基础上通过完成计算机网络体系统结构和协议的研究,形成的计算机初期网络。如,20世纪60至70年代初期由美国国防部高级研究计划局研制的ARPANET网络,它将计算机网络分为资源子网和通信子网,如图1-5所示。
& && && && && && && && && && && && && && && && && && && && && && && &
& && &&&所谓通信子网一般由通信设备、网络介质等物理设备所构成(就是虚线所连接的部分,如图1-4所示);而资源子网的主体为网络资源设备,如:服务器、用户计算机(终端机或工作站)、网络存储系统、网络打印机、数据存储设备(虚线以外的设备)等。在现代的计算机网络中资源子网和通信子网也是必不可少的部分,通信子网为资源子网提供信息传输服务,而且资源子网上用户间的通信是建立在通信子网的基础上的。没有通信子网,网络就不能工作,如果没有资源子网,通信子网的传输也就失去了意义,两都结合起来组成了统一的资源共享网络。
& && && &第二代网络应用的是网络分组交换技术进行对数据远距离传输。分组交换是主机利用分组技术将数据分成多个报文,每个数据报自身携带足够多的地址信息,当报文通过节点时暂时存储并查看报文目标地址信息,运用路由算选择最佳目标传送路径将数据传送给远端的主机,从而完成数据转发。
& && &&&20世纪80年代是计算机局域网络的发展的盛行的时期。当时采用的是具有统一的网络体系结构并遵守国际标准的开放式和标准化的网络,它是网络发展的第三代阶段。
& && &&&在第三代网络出现以前网络是无法实现不同厂家设备互连的,早期,各厂家为了霸占市场,各厂家采用自己独特的技术并开发了自己的网络体系结构,当时,IBM发布的SNA(System&&Network Architecture,系统网络体系统结构)和DEC公司发布的DNA(Digital Network Architecture,数字网络体系统结构)。不同的网络体系结构是无法互连的,所以不同厂家的设备无法达到互连,即使是同一家产品在不同时期也是无法达到互连的,这样就阻碍了大范围网络的发展。后来,为了实现网络大范围的发展和不同厂家设备的互连,1977年国际标准化组织ISO(International Organization for Standardization,ISO)提出一个标准框架——OSI(Open System Interconnection/ Reference Model,开放系统互连参考模型)共七层。1984年正式发布了OSI,使厂家设备、协议达到全网互连。
& && &&&进入20世纪90年代后至今都是属于第四代计算机网络,第四代网络是随着数字通信出现和光纤的接入而产生的,其特点:网络化、综合化、高速化及计算机协同能力。同时,快速网络接入Internet的方式也不断地诞生如: ISDN、ADSL、DDN、FDDI和ATM网络等。
以上内容属于转载,希望大家共同学习~~下面再来一个无线网络的
新手上路, 积分 2, 距离下一级还需 48 积分
论坛徽章:1
好吧也是摘入的,介绍的还是很细的~~
无线网络的发展史
  无线网络的初步应用,可以追朔到五十年前的第二次世界大战期间,当时美国陆军采用无线电信号做资料的传输。他们研发出了一套无线电传输科技,并且采用相当高强度的加密技术,得到美军和盟军的广泛使用。他们也许没有想到,这项技术会在五十年后的今天改变我们的生活。许多学者从中得到灵感,在 1971年时,夏威夷大学的研究员创造了第一个基于封包式技术的无线电通讯网络。这被称作ALOHNET的网络,可以算是相当早期的无线局域网络 (WLAN)。它包括了7台计算机,它们采用双向星型拓扑横跨四座夏威夷的岛屿,中心计算机放置在瓦胡岛上。从这时开始,无线网络可说是正式诞生了。
  1990年,IEEE正式启用了802.11项目,无线网络技术逐渐走向成熟, IEEE802.11(WIFI)标准诞生以来,先后有802.11a和802.11b,802.11g,802.11e,802.11f,802.11h,802.11i,802.11j等标准制定或者酝酿,现在,为实现高宽度、高质量的WLAN服务,802.11n也即将横空出世。
  2003年以来,无线网络市场热度迅速飙升,已经成为IT市场中新的增长亮点。由于人们对网络速度及方便使用性的期望越来越大,于是与电脑以及移动设备结合紧密的WiFi、CDMA/GPRS、蓝牙等技术越来越受到人们的吹捧。于此同时,在相应配套产品大量面世之后,构建无线网络所需要的成本下降了,一时间,无线网络已经成为我们生活的主流。
  什么是WIFI?
  Wi-Fi为IEEE定义的一个无线网络通信的工业标准(IEEE802.11)。 Wi-Fi第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层。物理层定义了工作在2.4GHz的ISM频段上的两种无线调频方式和一种红外传输的方式,总数据传输速率设计为2Mbits。两个设备之间的通信可以自由直接(ad hoc)的方式进行,也可以在基站(Base Station, BS)或者访问点(Access Point,AP)的协调下进行。
  Wi-Fi联盟
  1999年工业界成立了Wi-Fi联盟,致力解决符合802.11标准的产品的生产和设备兼容性问题。WIFI联盟其实也是Intel公司及其它公司联合组成的联盟,目的就是促进802.11无线技术的普及和市场化。该联盟有一项WIFI无线网络认证,通过该认证的产品,可以顺利的组建无线网络,并与其他通过该认证的无线局域网相兼容。
  目前的常见标准:
  1、IEEE 802.11a :它是802.11b无线联网标准的后续标准。它工作在5GHzU-NII频带,物理层速率可达54Mb/s,传输层可达25Mbps。可提供 25Mbps的无线ATM接口和10Mbps的以太网无线帧结构接口,以及TDD/TDMA的空中接口;支持语音、数据、图像业务;一个扇区可接入多个用户,每个用户可带多个用户终端,与802.11b不兼容。
  2、IEEE 802.11b :使用的是开放的2.4GB频段,无线局域网的传输速度最高可达11Mbps,当射频情况变差时,降低数据传输速率为5.5Mbps、2Mbps和 1Mbps,无须直线传播既可作为对有线网络的补充,也可独立组网,从而使网络用户摆脱网线的束缚,实现真正意义上的移动应用。
  3、IEEE 802.11g :802.11b的继任者,在802.11b所使用的相同的2.4GHz频段上提供了最高54Mbps的数据传输率。
  但是目前,为了实现高带宽、高质量的WLAN服务,使无线局域网达到以太网的性能水平,802.11n应运而生。
  802.11n:可将WLAN的传输速率提供到300Mbps甚至高达600Mbps。在兼容性方面,802.11n不但能实现802.11n向前后兼容,而且可以实现WLAN与无线广域网络的结合,比如3G。
  相应的,无线网络的传输速度也将从原来的11Mbps,54 Mbps,108 Mbps节节提高, 802.11n计划推出后,将会使WLAN的传输速度从802.11a和802.11g的54 Mbps增加至108 Mbps以上,最高速率可达到300 Mbps,使大家在使用无线网络的时候,享受飞一般的速度。自从WIFI标准确立以来,每家企业都为了达到速度更高、传输更快、范围更广而进行着激烈的竞争,由此产生的802.11b+、802.11g+等技术延伸,于是速度也将无限的延伸下去,变得越来越快。
  无线发展前景广阔
  伴随着迅驰的推出,越来越多的上网用户选择无线网络,无线上网不但可以解决上班族随时随地畅游互联网的梦想,更能及时方便的解决有线上网存在的问题,实在是好处多多。调查称,2010年有57%的笔记本将应用蓝牙与UWB技术,这将是继迅驰之后对无线网络发展的又一大催化剂。
  超宽带(UWB)技术始于20世纪60年代兴起的脉冲通信技术,利用频谱极宽的超短脉冲进行通信,又称为基带通信、无载波通信,主要用于军用雷达、定位和通信系统中。该技术是一种新颖的无线通信方式,作为短距离无线高速数据传输的一种解决方案。
  越来越多的配合技术的产生,表明无线的发展已经开枝散叶,这种实实在在的网络应用,逐步褪却了时尚的外表,而真正的达到了实际应用的高度。面对无线网络的应用者,部署无线网络的关键在于良好的规划和应用,只有充分考虑到实际需要无线网络部署和周密的网络规划与应用设置才能最大限度地发挥无线网络的优势。
  速度进化论:
  说起无线网络的速度,我们都经历过11M、54M、108的时候,每一次速度的提升,我们都认为是无线网络一个新的开始,现在,802.11n带领我们进入到300M的速率,无线网络带给我们的已经是飞一般的速度。
  802.11a
  802.11a标准是已在办公室、家庭、宾馆、机场等众多场合得到广泛应用的802.11b无线联网标准的后续标准。它工作在5GHzU- NII频带,物理层速率可达54Mb/s,传输层可达25Mbps。可提供25Mbps的无线ATM接口和10Mbps的以太网无线帧结构接口,以及 TDD/TDMA的空中接口;支持语音、数据、图像业务;一个扇区可接入多个用户,每个用户可带多个用户终端。
  802.11的第二个分支被指定为802.11a。承受着风险将802.11带入了不同的频带——5.2GHzU-NII频带,并被指定高达 54Mbps的数据速率。与单个载波系统802.11b不同,802.11a运用了提高频率信道利用率的正交频率划分多路复用(OFDM)的多载波调制技术。由于802.11a运用5.2GHz射频频谱,因此它与802.11b或最初的802.11WLAN标准均不能进行互操作。
  802.11b
  IEEE 802.11b无线局域网的带宽最高可达11Mbps,比两年前刚批准的IEEE 802.11标准快5倍,扩大了无线局域网的应用领域。另外,也可根据实际情况采用5.5Mbps、2 Mbps和1 Mbps带宽,实际的工作速度在5Mb/s左右,与普通的10Base-T规格有线局域网几乎是处于同一水平。作为公司内部的设施,可以基本满足使用要求。IEEE 802.11b使用的是开放的2.4GB频段,不需要申请就可使用。既可作为对有线网络的补充,也可独立组网,从而使网络用户摆脱网线的束缚,实现真正意义上的移动应用。
  IEEE 802.11b无线局域网与我们熟悉的IEEE 802.3以太网的原理很类似,都是采用载波侦听的方式来控制网络中信息的传送。不同之处是以太网采用的是CSMA/CD(载波侦听/冲突检测)技术,网络上所有工作站都侦听网络中有无信息发送,当发现网络空闲时即发出自己的信息,如同抢答一样,只能有一台工作站抢到发言权,而其余工作站需要继续等待。如果一旦有两台以上的工作站同时发出信息,则网络中会发生冲突,冲突后这些冲突信息都会丢失,各工作站则将继续抢夺发言权。而802.11b无线局域网则引进了冲突避免技术,从而避免了网络中冲突的发生,可以大幅度提高网络效率。
  802.11g
  802.11b的继任者,在802.11b所使用的相同的2.4GHz频段上提供了最高54Mbps的数据传输率。
  从技术角度上看,802.11g的高速来源于“正交频分多路复用(OFDM)技术的模块设计,这个技术与802.11a所使用的技术相同。事实上早在1999年,OFDM技术就曾被提出应用在802.11b标准中,由于当时FCC禁止在2.4GHz频段中使用OFDM,因此802.11b转向使用了“互补码移位键”(CCK)的模块设计。直至2001年5月FCC解除此限令,OFDM才得以在802.11g标准中大显身手,从而实现2.4GHz 频段WLAN的高速传输率。
  OFDM技术实质上是MCM(Multi Carrier Modulation,多载波调制)的一种,其原理是:将无线信道分成若干正交子信道,然后将高速的数据信号,转换成并行的低速子数据流,并调制到每个子信道上进行传输。同时在接收端,OFDM也采用了类似的方法,将正交信号分开,从而减少子信道之间的相互干扰,信道的均衡性也更加容易实现。由于OFDM 允许每个频带可以有不同的调制方法,因而可以增加子载波的数目,从而大大提高数据的传输速率。
  300M应声而起 11N迅速抢滩
  不用再说无线网的发展有多快,不用再说300M的势头多强劲,也不用再说11N在我们生活中的位置有多重要,我们已经深刻体会到,不知不觉中,802.11n的时代已经到来。
  为了实现高带宽、高质量的WLAN服务,使无线局域网达到以太网的性能水平,802.11n应运而生。其好处不言而喻,虽然正式标准没有出台,但是众多802.11n的产品已经开始大幅度占领了无线网络设备市场。大家如此看好802.11n,是因为它得天独厚的优势。
  在传输速率方面,802.11n可以将WLAN的传输速率由目前802.11a及802.11g提供的54Mbps、108Mbps,提供到 300Mbps甚至高达600Mbps。得益于将MIMO(多入多出)与OFDM(正交频分复用)技术相结合而应用的MIMO OFDM技术,提高了无线传输质量,也使传输速率得到极大提升。
  在覆盖范围方面,802.11n采用智能天线技术,通过多组独立天线组成的天线阵列,可以动态调整波束,保证让WLAN用户接收到稳定的信号,并可以减少其它信号的干扰。因此其覆盖范围可以扩大到好几平方公里,使WLAN移动性极大提高。
  在兼容性方面,802.11n采用了一种软件无线电技术,它是一个完全可编程的硬件平台,使得不同系统的基站和终端都可以通过这一平台的不同软件实现互通和兼容,这使得WLAN的兼容性得到极大改善。这意味着WLAN将不但能实现802.11n向前后兼容,而且可以实现WLAN与无线广域网络的结合,比如3G。
  2008年,企业级WLAN可能会出现大规模网络建设和升级现象,至少对于移动性已成为一种需求而不仅仅是一种便利手段的企业来说会是如此。随着无线网络技术在中国的日益成熟,无线网络已被越来越多的企业用户所接受。无线网络在各方面的发展,达到了企业用户对使用无线网络全方位的需求。从日常办公环境到跨地区的网络互联,无线网络都扮演着重要的角色。无线网络的引入,为企业提供了一种新型的网络应用平台,为企业创建了无线自由的工作空间。
  而推动这一现象发生的原因,就是基于IEEE 802.11n标准的WLAN产品的问世。有些企业已经开始将符合这一标准的产品纳入了它们的无线规划,还有些企业正在寻求在未来的一年中大规模地部署或升级WLAN,它们迫切地需要对11n产品的适用性进行评估,看其是否能够像该标准声称的那样,实现300Mbps的数据传输率,以及 150Mbps~180Mbps的吞吐量。
  为了实现高带宽、高质量的WLAN服务,使无线局域网达到以太网的性能水平,802.11n应运而生。802.11n可将WLAN的传输速率提供到300Mbps甚至高达600Mbps。在兼容性方面,802.11n不但能实现802.11n向前后兼容,而且可以实现WLAN与无线广域网络的结合,比如3G。
  相应的,无线网络的传输速度也将从原来的11Mbps,54 Mbps,108 Mbps节节提高, 802.11n计划推出后,将会使WLAN的传输速度从802.11a和802.11g的54 Mbps增加至108 Mbps以上,最高速率可达到300 Mbps,使大家在使用无线网络的时候,享受飞一般的速度。
  与传统的、最大数据传输率为54Mbps、吞吐量仅为这一速率一半都不到的WLAN设备相比,至少有一部分企业是愿意为性能翻番的11n设备支付更高价格的。另外,业界一般也都认为,采用准11n标准的产品在正式标准出台之后,可以通过软件升级来实现可能的变动。
  与吞吐量的大幅提高同样重要的,是更高的可靠性、更为一致的连接性,以及更好的性能,这些改进主要是因为11n采用了先进的MIMO技术。11n在可靠性方面的提升,使得企业能够放心地依赖WLAN作为接入网络的主要途径。
  不过,WLAN仍然有很多问题需要解决。在某些情形下,采用11n将会要求企业增加支持千兆以太网的边缘交换机的数量。而要充分实现11n的高容量,企业还必须把现有的以太网供电基础设施升级到新的802.3at标准。某些厂商的WLAN管理软件有可能会滞后于新硬件的发布,这也是短期内即将出现的棘手问题。
  总体而言,采用11n标准要求企业的IT主管们更加系统、全面地考虑整个网络部署,并且需要提前做好规划。
  2007年年初,一些WLAN厂商开始发布符合11n草案标准的无线接入点和控制器时,曾经让业界吃惊不小,然而到了2007年年底,差不多所有的WLAN厂商均已推出或者发布了11n产品,其中包括Meru、Bluesocket、Aruba、Xirrus和思科等。Wi-Fi联盟也已在 2007年夏季开始了基于11n标准草案产品的互操作性测试。
  据Burton集团分析师在一份引起争议的报告中称,11n产品在带宽分享、抖动、延时和其他数据上是“足够优秀的”,足以担当起绝大多数企业用户接入网络的主要角色。关键的问题是:对于特定的企业来说,移动性对它究竟有多重要?如果移动性确实重要,那么11n完全可以提供满足客户大多数应用需求所需的性能和功能。
  无线的关键在于应用,它不是时尚,而是实实在在的网络应用。企业部署无线网络的关键在于良好的规划和应用,只有充分考虑到企业实际需要的无线网络部署和周密的网络规划与应用设置才能最大限度地发挥无线网络的优势。
金牌会员, 积分 2704, 距离下一级还需 296 积分
论坛徽章:20
本帖最后由 赵文超 于
02:56 编辑
多核革命 AMD首席技术官帮你解密CPU
本文的主题是“即将到来的多核革命,对处理器领域的期望、风险及影响”,顾名思义,既可以看作是对如今多核处理器的意义做出解释,也可以看作试图从多种不同角度让人了解多核处理器的作用的一种期望。我们更倾向于后一种方式,因为随着时间的推移,多核处理器将在计算行业的转型中扮演不同的重要角色。
高级会员, 积分 761, 距离下一级还需 239 积分
论坛徽章:4
容量与速度 浅谈HDD/SSHD/SSD发展趋势
机械硬盘:机械硬盘我们就不需要过多介绍,自1956年出现,其容量在不断提升,体积在不断减少,作为目前主要的存储工具,虽然面对固态硬盘的强力攻势,机械硬盘仍一直坚挺着,虽然目前价格方面优势在减小,但高容量的存储空间还是固态硬盘无法匹敌的。
   混合硬盘:是机械硬盘与闪存集成到一起的硬盘。原理与“Ready Boost”功能相似,都是通过增加高速闪存来进行资料预读取(Prefetch),以减少从硬盘读取资料的次数,从而提高性能。不同的是,混合硬盘将闪存模块直接整合到硬盘上,对比一下,就会发现新一代的混合硬盘不仅能提供更佳的性能,还可减少硬盘的读写次数,从而使硬盘耗电量降低,特别是使笔记本电脑的电池续航能力提高。同时混合硬盘亦采用传统磁性硬盘的设计,因此没有固态硬盘容量小的不足。目前通常使用的闪存是NAND闪存。混合硬盘是处于磁性硬盘和固态硬盘中间的一种解决方案。
   固态硬盘:SSD固态硬盘采用闪存作为存储介质,读取速度相对机械硬盘更快,寻道时间几乎为0,这样的特质在作为系统盘时候,可以明显加快操作系统启动速度和软件启动速度。抗震性能方面:SSD固态硬盘由于完全没有机械结构,所以不怎么怕震动和冲击,不用担心因为震动造成无可避免的数据损失。发热功耗方面:SSD固态硬盘不同于传统硬盘,不存在盘片的高速旋转,所以发热也明显低于机械硬盘,而且FLASH芯片的功耗极低,这对于笔记本用户来说,这意味着电池续航时间的增加。
机械硬盘发展形势与趋势
& & 碍于结构组成问题,机械硬盘已然放弃了在性能上追赶SSD,只可以在容量上进一步扩大优势,今年各家硬盘厂商的5TB/6TB容量产品悄然入市,希捷、西数、HGST纷纷拿出6TB产品,在九月初,HGST甚至公开了自家首款10TB硬盘。该硬盘使用充氦技术,并实现了新的存储技术“叠瓦式磁记录”(SMR),单碟容量很有可能在1.4TB到2TB之间。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 当然,此款硬盘目前还没有上市,不过Vincent Chen表示,这款10TB硬盘的具体量产时间为2015年第一季度,目前只不过是在出样阶段而已,真正能用上它还需要再等一段时间。按照惯例来说,HGST这款10TB产品出货以后应该暂时只面向OEM领域,几个月以后才会出现在消费市场上。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 而继纵向记录(Longitudinal Recording)技术与纵向记录(Longitudinal Recording)技术之后,随着SMR技术、热辅助磁记录技术、纳米技术、氦气填充技术的飞速发展,很快硬盘到达60TB甚至更高都不是梦想,所以机械硬盘在容量之路上还会继续前行,甩开与固态硬盘之间的差距,保持住自己的优势。
混合硬盘发展形势与趋势
   混合硬盘在发展之初备受关注,在当时固态硬盘价格非常昂贵,这种结合了闪存与机械硬盘的混合产品让人们感受到了“既跑得快,容量也大”的优势。在混合硬盘领域,希捷的市场份额和销量最多,但混合硬盘并非只有希捷在做。目前机械硬盘的四大巨头--希捷、西数、HGST、东芝均涉足混合硬盘。其中希捷和西数的混合硬盘面向消费级零售市场,HGST、东芝主要面向OEM领域。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 不过慢慢的随着固态硬盘价格的速度下调,混合硬盘的声音也越来越小,生存压力越来越大。有段时间甚至感觉已经渐渐让人淡忘,但是......今年九月,希捷宣布其固态混合硬盘(SSHD)的出货量已突破1000万。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 这个消息突然让人再次关注混合硬盘,希捷表示全球各大PC制造商对我们SSHD产品的需求在不断增长,一体机和笔记本中常常可以看到它们的身影,不过消费级中,人们装机的首选却往往没有它,究其原因还是性价比方面,固态硬盘近两年的强势崛起,价格下调,让混合硬盘生存压力倍增,想要挽回局面,混合硬盘需要在性价比方面下大工夫,加快产品速度,这样才可以再未来继续占有自己的一席之地。
固态硬盘发展形势与趋势
   固态硬盘今年的表现可谓最为抢眼,不管是容量提升速度还是价格下调速度,都在高速前进着,今年256GB容量的SSD最低已经降至500元左右的价位,这在过去是不可想象的,容量方面美国Foremay公司日前更是宣布推出了容量达到8TB的新品。在未来,随着3D堆叠闪存技术的进步,更高容量也是指日可待。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& &SSD的组成部分包括NAND闪存、PCB板、主控芯片,缓存颗粒等,而左右SSD价格的最主要关键,仍然在于NAND闪存,所以目前各家固态硬盘制造商都在加重力度用TLC架构逐步取代现有的MLC架构,成为下一世代SSD的主流晶片架构。当前做的最好的就是三星,其多款产品都是基于TLC闪存完成,近期Intel也表示已经在设计TLC版本产品,随着Intel的加入,相信固态硬盘普及之路已经更近。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 固态硬盘出现的目的就在于满足消费者对于硬碟读写速度的挑剔,目前影响固态硬盘发展的最大制约也就在于此,也就是SATA接口对固态硬盘速度的制约,接口提升至SATA 3,尽管传输速率已达6Gb/s,消费者却依然期待着硬盘速度能再有更大的突破。因此PCIe接口已经成为当下固态硬盘速度提升的最好途径,针对PCIe介面,Marvell推出第二代双通道的SSD控制晶片,传输效率可达每秒1GB,让SSD制造商能以接近SATA SSD的价格,制造PCIe介面SSD产品。除了Marvell,Intel也在大力推进PCIe/NVMe标准化,在过去数届的IDF大会上,英特尔都会有技术课程来介绍PCIe/NVMe作为固态硬盘接口的优势和发展进程。而在PCIe/NVMe标准的制定、驱动生态系统的完善以及产品和技术的优化方面,英特尔都发挥了不可替代的作用。今年,英特尔更是新发三款SSD 推动PCIe/NVMe固态硬盘发展。
容量与速度 浅谈HDD/SSHD/SSD发展趋势
& & 在未来,随着固态硬盘高速度的优势越来越明显,而容量的提升与价格的下调,将让其真正成为硬盘的王者,相信大家都很期待这一天的到来。■
高级会员, 积分 963, 距离下一级还需 37 积分
论坛徽章:5
CPU, I/O 发展简史
1. IBM PC&&XT&&架构
计算机中 I/O&&与 CPU RAM 最初的形态是全部通过一根总线相连的,
从线程并发中的临界资源的角度来看,这个 总线就相当于被 CPU,RAM,
I/O 三个子模块所共享的 临界资源,所以在使用的时候,
需要以独占的方式来把总线的使用权给加锁,所以这种体系结构并不高效。
因为 CPU 的处理速度和 I/O 的并不是在一个级别上的,
每当 CPU 处理任务需要请求使用总线的时候,先检查是否其他模块占用了总线,
如果此时 I/O 占用了总线,那么 CPU 就需要等待相当长的
一段时间才能够获取总线资源&&(类似于 I/O 子系统拉低了平均智商一样)
2. 康柏 的总线切分思想
1987 康柏(Compaq) 将系统总线与 IO 总线切分开来,使得 2 种不同的总线工作在不同的时钟频率之上。
这一举动也为后续的南桥北桥的发展奠定了重要的基础。
两条总线中间实质上是有一个分频器,这个分频器用来将高倍频的使用频率从 16MHz 降到 8 MHz
使用频率低的为 I/O 子系统所用
3. Intel 引入 CPU 倍频概念,大幅度提升 CPU 的频率
我们都知道 CPU 的主频 = 外频(系统总线频率) * 倍频 ,既然系统总线频率无法提高,
那么可以通过为 CPU 安插一个 Clock doubler 来提升其倍频从而增大 CPU 的主频。
4. 南北桥架构的出现
用于解决系统子模块运行速率不匹配的一个主要思想就是,
将低频模块与高频模块划分在不同的区域中,不同的区域配备不同频率的总线,
而南北桥的设计思想便将其发挥到了极致。
通过切割总线,并且隔离到不同区域的方法。
我们再来仔细看一下南北桥架构的前身,就会发现,南桥的前身便是原架构中的使用低频总线I/O 子模块,
它在南北桥架构中,作为南桥通过内存总线与内存相连接。
而北桥的前身便是高频的cpu 、ram 子模块,在北桥芯片中CPU 被隔离出来通过系统总线(前端总线)
与 北桥芯片相连。
系统总线数据传输率 & 内存总线
中级会员, 积分 261, 距离下一级还需 239 积分
论坛徽章:4
全闪存阵列
全闪存阵列,又称为固态阵列 (SSA),是一种包含多个固态磁盘 (SSD)(而不是旋转式硬盘驱动器)的企业存储阵列。与传统旋转式磁盘相比,闪存存储的性质允许大幅提升数据传输速度。全闪存阵列为下一代业务应用程序奠定基础。
为什么要考虑使用全闪存阵列?
除了性能上的提升外,全闪存阵列还提供高级数据服务,而旋转式介质则不提供。这些数据服务有可能改变核心业务流程,支持业务分析并实现应用程序敏捷性,而这些是传统存储无法做到的。
并非所有阵列都是生而平等的。即使是听起来相同的特性在功能方面也会有很大的差异:采用固态体系结构方法构建全闪存阵列具有更高的性能、敏捷性、可扩展性和可靠性。它们通过利用只在内存中驻留和执行的高级数据服务(如内联式重复数据消除、压缩和快照元数据管理)来实现这一点。这些数据服务是从根本上改变存储利用方式的关键。
全闪存阵列是如何工作的?
闪存技术本身是一个要素,它可以通过多种方式使用,包括将存储阵列转换为闪存。在混合阵列中,使用闪存驱动器可以大幅减少系统中的驱动器数量,因而用户主要是利用它来降低大规模存储系统的成本。在第一代全闪存阵列中,闪存驱动器用于提供可靠的低延迟性能。不过,在第二代全闪存阵列中,闪存驱动器和内联式数据服务(如重复数据消除、压缩和快照)一起使用,以提供简单、低成本的多工作负载存储平台,后者能够为关键业务应用程序实现更高的敏捷性和性能。
全闪存阵列的优势是什么?
利用专门构建的闪存体系结构,您可以从根本上改变使用存储的方式。当您跨数据中心释放出闪存的全部业务价值时,工作负载整合、动态资源调配、生产和测试/开发存储整合等等现在都将成为真正的可能。对于您的 VDI、虚拟服务器、数据库、分析及其他应用程序,您可以期待在一致且可预测的性能、大规模可扩展性以及极具优势的总体拥有成本方面实现更多突破。
注册会员, 积分 73, 距离下一级还需 127 积分
论坛徽章:3
机械硬盘:机械硬盘我们就不需要过多介绍,自1956年出现,其容量在不断提升,体积在不断减少,作为目前主要的存储工具,虽然面对固态硬盘的强力攻势,机械硬盘仍一直坚挺着,虽然目前价格方面优势在减小,但高容量的存储空间还是固态硬盘无法匹敌的。
   混合硬盘:是机械硬盘与闪存集成到一起的硬盘。原理与“Ready Boost”功能相似,都是通过增加高速闪存来进行资料预读取(Prefetch),以减少从硬盘读取资料的次数,从而提高性能。不同的是,混合硬盘将闪存模块直接整合到硬盘上,对比一下,就会发现新一代的混合硬盘不仅能提供更佳的性能,还可减少硬盘的读写次数,从而使硬盘耗电量降低,特别是使笔记本电脑的电池续航能力提高。同时混合硬盘亦采用传统磁性硬盘的设计,因此没有固态硬盘容量小的不足。目前通常使用的闪存是NAND闪存。混合硬盘是处于磁性硬盘和固态硬盘中间的一种解决方案。
   固态硬盘:SSD固态硬盘采用闪存作为存储介质,读取速度相对机械硬盘更快,寻道时间几乎为0,这样的特质在作为系统盘时候,可以明显加快操作系统启动速度和软件启动速度。抗震性能方面:SSD固态硬盘由于完全没有机械结构,所以不怎么怕震动和冲击,不用担心因为震动造成无可避免的数据损失。发热功耗方面:SSD固态硬盘不同于传统硬盘,不存在盘片的高速旋转,所以发热也明显低于机械硬盘,而且FLASH芯片的功耗极低,这对于笔记本用户来说,这意味着电池续航时间的增加。
新手上路, 积分 4, 距离下一级还需 46 积分
论坛徽章:2
说说IO(一)-IO的分层 IO 性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到 IO 。而 IO 性能的发展,明显落后于 CPU 的发展。 Memchached 也好, NoSql 也好,这些流行技术的背后都在直接或者间接地回避 IO 瓶颈,从而提高系统性能。
IO 系统的分层:file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png1.三层结构上图层次比较多,但总的就是三部分。磁盘 (存储)、 VM (卷管理)和文件系统 。专有名词不好理解,打个比方说:磁盘就相当于一块待用的空地; LVM 相当于空地上的围墙(把空地划分成多个部分);文件系统则相当于每块空地上建的楼房(决定了有多少房间、房屋编号如何,能容纳多少人住);而房子里面住的人,则相当于系统里面存的数据。
文件系统—数据如何存放?
对应了上图的 File System 和 BufferCache 。
File System (文件系统):解决了空间管理的问题 ,即:数据如何存放、读取。
Buffer Cache :解决数据缓冲的问题。对读,进行 cache ,即:缓存经常要用到的数据;对写,进行buffer ,缓冲一定数据以后,一次性进行写入。
VM —磁盘空间不足了怎么办?
对应上图的 Vol Mgmt 。
VM 其实跟 IO 没有必然联系。他是处于文件系统和磁盘(存储)中间的一层。 VM 屏蔽了底层磁盘对上层文件系统的影响 。当没有 VM 的时候,文件系统直接使用存储上的地址空间,因此文件系统直接受限于物理硬盘,这时如果发生磁盘空间不足的情况,对应用而言将是一场噩梦,不得不新增硬盘,然后重新进行数据复制。而 VM 则可以实现动态扩展,而对文件系统没有影响。另外, VM 也可以把多个磁盘合并成一个磁盘,对文件系统呈现统一的地址空间,这个特性的杀伤力不言而喻。存储—数据放在哪儿?如何访问?如何提高IO 速度?
对应上图的 Device Driver 、 IOChannel 和 Disk Device
数据最终会放在这里,因此,效率、数据安全、容灾是这里需要考虑的问题。而提高存储的性能,则可以直接提高物理 IO的性能
2. Logical IO vs Physical IO逻辑 IO 是操作系统发起的 IO ,这个数据可能会放在磁盘上,也可能会放在内存(文件系统的 Cache )里。
物理 IO 是设备驱动发起的 IO ,这个数据最终会落在磁盘上。逻辑 IO 和物理 IO 不是一一对应的。
说说IO(二)- IO模型这部分的东西在网络编程经常能看到,不过在所有 IO 处理中都是类似的。IO 请求的两个阶段:l&&等待资源阶段 : IO 请求一般需要请求特殊的资源(如磁盘、 RAM 、文件),当资源被上一个使用者使用没有被释放时, IO 请求就会被阻塞,直到能够使用这个资源。l&&使用资源阶段 :真正进行数据接收和发生。举例说就是排队和服务。在等待数据阶段,IO 分为阻塞IO和非阻塞IO。2&&阻塞 IO :资源不可用时, IO 请求一直阻塞,直到反馈结果(有数据或超时)。2&&非阻塞 IO :资源不可用时, IO 请求离开返回,返回数据标识资源不可用在使用资源阶段, IO 分为同步 IO 和异步 IO 。Ø&&同步 IO :应用阻塞在发送或接收数据的状态,直到数据成功传输或返回失败。Ø&&异步 IO :应用发送或接收数据后立刻返回,数据写入 OS 缓存,由 OS 完成数据发送或接收,并返回成功或失败的信息给应用按照 Unix 的 5 个 IO 模型划分1.阻塞 IO2.非阻塞 IO3.IO 复用4.信号驱动的 IO5.异步 IO从性能上看,异步 IO 的性能无疑是最好的。各种 IO 的特点Ø&&阻塞IO :使用简单,但随之而来的问题就是会形成阻塞,需要独立线程配合,而这些线程在大多数时候都是没有进行运算的。 Java 的 BIO 使用这种方式,问题带来的问题很明显,一个 Socket 需要一个独立的线程,因此,会造成线程膨胀Ø&&非阻塞IO :采用轮询方式,不会形成线程的阻塞。 Java 的 NIO 使用这种方式,对比 BIO 的优势很明显,可以使用一个线程进行所有 Socket 的监听( select )。大大减少了线程数。Ø&&同步IO :同步 IO 保证一个 IO 操作结束之后才会返回,因此同步 IO 效率会低一些,但是对应用来说,编程方式会简单。 Java 的 BIO 和 NIO 都是使用这种方式进行数据处理。Ø&&异步IO :由于异步 IO 请求只是写入了缓存,从缓存到硬盘是否成功不可知,因此异步 IO 相当于把一个IO 拆成了两部分,一是发起请求,二是获取处理结果。因此,对应用来说增加了复杂性。但是异步 IO 的性能是所有很好的,而且异步的思想贯穿了 IT 系统放放面面。
说说IO(三)- IO性能的重要指标最重要的三个指标IOPSIOPS ,即每秒钟处理的 IO 请求数量。 IOPS 是随机访问类型业务( OLTP 类 )很重要的一个参考指标。一块物理硬盘能提供多少 IOPS ?从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间 (找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间 (读取数据的时间和返回的时间)。其中寻址时间是固定的(磁头定位到数据的存储的扇区即可),旋转时间受磁盘转速的影响,传输时间受数据量大小的影响和接口类型的影响(不用硬盘接口速度不同),但是在随机访问类业务中,他的时间也很少。因此,在硬盘接口相同的情况下, IOPS主要受限于寻址时间和传输时间。以一个 15K 的硬盘为例,寻址时间固定为 4ms ,传输时间为60s/=2ms ,忽略传输时间。 1000ms/6ms=167 个 IOPS 。OS 的一次 IO 请求对应物理硬盘一个 IO 吗?在没有文件系统、没有 VM (卷管理)、没有 RAID 、没有存储设备的情况下,这个答案还是成立的。但是当这么多中间层加进去以后,这个答案就不是这样了。物理硬盘提供的 IO 是有限的,也是整个 IO 系统存在瓶颈的最大根源。所以,如果一块硬盘不能提供,那么多块在一起并行处理,这不就行了吗?确实是这样的。可以看到,越是高端的存储设备的 cache 越大,硬盘越多,一方面通过cache 异步处理IO ,另一方面通过盘数增加,尽可能把一个OS 的IO 分布到不同硬盘上,从而提高性能 。文件系统则是在 cache 上会影响,而 VM则可能是一个 IO 分布到多个不同设备上( Striping )。
所以,一个 OS 的IO 在经过多个中间层以后,发生在物理磁盘上的IO 是不确定的。可能是一对一个,也可能一个对应多个 。IOPS 能算出来吗对单块磁盘的 IOPS 的计算没有没问题,但是当系统后面接的是一个存储系统时、考虑不同读写比例, IOPS 则很难计算,而需要根据实际情况进行测试。主要的因素有:存储系统本身有自己的缓存 。缓存大小直接影响 IOPS ,理论上说,缓存越大能 cache 的东西越多,在 cache 命中率保持的情况下, IOPS 会越高。
RAID 级别 。不同的 RAID 级别影响了物理 IO 的效率。读写混合比例 。对读操作,一般只要 cache 能足够大,可以大大减少物理 IO ,而都在 cache 中进行;对写操作,不论 cache 有多大,最终的写还是会落到磁盘上。因此, 100% 写的 IOPS 要越是小于100% 的读的 IOPS 。同时, 100% 写的 IOPS 大致等同于存储设备能提供的物理的 IOPS 。一次IO 请求数据量的多少。一次读写 1KB 和一次读写 1MB ,显而易见,结果是完全不同的。
当时上面 N 多因素混合在一起以后, IOPS 的值就变得扑朔迷离了。所以,一般需要通过实际应用的测试才能获得。IO Response Time即 IO 的响应时间。 IO 响应时间是从操作系统内核发出一个 IO 请求到接收到 IO 响应的时间。因此, IO Response time 除了包括磁盘获取数据的时间,还包括了操作系统以及在存储系统内部 IO 等待的时间。一般看,随 IOPS 增加,因为 IO 出现等待, IO 响应时间也会随之增加。对一个 OLTP 系统, 10ms 以内的响应时间,是比较合理的。下面是一些 IO 性能示例:l&&一个8K 的 IO 会比一个 64K 的 IO 速度快 ,因为数据读取的少些。l&&一个64K 的 IO 会比 8 个 8K 的 IO 速度快,因为前者只请求了一个 IO 而后者是 8 个 IO 。l&&串行IO 会比随机 IO 快 ,因为串行 IO 相对随机 IO 说,即便没有Cache ,串行 IO 在磁盘处理上也会少些操作。
需要注意, IOPS 与 IO Response Time 有着密切的联系。一般情况下, IOPS 增加,说明 IO 请求多了,IO Response Time 会相应增加。但是会出现 IOPS 一直增加,但是 IO Response Time 变得非常慢,超过 20ms 甚至几十 ms ,这时候的 IOPS 虽然还在提高,但是意义已经不大,因为整个 IO 系统的服务时间已经不可取。Throughput为吞吐量。这个指标衡量标识了最大的数据传输量。如上说明,这个值在顺序访问或者大数据量访问的情况下会比较重要。尤其在大数据量写的时候。
吞吐量不像 IOPS 影响因素很多,吞吐量一般受限于一些比较固定的因素,如:网络带宽、 IO 传输接口的带宽、硬盘接口带宽等。一般他的值就等于上面几个地方中某一个的瓶颈。一些概念IO Chunk Size即单个 IO 操作请求数据的大小。一次 IO 操作是指从发出 IO 请求到返回数据的过程。 IO Chunk Size 与应用或业务逻辑有着很密切的关系。比如像 Oracle 一类数据库,由于其 block size 一般为 8K ,读取、写入时都此为单位,因此, 8K 为这个系统主要的 IO Chunk Size 。 IOChunk Size小,考验的是 IO 系统的 IOPS 能力; IO Chunk Size 大,考验的时候 IO 系统的 IO 吞吐量。Queue Deep熟悉数据库的人都知道, SQL 是可以批量提交的,这样可以大大提高操作效率。IO 请求也是一样, IO 请求可以积累一定数据,然后一次提交到存储系统,这样一些相邻的数据块操作可以进行合并,减少物理 IO 数。而且Queue Deep 如其名,就是设置一起提交的 IO 请求数量的。一般 Queue Deep 在 IO 驱动层面上进行配置。
Queue Deep 与 IOPS 有着密切关系。 Queue Deep 主要考虑批量提交 IO 请求,自然只有 IOPS 是瓶颈的时候才会有意义,如果 IO 都是大 IO ,磁盘已经成瓶颈,Queue Deep 意义也就不大了。一般来说, IOPS 的峰值会随着 Queue Deep 的增加而增加 ( 不会非常显著 ) , Queue Deep 一般小于256 。随机访问(随机IO )、顺序访问(顺序IO )随机访问的特点是每次 IO 请求的数据在磁盘上的位置跨度很大(如:分布在不同的扇区),因此 N个 非常小的 IO 请求(如: 1K ),必须以 N 次 IO 请求才能获取到相应的数据。
顺序访问的特点跟随机访问相反,它请求的数据在磁盘的位置是连续的 。当系统发起 N个 非常小的 IO 请求(如: 1K )时,因为一次IO 是有代价的,系统会取完整的一块数据(如 4K 、 8K ),所以当第一次 IO 完成时,后续 IO 请求的数据可能已经有了。这样可以减少 IO 请求的次数。这也就是所谓的预取。
随机访问和顺序访问同样是有应用决定的。如数据库、小文件的存储的业务,大多是随机 IO 。而视频类业务、大文件存取,则大多为顺序 IO 。选取合理的观察指标:以上各指标中,不用的应用场景需要观察不同的指标,因为应用场景不同,有些指标甚至是没有意义的。随机访问和IOPS : 在随机访问场景下, IOPS 往往会到达瓶颈,而这个时候去观察 Throughput ,则往往远低于理论值。顺序访问和Throughput :在顺序访问的场景下, Throughput 往往会达到瓶颈(磁盘限制或者带宽),而这时候去观察 IOPS ,往往很小。说说IO(四)- 文件系统file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image003.pngfile:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png文件系统各有不同,其最主要的目标就是解决磁盘空间的管理问题,同时提供高效性、安全性。如果在分布式环境下,则有相应的分布式文件系统。 Linux 上有 ext 系列,Windows 上有 Fat 和 NTFS 。如图为一个 linux 下文件系统的结构。
其中 VFS ( Virtual File System )是 Linux Kernel 文件系统的一个模块,简单看就是一个 Adapter ,对下屏蔽了下层不同文件系统之间的差异,对上为操作系统提供了统一的接口 .
中间部分为各个不同文件系统的实现。再往下是 BufferCache 和 Driver 。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg文件系统的结构各种文件系统实现方式不同,因此性能、管理性、可靠性等也有所不同。下面为 Linux Ext2 ( Ext3 )的一个大致文件系统的结构。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg
Boot Block 存放了引导程序。
Super Block 存放了整个文件系统的一些全局参数,如:卷名、状态、块大小、块总数。他在文件系统被mount 时读入内存,在 umount 时被释放。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png
上图描述了 Ext2 文件系统中很重要的三个数据结构和他们之间的关系。Inode: Inode 是文件系统中最重要的一个结构。如图,他里面记录了文件相关的所有信息,也就是我们常说的 meta 信息。包括:文件类型、权限、所有者、大小、 atime 等。 Inode 里面也保存了指向实际文件内容信息的索引。其中这种索引分几类:l&&直接索引:直接指向实际内容信息,公有 12 个。因此如果,一个文件系统 block size 为 1k ,那么直接索引到的内容最大为 12kl&&间接索引l&&两级间接索引l&&三级间接索引如图:file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image009.jpg
Directory 代表了文件系统中的目录,包括了当前目录中的所有Inode 信息。其中每行只有两个信息,一个是文件名,一个是其对应的 Inode 。需要注意, Directory 不是文件系统中的一个特殊结构,他实际上也是一个文件,有自己的Inode ,而它的文件内容信息里面,包括了上面看到的那些文件名和 Inode 的对应关系。如下图:file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image011.jpgData Block 即存放文件的时间内容块。 Data Block 大小必须为磁盘的数据块大小的整数倍,磁盘一般为 512 字节,因此Data Block 一般为 1K 、 2K 、 4K 。Buffer CacheBuffer& Cache虽然 Buffer 和 Cache 放在一起了,但是在实际过程中 Buffer 和 Cache 是完全不同了。 Buffer 一般对于写而言,也叫“缓冲区”,缓冲使得多个小的数据块能够合并成一个大数据块,一次性写入; Cache 一般对于读而且,也叫“缓存”,避免频繁的磁盘读取。如图为 Linux 的 free 命令,其中也是把 Buffer 和 Cache 进行区分,这两部分都算在了 free 的内存。
Buffer Cache
Buffer Cache 中的缓存,本质与所有的缓存都是一样,数据结构也是类似,下图为 VxSF 的一个 Buffer Cache 结构。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png
这个数据结构与 memcached 和Oracle SGA 的 buffer 何等相似。左侧的hash chain 完成数据块的寻址,上方的的链表记录了数据块的状态。Buffer vs Direct I/O文件系统的 Buffer 和 Cache 在某些情况下确实提高了速度,但是反之也会带来一些负面影响。一方面文件系统增加了一个中间层,另外一方面,当 Cache 使用不当、配置不好或者有些业务无法获取 cache 带来的好处时, cache 则成为了一种负担。l&&适合 Cache 的业务:串行的大数据量业务,如: NFS 、 FTP l&&不适合 Cache 的业务:随机 IO 的业务。如: Oracle ,小文件读取。块设备、字符设备、裸设备这几个东西看得很晕,找了一些资料也没有找到很准确的说明。
从硬件设备的角度来看,块设备就是以块(比如磁盘扇区)为单位收发数据的设备,它们支持缓冲和随机访问(不必顺序读取块,而是可以在任何时候访问任何块)等特性。块设备包括硬盘、CD-ROM和RAM盘。
字符设备则没有可以进行物理寻址的媒体。字符设备包括串行端口和磁带设备,只能逐字符地读取这些设备中的数据。
从操作系统的角度看(对应操作系统的设备文件类型的 b 和 c ),
# ls -l /dev/*lv
brw-------& & 1 root& && &system& && & 22,& &2 May 15 2007& &lv
crw-------& & 2 root& && &system& && & 22,& &2 May 15 2007& &rlv块设备能支持缓冲和随机读写即读取和写入时,可以是任意长度的数据。最小为1byte 。对块设备,你可以成功执行下列命令: dd if=/dev/zeroof=/dev/vg01/lv bs=1&&count=1 。即:在设备中写入一个字节。硬件设备是不支持这样的操作的(最小是 512 ),这个时候,操作系统首先完成一个读取(如 1K ,操作系统最小的读写单位,为硬件设备支持的数据块的整数倍),再更改这 1k 上的数据,然后写入设备。字符设备只能支持固定长度数据的读取和写入这里的长度就是操作系统能支持的最小读写单位,如 1K,所以块设备的缓冲功能,这里就没有了,需要使用者自己来完成。由于读写时不经过任何缓冲区,此时执行 ddif=/dev/zero of=/dev/vg01/lv bs=1 count=1 ,这个命令将会出错,因为这里的 bs ( block size )太小,系统无法支持。如果执行 dd if=/dev/zero of=/dev/vg01/lv bs=1024&&count=1 ,则可以成功。这里的 block size 有 OS 内核参数决定。
如上,相比之下,字符设备在使用更为直接,而块设备更为灵活。文件系统一般建立在块设备上,而为了追求高性能,使用字符设备则是更好的选择,如 Oracle 的裸设备使用。裸设备裸设备也叫裸分区,就是没有经过格式化、没有文件系统的一块存储空间。可以写入二进制内容,但是内容的格式、其中信息的组织等问题,需要使用它的人来完成。文件系统就是建立在裸设备之上,并完成裸设备空间的管理。CIOCIO 即并行 IO ( Concurrent IO )。在文件系统中,当某个文件被多个进程同时访问时,就出现了Inode 竞争的问题。一般地,读操作使用的共享锁,即:多个读操作可以并发进行,而写操作使用排他锁。当锁被写进程占用时,其他所有操作均阻塞。因此,当这样的情况出现时,整个应用的性能将会大大降低。如图:file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpgCIO 就是为了解决这个问题。而且 CIO 带来的性能提高直逼裸设备。当文件系统支持 CIO 并开启 CIO 时, CIO 默认会开启文件系统的 Direct IO ,即:让 IO 操作不经过 Buffer 直接进行底层数据操作。由于不经过数据 Buffer ,在文件系统层面就无需考虑数据一致性的问题,因此,读写操作可以并行执行。
在最终进行数据存储的时候,所有操作都会串行执行, CIO 把这个事情交个了底层的 driver 。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image015.jpg说说IO(五)- 逻辑卷管理LVM(逻辑卷管理),位于操作系统和硬盘之间,LVM屏蔽了底层硬盘带来的复杂性。最简单的,LVM使得N块硬盘在OS看来成为一块硬盘,大大提高了系统可用性。
LVM 的引入,使得文件系统和底层磁盘之间的关系变得更为灵活,而且更方便关系。 LVM 有以下特点:Ø&&统一进行磁盘管理。Ø&&按需分配空间,提供动态扩展。Ø&&条带化( Striped )Ø&&镜像( mirrored )Ø&&快照( snapshot )LVM 可以做动态磁盘扩展,想想看,当系统管理员发现应用空间不足时,敲两个命令就完成空间扩展,估计做梦都要笑醒:LVM的磁盘管理方式file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image017.pngLVM 中有几个很重要的概念:Ø&&PV (physicalvolume ) :物理卷。在 LVM 中,一个 PV 对应就是操作系统能看见的一块物理磁盘,或者由存储设备分配操作系统的 lun 。一块磁盘唯一对应一个 PV , PV 创建以后,说明这块空间可以纳入到 LVM 的管理。创建PV 时,可以指定 PV 大小,即可以把整个磁盘的部分纳入 PV ,而不是全部磁盘。这点在表面上看没有什么意义,但是如果主机后面接的是存储设备的话就很有意义了,因为存储设备分配的 lun 是可以动态扩展的,只有当 PV 可以动态扩展,这种扩展性才能向上延伸。Ø&&VG (volumegroup ) :卷组。一个 VG 是多个 PV 的集合,简单说就是一个 VG 就是一个磁盘资源池。 VG 对下屏蔽了多个物理磁盘,上层是使用时只需考虑空间大小的问题,而 VG 解决的空间的如何在多个 PV 上连续的问题。Ø&&LV (logicalvolume ) :逻辑卷。 LV 是最终可供使用卷, LV 在 VG 中创建,有了 VG , LV 创建是只需考虑空间大小等问题,对 LV 而言,他看到的是一直联系的地址空间,不用考虑多块硬盘的问题。
有了上面三个, LVM 把单个的磁盘抽象成了一组连续的、可随意分配的地址空间。除上面三个概念外,还有一些其他概念:Ø&&PE (physicalextend ) :物理扩展块。 LVM 在创建 PV ,不会按字节方式去进行空间管理。而是按 PE 为单位。PE 为空间管理的最小单位。即:如果一个 1024M 的物理盘, LVM 的 PE 为 4M ,那么 LVM 管理空间时,会按照256 个PE 去管理。分配时,也是按照分配了多少 PE 、剩余多少PE 考虑。Ø&&LE (logicalextend ) :逻辑扩展块。类似 PV , LE 是创建 LV 考虑,当 LV 需要动态扩展时,每次最小的扩展单位。
对于上面几个概念,无需刻意去记住,当你需要做这么一个东西时,这些概念是自然而然的。PV把物理硬盘转换成LVM中对于的逻辑(解决如何管理物理硬盘的问题),VG是PV的集合(解决如何组合PV的问题),LV是VG上空间的再划分(解决如何给OS使用 空间的问题);而PE、LE则是空间分配时的单位。
如图,为两块 18G 的磁盘组成了一个 36G 的 VG 。此 VG 上划分了 3 个 LV 。其 PE 和 LE 都为 4M 。其中 LV1 只用到了sda 的空间,而 LV2 和 LV3 使用到了两块磁盘。串联、条带化、镜像file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image019.pngØ&&串联( Concatenation ):&&按顺序使用磁盘,一个磁盘使用完以后使用后续的磁盘Ø&&条带化( Striping ):&&交替使用不同磁盘的空间。条带化使得 IO 操作可以并行,因此是提高 IO 性能的关键。另外,Striping 也是 RAID 的基础。如: VG 有 2 个 PV , LV 做了条带数量为 2 的条带化,条带大小为 8K ,那么当 OS 发起一个16K 的写操作时,那么刚好这 2 个 PV 对应的磁盘可以对整个写入操作进行并行写入。l&&Striping 带来好处有:并发进行数据处理。读写操作可以同时发送在多个磁盘上,大大提高了性能。l&&Striping 带来的问题:数据完整性的风险。 Striping 导致一份完整的数据被分布到多个磁盘上,任何一个磁盘上的数据都是不完整,也无法进行还原。一个条带的损坏会导致所有数据的失效。因此这个问题只能通过存储设备来弥补。
& & 条带大小的设定很大程度决定了 Striping 带来的好处。如果条带设置过大,一个 IO 操作最终还是发生在一个磁盘上,无法带来并行的好处;当条带设置国小,本来一次并行IO 可以完成的事情会最终导致了多次并行 IO 。Ø&&镜像( mirror )
如同名字。 LVM 提供 LV 镜像的功能。即当一个 LV 进行 IO 操作时,相同的操作发生在另外一个 LV 上。这样的功能为数据的安全性提供了支持。如图,一份数据被同时写入两个不同的 PV。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image021.png使用 mirror 时,可以获得一些好处:读取操作可以从两个磁盘上获取,因此读效率会更好些数据完整复杂了一份,安全性更高。
但是,伴随也存在一些问题 :所有的写操作都会同时发送在两个磁盘上,因此实际发送的 IO 是请求 IO 的 2 倍。由于写操作在两个磁盘上发生,因此一些完整的写操作需要两边都完成了才算完成,带来了额外负担。
& & 在处理串行 IO 时,有些 IO 走一个磁盘,另外一些 IO 走另外的磁盘,一个完整的 IO 请求会被打乱, LVM 需要进行IO 数据的合并,才能提供给上层。像一些如预读的功能,由于有了多个数据获取同道,也会存在额外的负担。Ø&&快照(Snapshot)file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image023.png
快照如其名,他保存了某一时间点磁盘的状态,而后续数据的变化不会影响快照,因此,快照是一种备份很好手段。
但是快照由于保存了某一时间点数据的状态,因此在数据变化时,这部分数据需要写到其他地方,随着而来回带来一些问题。关于这块,后续存储也涉及到类似的问题,后面再说。说说IO(六)- Driver & IO Channel这部分值得一说的是多路径问题。 IO 部分的高可用性在整个应用系统中可以说是最关键的,应用层可以坏掉一两台机器没有问题,但是如果 IO 不通了,整个系统都没法使用。如图为一个典型的 SAN 网络,从主机到磁盘,所有路径上都提供了冗余,以备发生通路中断的情况。l&&OS 配置了 2 块光纤卡,分别连不同交换机l&&SAN 网络配置了 2 个交换机l&&存储配置了 2 个 Controller ,分别连不同交换机file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png如上图结构,由于存在两条路径,对于存储划分的一个空间,在 OS 端会看到两个(两块磁盘或者两个 lun )。可怕的是, OS并不知道这两个东西对应的其实是一块空间,如果路径再多,则 OS 会看到更多。还是那句经典的话,“计算机中碰到的问题,往往可以通过增加的一个中间层来解决”,于是有了多路径软件。他提供了以下特性l&&把多个映射到同一块空间的路径合并为一个提供给主机l&&提供 fail over 的支持。当一条通路出现问题时,及时切换到其他通路l&&提供 load balance 的支持。即同时使用多条路径进行数据传送,发挥多路径的资源优势,提高系统整体带宽。Fail over 的能力一般 OS 也可能支持,而 loadbalance 则需要与存储配合,所以需要根据存储不同配置安装不同的多通路软件。
多路径除了解决了高可用性,同时,多条路径也可以同时工作,提高系统性能。说说IO(七)- RAIDRaid 很基础,但是在存储系统中占据非常重要的地位,所有涉及存储的书籍都会提到 RAID 。 RAID 通过磁盘冗余的方式提高了可用性和可高性,一方面增加了数据读写速度,另一方面增加了数据的安全性。RAID0对数据进行条带化。使用两个磁盘交替存放连续数据。因此可以实现并发读写,但带来的问题是如果一个磁盘损坏,另外一个磁盘的数据将失去意义。 RAID 0 最少需要 2 块盘。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image026.pngRAID1对数据进行镜像。数据写入时,相同的数据同时写入两块盘。因此两个盘的数据完全一致,如果一块盘损坏,另外一块盘可以顶替使用, RAID 1 带来了很好的可靠性。同时读的时候,数据可以从两个盘上进行读取。但是RAID1 带来的问题就是空间的浪费。两块盘只提供了一块盘的空间。 RAID 1 最少需要 2 块盘。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image028.pngRAID5和 RAID 4使用多余的一块校验盘。数据写入时, RAID 5 需要对数据进行计算,以便得出校验位。因此,在写性能上 RAID 5 会有损失。但是 RAID 5 兼顾了性能和安全性。当有一块磁盘损坏时, RAID 5 可以通过其他盘上的数据对其进行恢复。
如图可以看出,右下角为 p 的就是校验数据。可以看到 RAID5 的校验数据依次分布在不同的盘上,这样可以避免出现热点盘(因为所有写操作和更新操作都需要修改校验信息,如果校验都在一个盘做,会导致这个盘成为写瓶颈,从而拖累整体性能, RAID 4 的问题)。 RAID 5 最少需要 3 块盘。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image030.pngRAID6RAID 6与 RAID 5 类似。但是提供了两块校验盘(下图右下角为 p 和 q 的)。安全性更高,写性能更差了。RAID 0 最少需要 4 块盘file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image032.pngRAID10 (Striped mirror )RAID10 是 RAID 0&&和 RAID 1 的结合,同时兼顾了二者的特点,提供了高性能,但是同时空间使用也是最大。RAID10 最少需要 4 块盘。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg需要注意,使用 RAID10 来称呼其实很容易产生混淆,因为 RAID 0+1 和RAID 10 基本上只是两个数字交换了一下位置,但是对 RAID 来说就是两个不同的组成。因此,更容易理解的方式是“ Striped mirrors ”,即:条带化后的镜像—— RAID 10 ;或者“ mirrored stripes ”,即:镜像后的条带化。比较 RAID 10 和 RAID 0+1 ,虽然最终都是用到了 4 块盘,但是在数据组织上有所不同,从而带来问题。 RAID 10 在可用性上是要高于 RAID 0+1 的:RAID0+1&&任何一块盘损坏,将失去冗余。如图 4 块盘中,右侧一组损坏一块盘,左侧一组损坏一块盘,整个盘阵将无法使用。而 RAID 10 左右各损坏一块盘,盘阵仍然可以工作。
RAID 0+1&&损坏后的恢复过程会更慢。因为先经过的 mirror ,所以左右两组中保存的都是完整的数据,数据恢复时,需要完整恢复所以数据。而 RAID 10 因为先条带化,因此损坏数据以后,恢复的只是本条带的数据。如图 4 块盘,数据少了一半。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image036.pngRAID50RAID50同 RAID 10 ,先做条带化以后,在做 RAID 5 。兼顾性能,同时又保证空间的利用率。 RAID 50 最少需要 6 块盘。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png总结:RAID 与 LVM 中的条带化原理上类似,只是实现层面不同。在存储上实现的 RAID 一般有专门的芯片来完成,因此速度上远比 LVM 块。也称硬 RAID 。
& & 如上介绍, RAID 的使用是有风险的,如 RAID 0 ,一块盘损坏会导致所有数据丢失。因此,在实际使用中,高性能环境会使用RAID 10 ,兼顾性能和安全;一般情况下使用 RAID 5 ( RAID 50 ),兼顾空间利用率和性能;说说IO(八)- 三分天下DAS、 SAN 和 NASfile:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg为了满足人们不断扩大的需求,存储方案也是在发展的。而 DAS 、 SAN 、 NAS 直接反映这种反映了这种趋势。单台主机 在这种情况下,存储作为主机的一个或多个磁盘存在,这样局限性也是很明显的。由于受限于主机空间,一个主机只能装一块到几块硬盘,而硬盘空间时受限的,当磁盘满了以后,你不得不为主机更换更大空间的硬盘。独立存储空间 为了解决空间的问题,于是考虑把磁盘独立出来,于是有了DAS ( Direct Attached Storage ),即:直连存储。 DAS 就是一组磁盘的集合体,数据读取和写入等也都是由主机来控制。但是,随之而来,DAS 又面临了一个他无法解决的问题——存储空间的共享。接某个主机的 JBOD ( Just a Bunch Of Disks ,磁盘组),只能这个主机使用,其他主机无法用。因此,如果 DAS 解决空间了,那么他无法解决的就是如果让空间能够在多个机器共享。 因为 DAS 可以理解为与磁盘交互, DAS 处理问题的层面相对更低。使用协议都是跟磁盘交互的协议独立的存储网络 为了解决共享的问题,借鉴以太网的思想,于是有了 SAN ( Storage Area Network),即:存储网络。对于 SAN 网络,你能看到两个非常特点,一个就是光纤网络,另一个是光纤交换机。SAN 网络由于不会之间跟磁盘交互,他考虑的更多是数据存取的问题,因此使用的协议相对 DAS 层面更高一些。光纤网络对于存储来说,与以太网很大的一个不同就是他对带宽的要求非常高,因此 SAN 网络下,光纤成为了其连接的基础。而其上的光纤协议相比以太网协议而言,也被设计的更为简洁,性能也更高。光纤交换机:这个类似以太网,如果想要做到真正的“网络”,交换机是基础。网络文件系统存储空间可以共享,那文件也是可以共享的。 NAS ( Network attached storage )相对上面两个,看待问题的层面更高,NAS 是在文件系统级别看待问题。因此他面的不再是存储空间,而是单个的文件。因此,当 NAS 和 SAN 、 DAS 放在一起时,很容易引起混淆。 NAS 从文件的层面考虑共享,因此 NAS 相关协议都是文件控制协议Ø&&NAS 解决的是文件共享的问题;SAN ( DAS )解决的是存储空间的问题。Ø&&NAS 要处理的对象是文件;SAN ( DAS )要处理的是磁盘。为 NAS 服务的主机必须是一个完整的主机(有 OS 、有文件系统,而存储则不一定有,因为可以他后面又接了一个 SAN 网络),他考虑的是如何在各个主机直接高效的共享文件;为 SAN 提供服务的是存储设备(可以是个完整的主机,也可以是部分),它考虑的是数据怎么分布到不同磁盘。Ø&&NAS 使用的协议是控制文件的(即:对文件的读写等); SAN 使用的协议是控制存储空间的(即:把多长的一串二进制写到某个地址)file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg如图,对 NAS 、 SAN 、 DAS 的组成协议进行了划分,从这里也能很清晰的看出他们之间的差别。l&&NAS :涉及 SMB 协议、 NFS 协议,都是网络文件系统的协议。l&&SAN :有 FC 、 iSCSI 、 AOE ,都是网络数据传输协议。l&&DAS :有 PATA 、 SATA 、 SAS 等,主要是磁盘数据传输协议。从 DAS 到 SAN ,在到 NAS ,在不同层面对存储方案进行的补充,也可以看到一种从低级到高级的发展趋势。而现在我们常看到一些分布式文件系统(如 hadoop 等)、数据库的 sharding 等,从存储的角度来说,则是在 OS 层面(应用)对数据进行存储。从这也能看到一种技术发展的趋势。跑在以太网上的 SANSAN 网络并不是只能使用光纤和光纤协议,当初之所以使用 FC ,传输效率是一个很大的问题,但是以太网发展到今天被不断的完善、加强,带宽的问题也被不断的解决。因此,以太网上的 SAN 或许会成为一个趋势。FCIP如图两个 FC 的 SAN 网络,通过 FCIP 实现了两个 SAN 网络数据在 IP 网络上的传输。这个时候 SAN 网络还是以 FC 协议为基础,还是使用光纤。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image044.pngIFCP通过 iFCP 方式, SAN 网络由 FC 的 SAN 网络演变为 IP SAN 网络,整个 SAN 网络都基于了 IP 方式。但是主机和存储直接使用的还是 FC 协议。只是在接入 SAN 网络的时候通过 iFCP 进行了转换file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image046.pngiSCSIiSCSI 是比较主流的 IP SAN 的提供方式,而且其效率也得到了认可。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image048.png对于 iSCSI ,最重要的一点就是 SCSI 协议。 SCSI (Small Computer Systems Interface )协议是计算机内部的一个通用协议。 是一组标准集,它定义了与大量设备(主要是与存储相关的设备)通信所需的接口和协议。如图, SCSI 为 block device drivers 之下。file:///C:/Users/carl/AppData/Local/Temp/msohtmlclip1/01/clip_image050.png从 SCIS 的分层来看,共分三层:l&&高层:提供了与 OS 各种设备之间的接口,实现把 OS 如: Linux 的 VFS 请求转换为 SCSI 请求l&&中间层:实现高层和底层之间的转换,类似一个协议网关。l&&底层:完成于具体物理设备之间的交互,实现真正的数据处理。

我要回帖

更多关于 blockio raw 的文章

 

随机推荐