当前位置:首页 » 服务存储 » 为什么构建如此复杂的存储体系
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

为什么构建如此复杂的存储体系

发布时间: 2023-06-07 15:02:34

Ⅰ 为什么现代微机的存储系统中采用层次结构

cpu的内部
第一层:通用寄存器堆
第二层:指令与数据缓冲栈
第三层:高速缓冲存储器
第四层:主储存器(DRAM)
第五层:联机外部储存器(硬磁盘机)
第六层:脱机外部储存器(磁带、光盘存储器等)
这就是存储器的层次结构~~~ 主要体现在访问速度~~~
① 设置多个存储器并且使他们并行工作。本质:增添瓶颈部件数目,使它们并行工作,从而减缓固定瓶颈。

② 采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。本质:把瓶颈部件分为多个流水线部件,加大操作时间的重叠、提高速度,从而减缓固定瓶颈。

③ 在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力。本质:缓冲技术,用于减缓暂时性瓶颈。

Ⅱ 现代计算机中为什么要采用多级存储体系结构

为了解决存储器要求容量大、速度快、成本低三者之间的矛盾

Ⅲ 计算机采用分层次存储体系结构的原因 答完整

在计算机网络技术中,网络的体系结构指的是通信系统的整体设计,它的目的是为网络硬件、软件、协议、存取控制和拓扑提供标准。现在广泛采用的是开放系统互连OSI(Open System Interconnection)的参考模型,它是用物理层、数据链路层、网络层、传送层、对话层、表示层和应用层七个层次描述网络的结构。你应该注意的是,网络体系结构的优劣将直接影响总线、接口和网络的性能。而网络体系结构的关键要素恰恰就是协议和拓扑。目前最常见的网络体系结构有FDDI、以太网、令牌环网和快速以太网等。

采用分层次的结构原因:各层功能相对独立,各层因技术进步而做的改动不会影响到其他层,从而保持体 系结构的稳定性

Ⅳ 现代计算机的储存体系是如何构造的

现代计算机的储存体系由两部分构成,分别为主存储器和外存储器。主存储器(也称内存)主要作为计算机处理的数据的中转站,而外存储器则是为计算机提供更多空间来存储数据和信息,从而使其可以处理更多的数据和信息。

Ⅳ 存储器有哪些常见分类存储器系统为什么采用多级存储结构

存储的基础部分分为ROM和RAM。

为了缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾,另一方面解决了主存储器容量小,存不下更多的程序和数据的难题。当前计算机系统中,广泛采用了多级结构的存储器系统,应用是建立在程序运行的局部性原理之上的。

(5)为什么构建如此复杂的存储体系扩展阅读:

注意事项:

外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。所以说硬盘也属于外存储器,外存储器最大的特点就是容量大,价格低,速度慢。

硬盘一般都是固定在电脑主机上的,只要在搬动主机或者电脑上时注意不要大幅度的晃动,不要长时间让硬盘处于震荡状态。定期进行磁盘碎片整理,使用杀毒软件杀毒。

Ⅵ 深挖Kubernetes存储为何如此难及其解决方案

以Kubernetes为代表的容器编排工具在应用开发部署领域起正发挥着颠覆性的变革作用。随着微服务架构的发展,从开发人员的角度来看,应用逻辑架构与基础设施架构之间开始解耦,这意味着开发者能够将精力更多集中在软件构建以及价值交付身上。

当管理Docker镜像的时候,Kubernetes也让实际应用变的十分便捷灵活。在利用Kubernetes进行容器架构的应用部署时,管理员们将在无需修改底层代码的前提下将其部署在任何位置——包括公有云、混合云乃至私有云。

虽然Kubernetes在扩展性、便携性与管理性等方面的表现都相当给力,但截至目前,它仍然不支持存储状态。与之对应的是,如今的大多数应用都是有状态的——换言之,要求在一定程度上配合外部存储资源。

Kubernetes架构本身非常灵活的,能够根据开发者的需求、规范以及实际负载情况,对容器进行随意创建与撤销。此外,Pod和容器还具有自我修复与复制能力。因此从本质上讲,它们的生命周期普遍非常短暂。

但是,现有持久存储解决方法无法支持动态的应用场景,而持久化存储也无法满足动态创建与撤销的需求。

当我们需要将有状态应用部署到其它基础架构平台,或者另一家内部或混合云供应商的环境中时,可移植性低下无疑将成为我们面临的巨大挑战。更具体地讲,持久化存储解决方案往往会锁定于特定云服务供应商,而无法灵活完成转移。

另外,云原生应用中的存储机制也相当复杂、难于理解。Kubernetes中的不少存储术语极易混淆,其中包含着复杂的含义与微妙的变化。再有,在原生Kubernetes、开源框架以及托管与付费服务之间还存在着诸多选项,这极大增加了开发人员在做出决定之前的考量与试验成本。

以下是CNCF列出的云原生存储可选方案:

我们首先从最简单的场景出发,即在Kubernetes当中部署一套数据库。具体流程包括:选择一套符合需求的数据库,让它在本地磁盘上运行,然后将其作为新的工作负载部署到集群当中。但是,由于数据库中存在的一些固有属性,这种方式往往无法带来符合预期的效果。

容器本身是基于无状态原则进行构建的,凭借这一天然属性,我们才能如此轻松地启动或撤销容器环境。由于不存在需要保存及迁移的数据,集群也就不需要同磁盘读写这类密集型操作绑定在一起了。

但对于数据库,其状态必须随时保存。如果以容器方式部署在集群当中的数据库不需要进行迁移,或者不需要频繁开关,那么其基本属性就相当于一种物理存储设备。在理想情况下,使用数据的容器应该与该数据库处于同一Pod当中。

当然,这并不是说将数据库部署在容器中的作法不可取。在某些应用场景下,这样的设计完全能够满足需求。举例来说,在测试环境或者处理非生产级数据时,由于总体数据量很小,将数据库纳入集群完全没有问题。但在实际生产中,开发人员往往需要仰仗于外部存储机制。

Kubernetes到底是如何与存储资源彼此通信的?其利用的是控制层接口。这些接口负责将Kubernetes与外部存储相对接。接入Kubernetes的外部存储解决方案被称为“卷插件(Volume Plugins)”。正是有了卷插件的存在,存储资源才得以抽象化并实现可移植性。

以前,卷插件一般由核心Kubernetes代码库进行构建、链接、编译以及装载。这样就极大的限制了开发人员的发挥空间,同时也带来了额外的维护开销。因此,项目维护人员们决定在Kubernete的代码库上增加一些新的存储功能。

随着CSI以及Flexvolume的引入,卷插件如今可以在集群中直接部署,而完全无需更改代码库。

原生Kubernetes与存储

持久卷是由管理员负责配置的存储单元,它们独立于任何单一Pod之外,因此不受Pod生命周期的影响。

存储资源有两种使用方式:静态存储与动态存储。

实际上,静态定义的持久卷并不能适应Kubernetes的可移植特性,因为存储资源具有对环境的依赖性——例如AWS EBS或者GCE Persistent Disk。另外,手动绑定还需要根据不同供应商的存储方案修改YAML文件。

在资源分配方面,静态配置实际上也违背了Kubernetes的设计原则。后者的CPU与内存并非事先被分配好绑定在Pod或者容器上,而是以被动态形式进行分配。

通过简单的说明,相信大家已经了解了原生Kubernetes对外部存储资源的使用方式。当然,这里仅仅做出概括,实际使用场景中还有更多其它因素需要考量。

CSI——容器存储接口

下面来看容器存储接口(简称CSI)。CSI是由CNCF存储工作组创建的统一标准,旨在定义一个标准的容器存储接口,从而使存储驱动程序能够在任意容器架构下正常起效。

CSI规范目前已经在Kubernetes中得到普及,大量驱动插件被预先部署在Kubernetes集群内供开发人员使用。如此一来,我们就可以利用Kubernetes上的CSI卷来访问与CSI兼容的开放存储卷。

CSI的引入,意味着存储资源能够作为Kubernetes集群上的另一种工作负载实现容器化以及部署。

相关开源项目

目前,围绕云原生技术涌现出大量工具与项目。但作为生产场景中的一大突出问题,我们往往很难在云原生架构中选择最合适的开源项目。换言之,解决方案选项太多,反而令存储需求变得更难解决。

我们再看一次CNCF列出的云原生存储的可选方案:

下面我会分享一下当下流行的存储方案Ceph与Rook,还有Rancher开源的容器化分布式存储Longhorn。

Ceph

Ceph是一种动态托管、横向扩展的分布式存储集群。Ceph面向存储资源提供一种逻辑抽象机制,其设计理念包括无单点故障、自管理以及软件定义等特性。Ceph可以面向同一套存储集群分别提供块存储、对象存储以及文件存储的对应接口。

Ceph架构相当复杂的,其中使用到大量的底层技术,例如RADOS、librados、RADOSGW、RDB、CRUSH算法,外加monitor、OSD以及MDS等功能性组件。这里我们先不谈它的底层架构,关键在于Ceph属于一种分布式存储集群,这使得扩展更便利、能够在不牺牲性能的前提下消除单点故障,且提供涵盖对象存储、块存储以及文件存储的统一存储体系。

Ceph架构图

Rook

另一个有趣且颇具人气的项目是Rook,这是一项旨在将Kubernetes与Ceph融合起来的技术方案。从本质上讲,它将计算节点和存储节点放进了同一个集群当中。

Rook是一种云原生编排器,并对Kubernetes做出扩展。Rook允许用户将Ceph放置在容器内,同时提供卷管理逻辑以立足Kubernetes之上实现Ceph的可靠运行。Rook还使本应由集群管理员操作的多种任务完成了自动化实现,其中包括部署、引导、配置、扩展以及负载均衡等等。

Rook自身不具备持久状态,也不需要单独管理。这,才是真正与Kubernetes设计原则相符的存储资源管理方案。

Rook凭借着将Ceph与Kubernetes协同起来的强大能力而颇受欢迎,在GitHub上获得近4000颗星,1600多万次的下载,并吸引到100多名贡献者,现已进入CNCF孵化阶段。

Longhorn

Longhorn项目是Rancher Labs推出的开源的基于云和容器部署的分布式块存储新方式。Longhorn遵循微服务的原则,利用容器将小型独立组件构建为分布式块存储,并使用容器编排来协调这些组件,形成弹性分布式系统。

如今,基于云和容器的部署规模日益扩大,分布式块存储系统也正变得越来越复杂,单个存储控制器上的volume数量在不断增加。2000年代初,存储控制器上的volume数量只有几十个,但现代云环境却需要数万到数百万的分布式块存储卷。存储控制器变成了高度复杂的分布式系统。

Longhorn充分利用了近年来关于 如何编排大量的容器和虚拟机的核心技术 。例如,Longhorn并没有构建一个可以扩展到100,000个volume的高度复杂的控制器,而是出于让存储控制器简单轻便的考虑,创建了100,000个单独的控制器。然后,我们可以利用像Kubernetes这样的最先进的编排系统来调度这些独立的控制器,共享一组磁盘中的资源,协同工作,形成一个弹性的分布式块存储系统。

Longhorn基于微服务的设计还有很多其他优势。因为每个volume都有自己的控制器,在升级每个volume的控制器和replica容器时,是不会导致IO操作明显的中断的。Longhorn可以创建一个长期运行的工作来编排所有live volume的升级,同时确保不会中断系统正在进行的操作。为确保升级不会导致意外的问题,Longhorn可以选择升级一小部分volume,并在升级过程中出现问题时回滚到旧版本。这些做法在现代微服务应用中已得到广泛应用,但在存储系统中并不常见。希望Longhorn可以 助力于微服务在存储领域的更多应用。

结 语

对于实际应用层面出现的任何问题,最重要的自然是判断需求、设计系统或者选择适当的工具。同样的道理也适用于云原生环境。虽然具体问题非常复杂,但也必然会出现大量工具方案尝试解决。随着云原生世界的持续发展,我们可以肯定,新的解决方案将不断涌现。未来,一切都会更加美好!

Ⅶ 在计算机中,为什么要引入多层次的存储系统

每个层次的内存速度不一样,成本也不一样,采用多层次就是解决在不影响基本速度的情况下降低成本,或者说在不增加成本的情况下提高速度。

Ⅷ 叙述微型计算机中的多级存储体系以及工作原理

  1. 多级存储体系

    多级存储结构构成的存储体系是一个整体。从CPU看来,这个整体的速度接近于Cache和寄存器的操作速度、容量是辅存(或海量存储器)的容量,每位价格接近于辅存的位价格。从而较好地解决了存储器中速度、容量、价格三者之间的矛盾,满足了计算机系统的应用需要。

  2. 工作原理

    存储器的层次结构能够成功的关键在于处理器访问存储器的频率递减。在执行程序期间,处理器的指令存储访问和数据存储访问呈现簇状,典型的程序包括许多迭代循环和子程序,一旦程序进入一个循环或子程序执行,就会重复访问一个小范围的指令集合。同理,对表和数组的操作涉及到存取一簇数据,经过很长一段时间,程序访问的簇会改变,但在较短的时间内,处理器主要访问存储器中固定的簇。

    因此,可以通过层次组织数据,使得随着组织层次的递减,各层次的访问比例也 依次递减。以二级存储器为例,让第二级存储器包含所有的指令和数据,程序当前的访问簇暂时存放在第一级存储器中。有时第一级存储器中的某个簇要放到第二级存储器中,以便为新的簇进入第一级存储器让出空间。

Ⅸ 存储器的主要功能是什么为什么要把存储系统分成若干个不同层次

一、存储器的主要功能:

1、随机存取存储器(RAM)。

2、只读存储器(ROM)。

3、闪存(Flash Memory)。

4、先进先出存储器(FIFO)。

5、先进后出存储器(FILO)。

二、存储器分为若干个层次主要原因:

1、合理解决速度与成本的矛盾,以得到较高的性能价格比。

磁盘存储器价格较便宜,可以把容量做得很大,但存取速度较慢,因此用作存取次数较少,且需存放大量程序、原始数据(许多程序和数据是暂时不参加运算的)和运行结果的外存储器。

2、使用磁盘作为外存,不仅价格便宜,可以把存储容量做得很大,而且在断电时它所存放的信息也不丢失,可以长久保存,且复制、携带都很方便。

(9)为什么构建如此复杂的存储体系扩展阅读:

存储器可做处理器,未来装置有望更加轻薄短小:

有一群跨国研究团队做了实验,并真的成功运用存储器执行一般电脑芯片的运算任务,倘若技术成熟,将有望使手机与电脑等装置更加轻薄。

新加坡南洋理工大学、德国亚琛阿亨工业大学和欧洲最大的跨学科研究中心德国尤利希研究中心组成的研究团队发现,在调整算法后,存储器能如英特尔、高通等传统处理器一般,进行运算处理。

目前市面上的装置或电脑都是透过CPU从存储器提取资讯进行运算处理,以二进制0跟1来实现指令,如字母A是用“01000001”这样8位元的形式来处理或纪录。而存储器ReRAM透过不同电阻态代表0或1的数据状态储存资讯,其实还可实现更高基数的数据状态记录。

研究团队就将ReRAM原型(prototype)调整为0、1、2的三进制,透过这样的高基数运算系统可加速运算任务,并于存储器就可进行逻辑运算。也节省了处理器与存储器间数据传输的时间与功耗的消耗。

研究参与人之一、南洋理工大学资讯工程学系助理教授Chattopadhyay解释,这就像一段很长的会话却只用一个极小的翻译器来转换,是一段耗时且费力的过程,团队所做的就是增加这个小型翻译器的处理容量,使其能更有效的处理数据。