自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

云存儲(chǔ)產(chǎn)品淺析

云計(jì)算
云上存儲(chǔ)產(chǎn)品主要有對(duì)象存儲(chǔ),塊存儲(chǔ),網(wǎng)絡(luò)文件系統(tǒng)(NAS),還有最賺錢(qián)的CDN,我們將針對(duì)這些主流產(chǎn)品,講講他們產(chǎn)品特點(diǎn),有云上存儲(chǔ)時(shí)候知道如何選型。

云上存儲(chǔ)產(chǎn)品主要有對(duì)象存儲(chǔ),塊存儲(chǔ),網(wǎng)絡(luò)文件系統(tǒng)(NAS),還有***錢(qián)的CDN,我們將針對(duì)這些主流產(chǎn)品,講講他們產(chǎn)品特點(diǎn),有云上存儲(chǔ)時(shí)候知道如何選型,當(dāng)然我們是技術(shù)型作者也會(huì)簡(jiǎn)單講講實(shí)現(xiàn)思路,出于信息安全,不可能完全闡述工業(yè)界方案。 工業(yè)界各大廠商很多上層存儲(chǔ)產(chǎn)品都重度依賴(lài)底層文件系統(tǒng),我們也捎帶說(shuō)說(shuō)存儲(chǔ)祖師爺DFS。

一、Linux IO STACK

Linux IO STACK

云計(jì)算本質(zhì)就是單機(jī)計(jì)算能力的***擴(kuò)展,我們先看看單機(jī)的文件及IO管理。 linux操作系統(tǒng)一個(gè)IO操作要經(jīng)由文件系統(tǒng)vfs,調(diào)度算法,塊設(shè)備層,最終落盤(pán)

  • 其中vfs層有具體的NFS/smbfs 支持網(wǎng)絡(luò)協(xié)議派生出來(lái)NAS產(chǎn)品
  • VFS還有一個(gè)fuse文件系統(tǒng),可切換到用戶(hù)態(tài)上下文。上層分布式存儲(chǔ)只要適配了Libfuse接口,就可訪問(wèn)后端存儲(chǔ)
  • 在設(shè)備層,通過(guò)擴(kuò)展ISCSI網(wǎng)絡(luò)協(xié)議,衍生出了塊存儲(chǔ)

二、存儲(chǔ)產(chǎn)品架構(gòu)流派

1. 分層或平層

如hbase,底層基于hdfs文件系統(tǒng),hbase不用考慮replication,專(zhuān)注于自身領(lǐng)域問(wèn)題

特點(diǎn):大大降低開(kāi)發(fā)成本,穩(wěn)定性依賴(lài)底層存儲(chǔ),底層不穩(wěn)定,上層遭殃。

2. 豎井

自己做replication,自己做副本recover,自己做寫(xiě)時(shí)recover

master-slave體系架構(gòu)

master-slave體系架構(gòu)

兩層索引體系,解決lots of small file:

  • ***層,master維護(hù)一個(gè)路由表,通過(guò)fileurl找到對(duì)應(yīng)slave location(ip+port)
  • 第二層,slave單機(jī)索引體系,找到具體的location,讀出raw data

DFS

DFS

3. 特點(diǎn)

豐富類(lèi)posix語(yǔ)意,特點(diǎn)Append-only存儲(chǔ),不支持pwrite

4. 可能存在問(wèn)題

  • Pb級(jí)別存儲(chǔ)方案,非EB級(jí)別。 原因namenode集中式server,內(nèi)存&qps瓶頸,bat體量公司需運(yùn)維上百個(gè)集群
  • 默認(rèn)三副本,成本高
  • 強(qiáng)一致寫(xiě),慢節(jié)點(diǎn)問(wèn)題

5. 演進(jìn)

GFS2拆分了namenode,拆分成目錄樹(shù),blockservice,外加ferdaration,但namespace集中式server缺陷依舊,同時(shí)切分image是要停服,水平擴(kuò)展不是那么友好。

三、對(duì)象存儲(chǔ)

對(duì)象存儲(chǔ)

1. 元數(shù)據(jù)管理

Blobstorage: blobid->[raw data]

Metastore,aws s3又稱(chēng)為keymap,本質(zhì)上是個(gè)kv系統(tǒng)。存儲(chǔ)內(nèi)容file_url->[blobid list]

2. I/O 路徑

  • httpserver收到muti-part form,收到固定大小raw data,切成K份等長(zhǎng)條帶
  • 條帶做EC,生成(N-K)份編碼塊,共得到N份shard?,F(xiàn)在的問(wèn)題變成了這N份數(shù)據(jù)存哪
  • 客戶(hù)端的代理繼續(xù)向blobstorage申請(qǐng)一個(gè)全局的id,這個(gè)id代表了了后端實(shí)際node的地址,以及這個(gè)node管理的實(shí)際物理卷,我們的每個(gè)分片數(shù)據(jù)均等的存在這些物理卷上。
  • 分發(fā)寫(xiě)N份數(shù)據(jù),滿(mǎn)足安全副本數(shù)即可返回寫(xiě)成功,寫(xiě)失敗的可延時(shí)EC方式修復(fù)
  • httpserver將文件file及對(duì)應(yīng)的分片列表以KV形式寫(xiě)入metastore。

3. 特點(diǎn)

基于http協(xié)議 ws服務(wù),接口簡(jiǎn)單,put/get,延時(shí)高。 EB級(jí)別存儲(chǔ)方案,適合云上產(chǎn)品形態(tài)。深度目錄樹(shù)變成兩層目錄結(jié)構(gòu)(bucket+object)。

4. 缺點(diǎn)

posix語(yǔ)意接口太少,不提供append語(yǔ)意(其實(shí)是通過(guò)覆蓋寫(xiě)提供),更別說(shuō)隨機(jī)寫(xiě)。

四、塊存儲(chǔ)

1. iscsi模型

與后端交互的的部分在內(nèi)核實(shí)現(xiàn),后端target解析iscsi協(xié)議并將請(qǐng)求映射到后端分布式存儲(chǔ)

2. 特點(diǎn)

  • 絕大多數(shù)請(qǐng)求大小是4K對(duì)齊的blocksize. 塊設(shè)備的使用一般上層文件系統(tǒng),而大多數(shù)主流文件系統(tǒng)的塊大小是4KB,文件最小操作粒度是塊,因此絕大多數(shù)的IO請(qǐng)求是4KB對(duì)齊的。
  • 強(qiáng)一致. 塊設(shè)備必須提供強(qiáng)一致,即寫(xiě)返回后,能夠讀到寫(xiě)進(jìn)去的數(shù)據(jù)。
  • 支持隨機(jī)寫(xiě),延時(shí)要低 用戶(hù)基于虛擬塊設(shè)備構(gòu)建文件系統(tǒng)(ext4),對(duì)于文件編輯操作很頻繁,所以需要支持隨機(jī)寫(xiě)。 比NAS/Fuse類(lèi)產(chǎn)品性能好,只hack塊設(shè)備讀寫(xiě),上層dentry lookup還是走原來(lái)的IO path,沒(méi)有像NAS/FUSE dentry的lookup發(fā)起多次rpc問(wèn)題
  • 產(chǎn)品層面需要預(yù)先購(gòu)買(mǎi)容量,擴(kuò)容需要重新掛載,跟NAS比容易浪費(fèi)空間

3. 實(shí)現(xiàn)模型

云盤(pán)邏輯卷按block切分,為了便于recover,按1G切分,***層路由由blockManager管理,按volumeid+offset 映射到邏輯block,邏輯block location在三臺(tái)blockserver上。Blockserver預(yù)先創(chuàng)建一個(gè)1G文件(falloc,防止寫(xiě)過(guò)程中空間不夠),稱(chēng)為物理block。對(duì)于邏輯卷這段區(qū)間所有的IO操作都會(huì)落到這個(gè)物理block文件上,很容易實(shí)現(xiàn)pwrite。當(dāng)然也可以基于裸盤(pán),在os看來(lái)是一個(gè)大文件,分割成不同的1G文件

4. IO路徑

塊設(shè)備上層會(huì)有文件系統(tǒng),經(jīng)過(guò)io調(diào)度算法,合并io操作,isici協(xié)議發(fā)出的IO請(qǐng)求的都是對(duì)扇區(qū)LBA的操作,所以可以簡(jiǎn)單抽象成對(duì)于卷id加上偏移的操作,我們簡(jiǎn)單講講EBS(Elastic Block Store)層IO路徑:

  • 網(wǎng)絡(luò)發(fā)出來(lái)的IO請(qǐng)求是針對(duì)volume+offerset操作,假定是個(gè)寫(xiě)請(qǐng)求
  • 通過(guò)blockManager查找到邏輯block
  • 在內(nèi)存中找到block對(duì)應(yīng)的物理地址(ip+port),block的replicationGroup
  • 使用業(yè)界通用復(fù)制鏈方式如raft協(xié)議向replicationGroup發(fā)送io請(qǐng)求,raft幫我們解決寫(xiě)時(shí)失敗tuncate問(wèn)題
  • 單節(jié)點(diǎn)接到IO請(qǐng)求,把LBA換算成真實(shí)的文件偏移,pwrite寫(xiě)下去

5. 優(yōu)化

  • 可想而知,這種存儲(chǔ)模型下,后端node會(huì)有大量的隨機(jī)寫(xiě),吞吐肯定不高,有很大的優(yōu)化空間 可以通過(guò)類(lèi)似LSM引擎方式,將隨機(jī)寫(xiě)變成順序?qū)?,讀者可深入思考,本文不詳細(xì)探討了。
  • 虛擬磁盤(pán)可以切條掉,相當(dāng)于raid盤(pán)思路,單塊盤(pán)的IO變成多多塊盤(pán),增大吞吐。

五、NAS

用戶(hù)通過(guò)mount目錄訪問(wèn)共享文件,mount點(diǎn)掛在的是一個(gè)NFS協(xié)議的文件系統(tǒng),會(huì)通過(guò)tcp訪問(wèn)到NFS server。

NFS server是一個(gè)代理,通過(guò)libcfs最終會(huì)訪問(wèn)到我們后端的存儲(chǔ)系統(tǒng)。

1. 后端存儲(chǔ)系統(tǒng)

DS包含管理inode的metastore和datastore

(1) metastore

我們充分吸取業(yè)界DFS缺點(diǎn),解決Namenode集中式server瓶頸,充分考慮bigtable的各種優(yōu)點(diǎn)。Metastore可基于分布式數(shù)據(jù)庫(kù)(newsql),回想一下bigtable,一個(gè)用戶(hù)的文件散落在多個(gè)tabletserver上,允許用戶(hù)跨tabletserver rename操作,所以需要分布式事務(wù)完成上述保證,出于對(duì)DFS改進(jìn),我們把目錄樹(shù)持久化 模仿linux fs dentry管理,映射規(guī)則如下 兩張表,dentry表和inode表,dentry表描述目錄樹(shù),inode表描述文件block列表及atime,mtime,uid,gid等源信息,一般來(lái)講硬鏈夠用,該場(chǎng)景下dentry可以多份,共同指向一個(gè)inode。 dentry通過(guò)外健關(guān)聯(lián)到inode表

(2) Dentry表

Dentry表

(3) Inode表

比如lookup 子節(jié)點(diǎn)

  1. SELECT i.* FROM Dentry d, Inode i WHERE d.PARENT_DID=$PARENT_ID AND d.NAME=$NAME AND d.FSID=$FSID and i.inode_id = d.inode_id; 

(4) datastore

特點(diǎn):要求提供隨機(jī)寫(xiě),所以跟塊存儲(chǔ)EBS設(shè)計(jì)思路是一樣的,大文件切塊,按塊組織,dataserver上有真實(shí)的物理block文件,提供pwrite操作。

2. 特點(diǎn)

彈性容量,不限容量,多機(jī)掛載并行讀寫(xiě),IO線性增長(zhǎng),支持隨機(jī)寫(xiě) 比塊存儲(chǔ)優(yōu)勢(shì)在于用多少花多少,不需要提前申請(qǐng)容量,真彈性

3. 缺點(diǎn)

vfs層 dentry lookup每個(gè)層級(jí)目錄會(huì)發(fā)起rpc,延時(shí)高。

六、總結(jié)

【本文為51CTO專(zhuān)欄作者“大數(shù)據(jù)和云計(jì)算”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)微信公眾號(hào)獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2018-11-13 09:49:11

存儲(chǔ)云存儲(chǔ)云備份

2019-07-17 10:40:13

云存儲(chǔ)數(shù)據(jù)存儲(chǔ)

2016-11-03 13:35:00

云產(chǎn)品購(gòu)買(mǎi)攻略雙十一

2009-01-16 15:29:37

CTERANAS云直連存儲(chǔ)

2013-01-08 14:51:49

阿里云開(kāi)放存儲(chǔ)OSS

2018-09-12 10:10:11

云存儲(chǔ)種類(lèi)特征

2018-01-17 22:44:46

云存儲(chǔ)云服務(wù)存儲(chǔ)

2012-06-20 09:22:14

云存儲(chǔ)

2012-06-18 15:12:58

云存儲(chǔ)

2014-11-21 13:44:56

對(duì)象存儲(chǔ)服務(wù)云存儲(chǔ)華為

2023-03-17 08:04:15

云存儲(chǔ)安全Veritas

2021-09-29 12:45:04

存儲(chǔ)CDS阿里云

2016-11-08 13:03:51

新東方 存儲(chǔ)

2013-01-08 14:45:22

2010-09-27 13:32:18

選擇DLP產(chǎn)品

2012-06-15 09:26:21

云存儲(chǔ)

2012-01-06 10:08:57

云計(jì)算云存儲(chǔ)

2010-06-30 10:38:05

2013-08-01 11:31:50

存儲(chǔ)虛擬化虛擬化

2017-07-24 18:35:16

華為
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)