開源云計(jì)算數(shù)據(jù)存儲(chǔ)平臺
怎么理解云計(jì)算
云計(jì)算的目標(biāo)就是為用戶提供計(jì)算機(jī)基礎(chǔ)設(shè)施服務(wù)。在云計(jì)算模式下,所有計(jì)算機(jī)資源都是由云計(jì)算廠商進(jìn)行集中管理,用戶只需要按需付費(fèi),即可獲得所需要的服務(wù)。這使得用戶(企業(yè))不用關(guān)心底層的基礎(chǔ)設(shè)施建設(shè),可以略過一系列復(fù)雜的硬件部署、軟件安裝等步驟,直接使用云計(jì)算廠商提供的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)等資源即可。這對于用戶來說,是將部署計(jì)算機(jī)資源從購買產(chǎn)品轉(zhuǎn)換為購買服務(wù)。
通俗的例子:比如常見的水電站。我們每天都要用到水和電,但是并不是每家每戶每個(gè)企業(yè)都去建立自己的發(fā)電廠和水井等設(shè)施。我們只需要繳納一定的費(fèi)用就可以享受這樣的服務(wù)。
云計(jì)算中的“云”可以簡單理解為任何可以通過互聯(lián)網(wǎng)訪問的服務(wù),那么根據(jù)其可以提供的服務(wù)類型,云計(jì)算有一下3種落地方式:
- Iaas:基礎(chǔ)設(shè)施即服務(wù)。通過互聯(lián)網(wǎng)提供“基礎(chǔ)的計(jì)算資源”,包括處理能力、存儲(chǔ)空間、網(wǎng)絡(luò)等,用戶能從中申請到虛擬或者物理的硬件設(shè)備,包括裸機(jī)或者虛擬機(jī),可在上面安裝操作系統(tǒng)或其他應(yīng)用程序。典型的代表為Amazon的AWS,阿里云的ECS。
- Paas:平臺即服務(wù)。將計(jì)算環(huán)境和開發(fā)環(huán)境等平臺作為一種服務(wù)通過互聯(lián)網(wǎng)提供給用戶,用戶能從中申請到一個(gè)安裝了操作系統(tǒng)及各種所需運(yùn)行庫的物理機(jī)或者虛擬機(jī),可在上面安裝其他應(yīng)用程序,但是不能修改已經(jīng)裝好的操作系統(tǒng)和運(yùn)行環(huán)境。
- Saas:軟件即服務(wù)。通過互聯(lián)網(wǎng)為用戶提供軟件的一種服務(wù)方式。應(yīng)用軟件安裝在廠商或者服務(wù)供應(yīng)商那里。用戶可以通過網(wǎng)絡(luò)以租賃而非購買的方式來使用這種軟件。典型的應(yīng)用有百度網(wǎng)盤、360云盤等。幾乎所有的應(yīng)用都是軟件即服務(wù)。
存儲(chǔ)管理和軟件定義存儲(chǔ)
軟件定義存儲(chǔ)的誕生背景:各種新型技術(shù)的不斷進(jìn)步以及互聯(lián)網(wǎng)行業(yè)的快速發(fā)展帶來了巨大的存儲(chǔ)需求。隨著存儲(chǔ)系統(tǒng)的多樣化,急需一種高效、統(tǒng)一的存儲(chǔ)軟件以管理不同的存儲(chǔ),并可以在不同的存儲(chǔ)之間根據(jù)用戶的需求進(jìn)行相應(yīng)的調(diào)度。
計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)3個(gè)基礎(chǔ)設(shè)施的發(fā)展推動(dòng)了軟件定義存儲(chǔ)的發(fā)展。軟件定義存儲(chǔ)通常包括兩個(gè)部分:控制平面和數(shù)據(jù)平面。
軟件定義存儲(chǔ)開源項(xiàng)目
OpenSDS
OpenSDS:最早由華為提出,旨在為存儲(chǔ)業(yè)界提供標(biāo)準(zhǔn)化的軟件定義存儲(chǔ)控制平面,從而為用戶解決存儲(chǔ)過于復(fù)雜的問題。由于當(dāng)前存儲(chǔ)管理過于復(fù)雜,后端涉及各種各樣的存儲(chǔ)設(shè)備供應(yīng)商,虛擬化技術(shù)等,部署和使用極不方便。OpenSDS開放了統(tǒng)一、標(biāo)準(zhǔn)化的軟件定義存儲(chǔ)控制器架構(gòu)。最上層向用戶提供統(tǒng)一的接口;中間層用來處理基本的調(diào)度和管理,最下層接入不同的存儲(chǔ)后端支持。從而管理不同的存儲(chǔ)后端,提供統(tǒng)一標(biāo)準(zhǔn)的結(jié)構(gòu),給用戶提供一個(gè)更加整潔、靈活的使用方式。
Libvirt Storage Management:
Libvirt是由Redhat開發(fā)的一套開源軟件工具。其在host端通過管理存儲(chǔ)池和卷來為虛擬機(jī)提供存儲(chǔ)資源。libvirt可以與多種虛擬機(jī)交互,包括 KVM/QEMU、Xen、LXC、Virtual Box、VMware ESX及Hyper-V等。另外,libvirt支持多種后端存儲(chǔ)類型,如本地文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)、iSCSI、LVM等。
OHSM(Online Hierarchical Storage Manager)
OHSM是企業(yè)級開源數(shù)據(jù)存儲(chǔ)管理器。它在高成本和低成本的存儲(chǔ)介質(zhì)之間自動(dòng)移動(dòng)數(shù)據(jù)。OHSM系統(tǒng)的存在是因?yàn)楦咚俅鎯?chǔ)設(shè)備(如硬盤驅(qū)動(dòng)器)比慢的設(shè)備(如光盤和磁帶驅(qū)動(dòng)器)更昂貴(每字節(jié)存儲(chǔ))。理想的情況是所有數(shù)據(jù)都可以在高速設(shè)備上使用,但這對于許多用戶來說是非常昂貴的。相反,OHSM將企業(yè)的大部分?jǐn)?shù)據(jù)存儲(chǔ)在較慢設(shè)備上,然后在需要的時(shí)候?qū)?shù)據(jù)復(fù)制到更快的磁盤驅(qū)動(dòng)器上,從而實(shí)現(xiàn)動(dòng)態(tài)的數(shù)據(jù)管理。動(dòng)態(tài)的數(shù)據(jù)管理能更靈活、充分地利用后端存儲(chǔ)資源。
開源分布式存儲(chǔ)
什么是分布式存儲(chǔ)
分布式存儲(chǔ)就是將多臺獨(dú)立的設(shè)備通過某種網(wǎng)絡(luò)通信連接起來,組成一個(gè)大的集群,從而使集群中不同設(shè)備的硬盤驅(qū)動(dòng)器、固態(tài)硬盤等介質(zhì)組成一個(gè)大規(guī)模的存儲(chǔ)資源池。分布式存儲(chǔ)系統(tǒng)一般包含三大組件:元數(shù)據(jù)服務(wù)器(也稱主控服務(wù)器)、客戶端及數(shù)據(jù)服務(wù)器
元數(shù)據(jù)服務(wù)器
元數(shù)據(jù)服務(wù)器是分布式存儲(chǔ)系統(tǒng)的核心,主要在系統(tǒng)中提供以下服務(wù):
- 命名空間管理:命名空間管理主要負(fù)責(zé)分布式存儲(chǔ)系統(tǒng)中的元數(shù)據(jù)管理,比如對象或者文件塊到數(shù)據(jù)服務(wù)器的索引、文件之間的關(guān)系等。因?yàn)樵诜植际酱鎯?chǔ)系統(tǒng)中,會(huì)涉及大量的大型存儲(chǔ)對象,它們一般會(huì)被分割成小的對象分配到不同的存儲(chǔ)位置,因此命名空間的管理十分重要。這不僅涉及到系統(tǒng)中數(shù)據(jù)一致性的問題,也涉及訪問文件的效率。不同的分布式存儲(chǔ)系統(tǒng)采用不同的命名空間管理方法,有些分布式系統(tǒng)采用將元數(shù)據(jù)全部基于內(nèi)存的存儲(chǔ)方式,分布式存儲(chǔ)系統(tǒng)采用特殊的文件系統(tǒng)或者數(shù)據(jù)庫等方式來存儲(chǔ)元數(shù)據(jù)。
- 數(shù)據(jù)服務(wù)器管理:由于分布式存儲(chǔ)系統(tǒng)是由多個(gè)設(shè)備組成的集群,各個(gè)數(shù)據(jù)服務(wù)器的運(yùn)行情況顯得極為重要。元數(shù)據(jù)服務(wù)器也兼任了數(shù)據(jù)服務(wù)器的管理工作,它需要掌握集群中各個(gè)系統(tǒng)的實(shí)時(shí)情況。如果發(fā)生某些節(jié)點(diǎn)故障,它需要及時(shí)恢復(fù)并啟用備份節(jié)點(diǎn)。對于數(shù)據(jù)服務(wù)器的管理,不同的存儲(chǔ)系統(tǒng)采用不同的策略。常見的方式是各個(gè)數(shù)據(jù)服務(wù)器節(jié)點(diǎn)不間斷的向元數(shù)據(jù)服務(wù)器發(fā)送心跳感應(yīng)來報(bào)告當(dāng)前節(jié)點(diǎn)的運(yùn)行狀況。
- 主備份容災(zāi):為了提高數(shù)據(jù)的可靠性和安全性,分布式存儲(chǔ)系統(tǒng)通常會(huì)進(jìn)行多組備份。不僅數(shù)據(jù)需要備份,而且元數(shù)據(jù)也需要備份。另外在基于內(nèi)存的元數(shù)據(jù)管理方式中,還需要開啟日志系統(tǒng)來持久化數(shù)據(jù)。當(dāng)單一節(jié)點(diǎn)出現(xiàn)問題,元數(shù)據(jù)服務(wù)器會(huì)根據(jù)當(dāng)前的系統(tǒng)狀態(tài)轉(zhuǎn)移并啟用備份節(jié)點(diǎn)。
數(shù)據(jù)服務(wù)器
- 數(shù)據(jù)的本地存儲(chǔ):數(shù)據(jù)服務(wù)器會(huì)維護(hù)數(shù)據(jù)本地化的持久化存儲(chǔ)。對于較小的文件,數(shù)據(jù)服務(wù)器通常會(huì)進(jìn)行整合。例如,將多個(gè)文件存儲(chǔ)在同一個(gè)塊中,從而提高空間的利用率。對于較大的文件,數(shù)據(jù)服務(wù)器通常會(huì)將其分割成多個(gè)小的文件,從而利用分布式存儲(chǔ)的特點(diǎn),將其放置在不同的節(jié)點(diǎn)上。同時(shí),所有文件數(shù)據(jù)塊都將與元數(shù)據(jù)做文件索引,從而實(shí)現(xiàn)對文件數(shù)據(jù)的管理。
- 狀態(tài)維護(hù):除了做數(shù)據(jù)存儲(chǔ),數(shù)據(jù)服務(wù)器還會(huì)進(jìn)行狀態(tài)維護(hù)。數(shù)據(jù)服務(wù)器將自己的狀態(tài)信息報(bào)告給元數(shù)據(jù)服務(wù)器,通常這些信息包括當(dāng)前的磁盤負(fù)載、io狀態(tài)、CPU負(fù)載、網(wǎng)絡(luò)情況等,從而方便元數(shù)據(jù)服務(wù)器進(jìn)行任務(wù)調(diào)度和文件數(shù)據(jù)的劃分,同時(shí)制定負(fù)載均衡策略。
- 副本管理:為了提高數(shù)據(jù)的可靠性和安全性,分布式存儲(chǔ)系統(tǒng)通常會(huì)將文件數(shù)據(jù)做多個(gè)備份,根據(jù)不同的策略將其存放在不同的位置。當(dāng)有其他節(jié)點(diǎn)出現(xiàn)故障或負(fù)載出現(xiàn)不均衡的時(shí)候,元數(shù)據(jù)服務(wù)器會(huì)根據(jù)情況復(fù)制或遷移副本,從而保證整個(gè)系統(tǒng)中數(shù)據(jù)的安全性和可用性。
客戶端
客戶端面向用戶,最主要的任務(wù)是提供接口給用戶,使用戶能夠訪問數(shù)據(jù)資源。常見的方式是給用戶提供可移植操作系統(tǒng)接口,以便能夠虛擬文件系統(tǒng)對接;其次向用戶提供基于用戶態(tài)的用戶訪問接口。另外,其他的分布式系統(tǒng)向用戶提供RESTful接口支持。從而使用戶可以通過HTTP的方式訪問文件資源。
常見的開源分布式存儲(chǔ)軟件
Hadoop
Hadoop是一個(gè)軟件編程框架模型,利用計(jì)算機(jī)集群處理大規(guī)模的數(shù)據(jù)集進(jìn)行分布式存儲(chǔ)和分布式計(jì)算。Hadoop由4個(gè)模塊組成,即Hadoop Common、HDFS(Hadoop Distributed File System)、Hadoop YARN及Hadoop MapReduce。其中,HDFS和Hadoop MapReduce是主要模塊。HDFS是是一個(gè)分布式存儲(chǔ)系統(tǒng),為海量數(shù)據(jù)提供存儲(chǔ)服務(wù)。而Hadoop MapReduce是一個(gè)分布式計(jì)算框架,用來為海量數(shù)據(jù)提供計(jì)算服務(wù)。
GlusterFS
GlusterFS是一個(gè)開源分布式存儲(chǔ)系統(tǒng),具有強(qiáng)大的橫向擴(kuò)展能力,能夠靈活地結(jié)合物理、虛擬的云資源實(shí)現(xiàn)高可用的企業(yè)級性能存儲(chǔ)。借助TCP/IP或infiniBand RDMA網(wǎng)絡(luò)將物理分布的網(wǎng)絡(luò)存儲(chǔ)資源聚集在一起,并使用統(tǒng)一的全局命名空間來管理數(shù)據(jù)。同時(shí),GlusterFS基于可堆砌的用戶空間設(shè)計(jì),可以為不同的數(shù)據(jù)負(fù)載提供優(yōu)質(zhì)的性能。相比于傳統(tǒng)的SAN 和NAS,GlusterFS容量可以按照比例擴(kuò)展;廉價(jià)且使用簡單,可以完全建立在已有的文件系統(tǒng)上;擴(kuò)展和容錯(cuò)能力比較合理且復(fù)雜度低;適應(yīng)性強(qiáng),部署方便,對環(huán)境依賴低。
ceph
ceph作為一種分布式存儲(chǔ)系統(tǒng),通過統(tǒng)一的平臺提供對象存儲(chǔ)、塊存儲(chǔ)和文件存儲(chǔ),具有強(qiáng)大的伸縮性,能夠?yàn)橛脩籼峁㏄B或EB級的數(shù)據(jù)存儲(chǔ)空間。ceph的優(yōu)點(diǎn)在于,它充分利用了各個(gè)節(jié)點(diǎn)的存儲(chǔ)能力和計(jì)算能力。在存儲(chǔ)數(shù)據(jù)時(shí)通過哈希算法計(jì)算出數(shù)據(jù)的存儲(chǔ)位置,實(shí)現(xiàn)了集群中的負(fù)載均衡;并采用crush、哈希環(huán)等方法,使它可以避免傳統(tǒng)單點(diǎn)故障的問題,在大規(guī)模集群中仍然能保持穩(wěn)態(tài)。目前,一些開源云計(jì)算項(xiàng)目都已經(jīng)開始支持ceph。例如,在openstack中,ceph可以對接openstack的Cinder后端存儲(chǔ)、Glance的鏡像存儲(chǔ)以及虛擬機(jī)的數(shù)據(jù)存儲(chǔ)。文章來源:http://www.zghlxwxcb.cn/news/detail-739598.html
Sheepdog
Sheepdog作為一種分布式存儲(chǔ)系統(tǒng),主要用于為虛擬機(jī)提供塊存儲(chǔ)服務(wù)。sheepdog采用了完全對稱的結(jié)構(gòu),沒有元數(shù)據(jù)服務(wù)器的中心節(jié)點(diǎn),沒有單點(diǎn)故障、性能可以線性擴(kuò)展。當(dāng)集群中有新節(jié)點(diǎn)加入時(shí),sheepdog能自動(dòng)檢測并將新節(jié)點(diǎn)加入到集群中,數(shù)據(jù)自動(dòng)實(shí)現(xiàn)負(fù)載均衡。目前KVM/QEMU、Openstack、Libvirt等都很好的支持了Sheepdog。Sheepdog總體包括了集群管理和存儲(chǔ)管理兩大部分,運(yùn)行后將啟動(dòng)兩種類型的進(jìn)程:sheep和dog。其中sheep進(jìn)程作為守護(hù)進(jìn)程兼?zhèn)涔?jié)點(diǎn)路由及對象存儲(chǔ)功能;dog進(jìn)程作為管理進(jìn)程可管理整個(gè)集群。在sheepdog對象存儲(chǔ)系統(tǒng)中,getway負(fù)責(zé)從QEMU的塊設(shè)備驅(qū)動(dòng)上接收io請求,并通過哈希算法計(jì)算出目標(biāo)節(jié)點(diǎn),將io轉(zhuǎn)發(fā)到相應(yīng)的節(jié)點(diǎn)上。文章來源地址http://www.zghlxwxcb.cn/news/detail-739598.html
到了這里,關(guān)于Linux開源存儲(chǔ)方案系統(tǒng)介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!