一 . HCIA 存储技术趋势与智能存储组件
1 . 存储定义:
一方面它是数据临时或长期驻留的物理媒介;另一方面,它是保证数据完整安全存放的方式或行为。
2.数据存储:
数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储介质上。数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征.
3.网络存储:
网络存储(Network Storage)是数据存储的一种方式,网络存储结构大致分为三种:直连式存储(DAS:Direct Attached Storage)、网络附加存储(NAS:Network Attached Storage)和存储区域网(SAN:Storage Area Network)。由于NAS对于普通消费者而言较为熟悉,所以一般网络存储都指NAS。
云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则透过向其购买或租赁存储空间的方式, 来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。 云存储这项服务乃透过Web服务应用程序接口(API), 或是透过Web化的用户界面来访问
4.生活中常见的存储设备:
5.网络存储类型 :
(1) .直接附加存储(DAS)
直接附加存储是指将存储设备通过SCSI接口直接连接到一台服务器上使用。DAS购置成本低,配置简单,使用过程和使用本机硬盘并无太大差别,对于服务器的要求仅仅是一个外接的SCSI口,因此对于小型企业很有吸引力。但是DAS也存在诸多问题:
a . 服务器本身容易成为系统瓶颈;
b . 服务器发生故障,数据不可访问;
c . 对于存在多个服务器的系统来说,设备分散,不便管理。同时多台服务器使用DAS时,存储空间不能在服务器之间动态分配,可能造成相当的资源浪费;(4)数据备份操作复杂
(2) .网络附加存储(NAS):
NAS实际是一种带有瘦服务器的存储设备。这个瘦服务器实际是一台网络文件服务器。NAS设备直接连接到TCP/IP网络上,网络服务器通过TCP/IP网络存取管理数据。NAS作为一种瘦服务器系统,易于安装和部署,管理使用也很方便。同时由于可以允许客户机不通过服务器直接在NAS中存取数据,因此对服务器来说可以减少系统开销。NAS为异构平台使用统一存储系统提供了解决方案。由于NAS只需要在一个基本的磁盘阵列柜外增加一套瘦服务器系统,对硬件要求很低,软件成本也不高,甚至可以使用免费的LINUX解决方案,成本只比直接附加存储略高。NAS存在的主要问题是:
a . 由于存储数据通过普通数据网络传输,因此易受网络上其它流量的影响。当网络上有其它大数据流量时会严重影响系统性能;
b . 由于存储数据通过普通数据网络传输,因此容易产生数据泄漏等安全问题;
c . 存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS.
(3).存储区域网(SAN)
SAN实际是一种专门为存储建立的独立于TCP/IP网络之外的专用网络。目前一般的SAN提供2Gb/S到4Gb/S的传输数率,同时SAN网络独立于数据网络存在,因此存取速度很快,另外SAN一般采用高端的RAID阵列,使SAN的性能在几种专业网络存储技术中傲视群雄。SAN由于其基础是一个专用网络,因此扩展性很强,不管是在一个SAN系统中增加一定的存储空间还是增加几台使用存储空间的服务器都非常方便。通过SAN接口的磁带机,SAN系统可以方便高效的实现数据的集中备份。SAN作为一种新兴的存储方式,是未来存储技术的发展方向,但是,它也存在一些缺点:
a . 价格昂贵。不论是SAN阵列柜还是SAN必须的光纤通道交换机价格都是十分昂贵的,就连服务器上使用的光通道卡的价格也是不容易被小型商业企业所接受的;(2)需要单独建立光纤网络,异地扩展比较困难。
存储区域网络(Storage Area Networks,SAN):是一个用在服务器和存储资源之间的、 专用的、高性能的网络体系。它为了实现大量原始数据的传输而进行了专门的优化。 因此,可以把FC SAN看成是对SCSI协议在长距离应用上的扩展。FC SAN使用的典型协 议组是SCSI和Fiber Channel 。 Fiber Channel特别适合这项应用,原因在于一方面它可以 传输大块数据,另一方面它能够实现远距离传输。 FC SAN的市场主要集中在高端的,企业级的存储应用上。这些应用对于性能,冗余度 和数据的可获得性都有很高的要求。像存储阵列,备份设备等组件都可以称为存储设
以TCP/IP协议为底层传输协议,采用以太网作为承载介质构建起来的存储区域网络架 构.实现IP SAN的典型协议是iSCSI,它定义了SCSI指令集在IP网络中传输的封装方式
(4) . SAN 和NAS的区别:
SAN是一种网络,NAS产品是一个专有文件服务器或一个只读文件访问设备。
SAN是在服务器和存储器之间用作I/O 路径的专用网络。
SAN包括面向块(iSCSI)和面向文件(NAS)的存储产品。
NAS产品能通过SAN连接到存储设备
2 . 智能存储组件:
1),控制框*
控制框采用部件模块化设计,主要由系统插框、控制器(内含风扇模块)、BBU模 块、电源模块、管理模块和接口模块等组成
a:控制器
控制器是设备中的核心部件,主要负责处理存储业务、接收用户的配置管理命令、保存配置信息,接入硬盘和保存关键信息到保险箱硬盘。
b:保险箱盘
Palm规格NVMe SSD保险箱盘
|硬盘模块告警/定位指示灯
硬盘模块运行指示灯
|硬盘模块卡扣 | |
|-硬盘模块拉手-|–|
| 硬盘模块标签| |
————————————————
BBU模块 |
BBU在电源供应出现问题的时候,为RAID控制器缓存提供电源。当电源断电时,BBU电力可以使控制器内缓存中的数据可以保存一定时间(根据BBU的型号而决定)。用户只需要在BBU电力耗尽之前恢复正常供电,缓存中的数据即可被完整的写回RAID中,避免断电导致数据丢失-
2),硬盘框
硬盘框采用部件模块化设计,主要由系统插框、级联模块、电源模块和硬盘模块等组成。
3) . 级联模块
4). 硬盘
*结构
*机械硬盘的结构大致包括:盘片、磁头臂、读/写磁头、主轴、硬盘接口和控制电路等
硬盘容量和缓存
硬盘容量
硬盘容量=柱面数磁头数扇区数*扇区大小,单位为MB或GB,影响硬盘容量的因素有单
碟容量和碟片数量。
缓存(Cache) 由于CPU和硬盘之间存在巨大的速度差异,为解决硬盘在读写数据时CPU的等待问题,在
硬盘上设置适当的高速缓存,以解决二者之间速度不匹配的问题,硬盘缓存与CPU上的高速缓存作用一样,是为了提高硬盘的读写速度。
固态硬盘概述
相对于HDD而言,固态硬盘SSD在性能、可靠性、能耗、轻便性方面有着绝对的优势,目前已经在各领域得到广泛应用
————————————————
5). 接口模块
二 . 虚拟化与网络存储技术
1 . 虚拟化技术
虚拟化技术有哪些
1)、CPU虚拟化
虚拟化在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
2)、网络虚拟化
网络虚拟化是目前业界关于虚拟化细分领域界定最不明确,存在争议较多的一个概念。微软眼中的“网络虚拟化”,是指虚拟专用网络(VPN)。VPN对网络连接的概念进行了抽象,允许远程用户访问组织的内部网络,就像物理上连接到该网络一样。网络虚拟化可以帮助保护IT环境,防止来自Internet的威胁,同时使用户能够快速安全的访问应用程序和数据。
3)、服务器虚拟化
与网络虚拟化不同,服务器虚拟化却是虚拟化技术最早细分出来的子领域。根据2006年2月ForresterResearch的调查,全球范围的企业对服务器虚拟化的认知率达到了75%。三分之一的企业已经在使用或者准备部署服务器虚拟化。这个产生于20世纪60年代的技术日益显示出其重要价值。由于服务器虚拟化发展时间长,应用广泛,所以很多时候人们几乎把服务器虚拟化等同于虚拟化。
4)、存储虚拟化
随着信息业务的不断运行和发展,存储系统网络平台已经成为一个核心平台,大量高价值数据积淀下来,围绕这些数据的应用对平台的要求也越来越高,不光是在存储容量上,还包括数据访问性能、数据传输性能、数据管理能力、存储扩展能力等等多个方面。可以说,存储网络平台的综合性能的优劣,将直接影响到整个系统的正常运行。因为这个原因,虚拟化技术又一子领域——虚拟存储技术,应运而生。
5)、应用虚拟化
前面几种虚拟化技术,主要还专注于对硬件平台资源的虚拟优化分配,随着IT应用的日益广泛,应用虚拟化作为虚拟化家族的明日之星登上了历史舞台。2006年7月由Forrester咨询公司在美国对各种不同行业的高层IT管理人员所做的一项研究显示,当今的机构现在将应用虚拟化当作是业务上的一个必由之路,而不是一个IT决策。据统计,全世界目前至少有超过18万个机构在利用应用虚拟化技术进行集中IT管理、加强安全性和减少总体成本。
尽管在过去十年间虚拟技术有了迅速的发展,但现实情况是,当需要使用应用系统的时候,我们仍然把自己的思维局限在电脑机箱之内。从键盘、鼠标、麦克风或扫描仪接收用户输入的设备,通常也是处理和存储数据、通过对显示器、打印机和扬声器的输出来进行响应的同一设备。然而,随着虚拟化概念的发展和变化,“应用虚拟化”成为一个正在迅速发展的市场。
2 . Qemu-KVM
QEMU,KVM及QEMU-KVM介绍
What's QEMU
QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,guest os可以和主机上的硬盘,网卡,CPU,CD-ROM,音频设备和USB设备进行交互。但由于所有指令都需要经过QEMU来翻译,因而性能会比较差:
What's KVM?
KVM实际是linux内核提供的虚拟化架构,可将内核直接充当hypervisor来使用。KVM需要处理器硬件本身支持虚拟化扩展,如intel VT 和AMD AMD-V技术。KVM自2.6.20版本后已合入主干并发行,除此之外,还以模块形式被移植到FreeBSD和illumos中。除了支持x86的处理器,同时也支持S/390,PowerPC,IA-61以及ARM等平台。
工作原理
KVM包含一个内核模块kvm.ko用来实现核心虚拟化功能,以及一个和处理器强相关的模块如kvm-intel.ko或kvm-amd.ko。KVM本身不实现任何模拟,仅仅是暴露了一个/dev/kvm接口,这个接口可被宿主机用来主要负责vCPU的创建,虚拟内存的地址空间分配,vCPU寄存器的读写以及vCPU的运行。有了KVM以后,guest os的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。但KVM的kvm.ko本身只提供了CPU和内存的虚拟化,所以它必须结合QEMU才能构成一个完整的虚拟化技术,也就是下面要介绍的技术。
What's QEMU-KVM
从前面的介绍可知,KVM负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm并不能模拟其他设备,还必须有个运行在用户空间的工具才行。KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,QEMU模拟IO设备(网卡,磁盘等),对其进行了修改,最后形成了QEMU-KVM。
在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建、管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl 调用 /dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但KVM不能虚拟其他硬件设备,因此qemu还有模拟IO设备(磁盘,网卡,显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化。
综上所述,QEMU-KVM具有两大作用:
1) . 提供对cpu,内存(KVM负责),IO设备(QEMU负责)的虚拟
2) . 对各种虚拟设备的创建,调用进行管理(QEMU负责)
这个方案中,QEMU模拟其他的硬件,如Network, Disk,同样会影响这些设备的性能。于是又产生了pass through半虚拟化设备virtio_blk, virtio_net,提高设备性能。
QEMU-KVM,是QEMU的一个特定于KVM加速模块的分支,里面包含了很多关于KVM的特定代码,与KVM模块一起配合使用。
目前QEMU-KVM已经与QEMU合二为一,所有特定于KVM的代码也都合入了QEMU,当需要与KVM模块配合使用的时候,只需要在QEMU命令行加上 --enable-kvm就可以。