从最早的IBM AIX LVM到(dào)HP EVA vDisk,将存储资源虚拟化的概念由(yóu)来已久。起初(chū),云存(cún)储是为了解决(jué)存储的低成本、可扩展(zhǎn)和资源池化(huà),从而(ér)实现所谓的按需所取,涉及的技术不仅(jǐn)有(yǒu)虚拟化、分布式,还有网络与负载均衡等等。广义来看,这种(zhǒng)数据(jù)存储即服务(DaaS)的运(yùn)作方式大体可分为虚拟化(huà)存(cún)储和分布式存储,前者是(shì)云存储走到今天的必(bì)然手(shǒu)段,后(hòu)者(zhě)则是云存储的未来趋势。
传统的存储方案SAN或NAS无法(fǎ)满足容量(liàng)和性(xìng)能的高并发需求,集成(chéng)式(shì)的组件和接口限制了动(dòng)态扩展能(néng)力,自然也就(jiù)难(nán)以(yǐ)做到按需服务,这恰(qià)恰是DaaS的主要优(yōu)势。概括来说,云存储就是存储(chǔ)的虚拟化+自动化,并(bìng)且(qiě)网络在(zài)其中起到了不可或缺的作(zuò)用。实现(xiàn)过程中,像数据块、磁盘、磁带(dài)库、文件系(xì)统等都可以(yǐ)被虚拟化。
网络(luò)之(zhī)于云存储是重要的,但其(qí)只是存储(chǔ)虚拟化的(de)一个功能。存储(chǔ)虚拟化可以在系统架构的各个层实现,而在网络层(céng)可(kě)以(yǐ)做(zuò)到横跨异构磁盘阵列,相(xiàng)当于在数据中心内部构建了一(yī)个大型的资源池(chí)。需要注意的是,池(chí)化时(shí)的异构管理要确保存储的标准化(huà),原(yuán)因是(shì)在多云多租户的环境下,只有各(gè)家采用相同的(de)规范才能做(zuò)到被统一调(diào)用。
作为云存储的基础,虚拟化(huà)存储的本质是实现(xiàn)了从(cóng)物理存储到逻辑存储的转变。在物理(lǐ)介质和服务器之间,虚拟化的(de)对(duì)象既可以是前文提到的(de)网络,也可以是主(zhǔ)机或存储(chǔ)设备。当然,这些方式各(gè)有利弊(bì),例如在主机层虚拟化(huà)便于(yú)部(bù)署,但与存储有关的软(ruǎn)件要运行在(zài)同一个主机上(shàng),越权管理增加了核心(xīn)数据的安全风险(xiǎn),而把功能集中在存储设备上则会过度消耗存储(chǔ)控制器的资源(yuán)。
以虚拟磁盘为例,通(tōng)常的服务器(qì)扩展存储方案包(bāo)括DAS、SAN、NAS。在(zài)虚拟(nǐ)化环境(jìng)中,首先要(yào)把物理(lǐ)资源划分为虚拟磁盘,之(zhī)后“虚拟机管理员”会为(wéi)多个虚拟化分配(pèi)存储空间。从物理层(céng)面来看,DAS直连虚拟机满足不了磁(cí)盘的数(shù)量需求(qiú)。从虚拟层面来看,逻(luó)辑单元也(yě)难以支撑大(dà)规模(mó)的虚拟机(jī)运行。考虑到云环(huán)境(jìng)的虚拟(nǐ)机要被随(suí)时(shí)创建、销(xiāo)毁、共享,传(chuán)统的存储扩展方式并(bìng)不适用(yòng)。
随(suí)着x86系统性能的不断提升,以此来构(gòu)建(jiàn)大规模存(cún)储集群(qún)变为可能。事实上,分(fèn)布式存储早(zǎo)在云计算(suàn)之前就出现了,在(zài)云时代又焕(huàn)发(fā)了新颜。借助分(fèn)布式文件系统,不仅可以提供弹性存储资(zī)源,还能(néng)根据应用需(xū)求提(tí)供各类接口,例如分布(bù)式对象存储的http接口(kǒu)让用户无需操心文件的存放位置或是否丢失(shī),像(xiàng)AWS的S3就有多层(céng)验证(zhèng)机制(zhì)。
对象存储、块存储、文件存储是分布式存(cún)储的三大利(lì)器,三者的接口是不一样(yàng)的,因此适用的业务形态也不(bú)同。块存储可以(yǐ)直接挂在主(zhǔ)机上,直接读写(xiě)磁盘空间的某段地址(zhǐ)即可访问数据,资源调取效率较高,像一(yī)些大规(guī)模数据库多采用这种部署;文件(jiàn)存储通常用于应用层,通过(guò)TCP/IP协(xié)议访问,需要使用者专(zhuān)门对文件写脚本,因此延时要(yào)高(gāo)于块(kuài)存储,可借助NAS虚(xū)拟化处理非(fēi)结构化数据;对象存储(chǔ)具备二者的(de)优点,兼顾高速(sù)、共享、智(zhì)能,并且引入了(le)容器技术(shù),打包交付和扩展能力较强。
当(dāng)然,考虑到部署成本和某些特定(dìng)场景,对象存储并(bìng)不能(néng)完全取代块存储或(huò)文件存储。例如数据(jù)库有时(shí)要直(zhí)接向裸盘(pán)映(yìng)射,更(gèng)适合块存(cún)储的方案。此外,如果对数(shù)据量的存储要求不(bú)高,只是想实现共享数据,文件存储就可以满足要求。不管怎样,分布式存(cún)储要比传统的虚(xū)拟(nǐ)化存储(chǔ)方案更加灵活,适用范围也更广。
如今,存储方案已经(jīng)从传统架构向云架构(gòu)演(yǎn)变,企业(yè)客户在业务部署时要基(jī)于(yú)业务的实际需求,结合数据结构和规模的特点,选择相对应的存储方案(àn),不能冒进全面替换新架构(gòu)而加(jiā)大额(é)外的成本支出。不过从(cóng)长期来看(kàn),基于x86的分布式存储,以(yǐ)其集群架(jià)构实现(xiàn)的横向扩(kuò)展能力(lì)将成为云存储领域的主角。