zoukankan      html  css  js  c++  java
  • <<Information Storage and Management>>读书笔记 之四

    第二章 存储系统环境

    ********************************************

    存储作为数据中心的关键元素之一, 被认为是不寻常的资源, 并且需要为它的实现和管理付出更多的关注和特化. 数据从应用程序流到存储会通过各种组件, 这些组件集合在一起称为存储系统环境. 这环境里最主要的三个组件是: 宿主, 连接和存储. 这些实体, 有各自的物理和逻辑组件, 方便了数据访问. 本章会介绍存储系统环境的细节, 并且主要聚焦在存储上. 本章提供了磁盘的各种硬件组件的细节, 磁盘几何学, 还有控制磁盘性能的关键法则. 宿主和存储之间的连接所使用的总线(bus)技术, 和接口协议也会解释.

    本章提供对一个主机的各种逻辑组件的理解的机会, 这些组件包括比如说文件系统, 卷管理器(volume manager)和操作系统, 还介绍了他们在存储系统环境中所扮演的角色.

    2.1 存储系统环境的组件

    ====================

    存储系统环境有三个主要组件:宿主,连接,和存储, 我们将在这个部分进行介绍.

    2.1.1 宿主

    --------------

    用户通过应用程序来存储和取回数据. 这些应用程序运行于其上的计算机称为宿主. 宿主可以是简单的笔记本电脑, 也可以是复杂的服务器集群(cluster). 宿主有供其连接到另一个宿主的物理组件(硬件设备), 该设备会使用逻辑组件(软件和协议). 对数据的访问以及整个存储系统环境的性能即取决于宿主的物理组件, 也取决于逻辑组件. 逻辑组件在本章的2.5小节进行介绍.

    物理组件

    一个宿主拥有三个主要的物理组件:

    • 中央处理单元(CPU)
    • 存储, 比如说内部的内存和磁盘驱动器
    • 输入输出设备

    物理组件所使用的通讯路径叫做总线(bus). 总线连接着CPU和其他组件, 比如说存储和IO设备.

    CPU

    CPU由四个主要组件组成:

    • 算术逻辑运算单元(ALU):这是组成CPU的基础模块.它执行算术运算和逻辑运算比如加,减,布尔运算(与或非).
    • 控制单元: 一个数码电路, 控制者CPU的操作,协调CPU的功能.
    • 寄存器: 告诉存储单元的一个集合. 寄存器存储CPU需要的立即数,在寄存器中执行指令,并由于靠近算术逻辑运算单元从而提供高速访问.典型的CPU拥有的寄存器的数量不多.
    • 一级缓存:这可以在当下的CPU中找到,它保存将来可能会被CPU需要的数据和程序指令.一级缓存比寄存器要慢, 但是提供了更多的存储空间.

    存储

    内存和存储媒介都用来存储数据,有暂时的,有永久的.内存模块是使用半导体芯片实现的,然而存储设备使用他们的磁性媒体或光媒体来存储.内存模块使得数据访问可以比其他存储媒介达到更快的速度. 总体来说宿主上有两种类型的内存:

    • 随机访问存储器(RAM):它允许直接访问俄内存的任何空间,可以写也可以读.RAM是易变的,这种类型的内存需要一直保持电源的供给才能保持内存格中的信息.数据在系统电源关闭的情况下会被完全擦除.
    • 只读存储器:只读存储器不易变的,断电也没事,但只允许度, 不允许写. ROM一般为系统内部的程式维护数据, 比如说系统启动.

    存储设备比半导体内存要便宜些. 一些存储设备举例如下:

    • 硬盘(磁)
    • CD-ROM或DVD-ROM(光)
    • 软盘(磁)
    • 磁带(磁)

    I/O设备

    IO设备使得从宿主发送和收取数据成为可能. 这里的通讯可能是下面的一种:

    • 用户到宿主的通讯: 由基本的IO设备处理, 比如说键盘, 鼠标, 显示器. 这些设备使得能够用户输入数据并查看操作的结果.
    • 宿主到宿主的通讯: 这是通过使用网络接口卡(NIC)或猫来实现的.
    • 宿主到存储设备的通讯: 由Host Bus Adaptor(HBA)实现的. HBA是一个在宿主和存储间执行IO接口方法的专用集成电路(ASIC)板, 把CPU免于处理额外的IO工作. HBA还提供了连接到存储设备的被称作端口(port)的连接出口. 一个宿主可能有很多个HBA的.

    2.1.2 连接

    ------------------

    连接指的是宿主和宿主和其他宿主之间的连接, 或者是宿主和任何外围设备(比如说打印机或存储设备)的连接.存储系统环境中连接的组件可以分为物理的和逻辑的. 物理组件是连接存储到宿主的硬件. 连接逻辑组件是用于宿主和存储通信的协议. 通讯协议在第五章中介绍.

    连接宿主和存储有三个物理组件, Bus, Port和Cable

    image

    Bus是一个计算机的一个部分连接到另一个部分的路径集合, 比如说CPU到内存的连接. Port是宿主也外部设备间的特殊入口. Cable连接宿主到内部或外部设备的铜线或光纤媒介.

    物理组件通过bus来在设备间通信,传递数据bit(控制,数据,地址). 这些bit在总线(bus)上通过下面的方法的一种进行传播:

    • 串行的: bit是在一个单一路径上顺序传递的. 这种传递可以是单向的或双向的.
    • 并行的: bit在多个路径上同时传输. 并行传输也可以是双向的.

    Bus的大小, 也被称作为宽度, 决定着可以一次可以通过bus传输的数据量. bus的宽度可以用高速路上的线路的个数来比较. 比如如说32位总线可以传递32个bit的数据, 而64bit总线可以同时传递64个bit. 每条bus都有一个用MHz衡量的时钟. 这些能够表现数据在bus端到端的传输速率, 从而影响着应用程序运行的速度.

    Bus按照计算机系统中的渠道可以分为如下的种类:

    • 系统总线(system bus): 这条bus负责CPU到内存的数据传输
    • 本地或IO总线: 直接连接到处理器的高速路径, 在外围设备和处理期间负责通讯, 这里的外围设备包括比如存储设备.

    连接的逻辑组件

    用于本地bus连接外围设备的流行接口协议叫做peripheral component interconnect (PCI). 这接口协议连接磁盘系统的叫做Integrated Device Electronics/Advanced TechnologyAttachment (IDE/ATA) 和 Small Computer System Interface (SCSI).

    PCI

    PCI是一个将PCI扩展卡(比如说网卡, 猫) 如何与CPU通讯进行标准化的规格说明书. PCI提供了CPU和附带设备的互联. PCI的即插即用(plug-and-play)功能使得宿主可以很容易地识别和配置新的卡和设备. PCI的总线宽度可以是32bit或64bit. 32bit的PCI总线可以提供每秒133兆的吞吐量. PCI Express是一种PCI总线的增强版本, 它提供了更显著的高吞吐量和时钟速度.

    IDE/ATA

    IDE/ATA是现代磁盘最流行的接口协议. 这协议在相对较低的成本下提供了优秀的性能. IDE/ATA的细节将在第5章介绍.

    SCSI

    SCSI已经逐渐成了高端计算机的首选协议了.这种接口在个人电脑上比IDE/ATA的使用明显少很多, 因为它那更高的成本. SCSI一开始使用在并行接口上的, 用于设备与宿主互联. SCSI现在被增强了, 包括更多种类的相关技术和标准. 第五章会详细介绍SCSI.

    2.1.3 存储

    ------------------------

    存储设备是存储系统环境中最重要的组件了. 存储车被使用磁或固态介质. 磁盘, 磁带, 磁碟, 使用磁介质. CD-ROM是一种使用光媒介的固态设备, 可移除的闪存卡是固态媒体的一个例子.

    磁带是用于备份的流行介质, 因为它相对低廉的成本. 过去, 数据中心会拥有大量的磁带驱动器, 处理着几千卷的磁带. 然而, 磁带有下面的一些局限性:
    ■■ 磁带上的数据是线性沿着磁带的长度而存储的. 搜索和取回数据是顺序地执行的, 要访问数据会一成不变地需要几秒钟的时间. 所以, 随机数据访问非常的慢和耗时. 这局限了磁带作为需要实时,快速,访问数据的应用程序的存储端的机会.
    ■■ 在共享计算的环境中, 存储在磁带上的数据不能同时被多个应用程序访问, 限制是一次只能一个应用程序来访问.
    ■■ 在磁带驱动器上, 读写头是要触碰磁带表面的, 所以反复使用中, 磁带会退化, 或损坏.
    ■■ 存储和取回数据的需求还有与磁带管理相关联的费用很高.

    尽管有这些局限, 磁带仍然由于他的成本低而被广泛应用. 磁带技术的持续进步引发了大容量媒体和高速驱动器的需要. 现代磁带库拥有更多的内存(缓存), 或者磁盘驱动器来提高数据吞吐量. 加上这些添加的智能, 今天的磁带是端到端数据解决方案的一部分, 尤其是为了不那么频繁访问的低成本长时间保存的数据解决方案.

    光盘存储在小的, 单用户计算环境中比较流行. 他频繁被个体使用在存储照片, 或者备份中小个人电脑数据上. 他还被作为单应用程序的传播, 比如说游戏, 或者作为传输手段从一个系统传数据到另一个系统. 光盘的局限在于容量和读取速度, 使得光媒体的商业数据存储解决方案中的应用受到限制. 一次读取多个(WORM)是光盘的优势. CD-ROM是WORM设备的一个例子. 光盘从某种程度上来说保证了数据不会被修改, 所以他们可以作为低成本, 长时间的, 相对少量或固定量的, 创建之后就不会修改的容的存储方式.光盘阵列, 叫做自动唱片点唱机(jukebox), 至今仍被作为固定内容存储的解决方案. 其他光盘媒介包括CD-RW, 和一些DVD的变体.

    磁盘驱动器是现代计算机中最流行的存储媒体了, 用于存储和访问高性能要求, 在线应用程序等. 磁盘支持快速随机数据访问. 这意味着数据可以被相对快速地被多个用户或应用程序同时读写. 另外, 磁盘有较大的容量, 磁盘存储阵列通过多块磁盘来实现, 提供了增大了的容量和增强的性能.

    摘译自<<Information Storage Management>>

  • 相关阅读:
    Electron应用使用electron-builder配合electron-updater实现自动更新(windows + mac)
    Electron 桌面应用打包(npm run build)简述(windows + mac)
    Electron 打包Mac安装包代码签名问题解决方案Could not get code signature for running application
    安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
    SQL Server 2012 Enterprise Edition安装过程详解(包含每一步设置的含义)
    Wmic获取Windows硬件资源信息
    基于Mint UI和MUI开发VUE项目一之环境搭建和首页的实现
    GitHub常用命令及使用
    webpack安装,常见问题和基本插件使用
    vue,react,angular三大web前端流行框架简单对比
  • 原文地址:https://www.cnblogs.com/awpatp/p/2832834.html
Copyright © 2011-2022 走看看