色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

塊存儲設備知識詳解

Linux閱碼場 ? 來源:未知 ? 作者:李倩 ? 2018-05-16 16:11 ? 次閱讀

塊存儲設備

互聯網越來越發達,網速越來越快(管制也越來越嚴),很多事情都可以通過聯網解決。很多存儲行業商家也get到了這個點。下圖是個極簡的模型,商家存儲設備(黑盒子),用戶一個筆記本電腦,通過TCP/IP承載的iSCSI協議,對于Linux用戶,可以看到一個塊設備/dev/sdax,就像使用本地硬盤(如/dev/sda)一樣,可以對其進行分區,格式化為文件系統,亦或直接裸設備讀寫。

圖9 塊存儲設備

對于用戶,這就夠了,著實方便,付錢就行。

對于一個有追求的碼農,我們是有必要看看這個黑盒子里面是什么。下圖是黑盒子里面的東西,再次強調,包括本文之前或之后的插圖及描述,都是十分宏觀的。篇幅有限不能說的太細,符合本文主旨;另外,說的太細就會和具體商家產品很像,咱不能那么干。

拋開硬件、驅動、OS等,直接看軟件邏輯,首先將系統上的硬盤組成多個RAID,如何組,組成哪種RAID,哪幾塊盤組成RAID等等,這些都是可以通過管理員配置。有人問了(對,還是前面問問題的那個人):“就一個RAID行不行?”

可以,但是有風險,如果一個盤出現故障,RAID就暫時不能提供服務了,整個系統所有用戶會受到影響。如果組成多個RAID,那么,僅僅有故障盤的RAID暫時無法服務,其它RAID是可以繼續工作,不至于影響所有用戶。套用某相聲表演藝人的話說,用戶就是衣食父母。

繼續看圖,軟件對下要管理RAID,對上要為用戶提供服務,它給用戶提供的是LUN(全稱是Logical Unit Number,也就是邏輯單元號),當然啦,用戶(人)不必去理解什么是LUN,就如上面所說,頂多是一個/dev/sdax,LUN是軟件、協議層面的東西。怎么理解呢?每個LUN關聯了一組物理存儲資源,你擁有了這個LUN,就擁有了這組物理存儲資源,凡是使用物理存儲資源,需要提供你的LUN ID。有過編程經驗的人很容易理解,十分類似一個文件或socket句柄。客戶端(這里不使用用戶這個詞,這里偏只程序)對LUN的讀寫,至少需要提供”LUN ID+R/W+Offset+Length[+data]”這些信息

為什么需要LUN,而不是把RAID直接“丟給”用戶?

圖10 塊存儲設備內部

因為每個用戶的需求是不一樣。

碼農李二狗,全部身家800G代碼,做開發的時候谷歌一下然后復制粘貼來的。某宅男,擁有海量高清大片,4TB+不在話下。按照圖10,我們可以給李二狗分配LUN 1,給某宅男分配LUN 2。軟件邏輯層負責做映射,事實上,一個LUN可以映射到多個RAID,多個LUN也可以映射到一個RAID上(不常用,因為RAID故障影響多個用戶),用戶數據都會準確的保存到屬于該LUN的物理存儲資源中,不會出現張冠李戴的情況。當用戶需求改變的時候,如李二狗也開始收集高清大片了,需要的空間就大了,那么可以將LUN1資源進行擴充,十分靈活。最后,LUN的大小和該LUN所映射的物理存儲資源大小以及用戶查看/dev/sdax的大小是一致的。

帶文件系統的存儲設備

其實在大多數場景,用戶都是將設備格式化成某個文件系統使用。那么設備廠商就對用戶說:“我有一個辦法,你們可以不用自己格式化,我直接提供一個文件系統,直接mount就行了,NFS,簡單吧。”

“好啊!好啊!”

“不過,得加錢。”

“……”

商業上的事我們先不管,看下圖。用戶交好錢,被告知一個地址,直接mount到本地,確實方便。

圖11 帶文件系統的存儲設備

這回,黑盒子里面又是什么東西呢?

圖12 帶文件系統的存儲設備

看圖之后,是不是和我一樣的感覺?MMP奸商。 就多了一個文件系統層,內部格式化LUN,然后就多收了不少錢。

如果你以為只有這些就錯了!

我們假設,你付費買了1TB的空間,服務商是沒有真的給你預留1TB物理存儲資源的,當你用的時候,再去申請物理存儲資源。你很憤憤,就存滿1TB,此時你以為真的消耗服務商1TB物理存儲資源了?不見得!有可能只消耗了0.8TB甚至更少。

拋開商業成見,但從技術角度來看,這里有兩個技術需要提到壓縮 和 去重,這在文件系統層面很容易做到。

壓縮(Compress)

您可能知道,文件系統在進行IO時候是以一定大小數據塊(block)為單位進行的,以4KB為例。壓縮也是以這個數據塊為單位,在寫入磁盤之前進行壓縮,原本4KB的數據,壓縮之后可能就變成2KB,多個壓縮之后的數據塊再次拼成4KB,然后保存到物理磁盤。這個操作,節省了物理資源。用戶讀數據的時候,如果是壓縮的,需要首先解壓縮,然后返回給用戶。壓縮、解壓縮操作是純算法的,主要消耗CPU資源,因此在系統負載很高的時候,不建議啟用壓縮機制。另外,數據是否壓縮,需要額外的元數據(metadata)記錄,這增加了系統復雜度。有的設備會將壓縮、解壓縮操作交給硬件去完成,減少CPU的消耗。

去重(Deduplicate)

上傳一個大的高清影片到網盤,秒傳,遇到過吧?這說明服務商存儲系統存在了一個和你一模一樣的文件,你遇到了一個志同道合的宅友。為了節省空間,系統就僅僅給你做個標記(或類似一個軟鏈接),然后增加文件的引用計數,免得別人刪除了影響到你。這個還是從文件層面的去重,也十分容易理解。我們做個極端假設,如果兩個1G大小的文件,僅僅有一個字節不同,按照上面方式是不能做到去重的,還是得上傳。文件的一部分一樣就不能進行去重了嗎?

答案是有。數據塊(block)級別的去重。

圖13 數據塊級別去重

我們看圖13說話。最初,硬盤神馬都沒有,文件1數據全部寫入硬盤,這沒什么好說的。然后,文件2,其中BEF三個塊,硬盤已經存在,不必寫入了,剩下的塊需要寫入。最后再看文件3,前面3個塊,XYZ不存在于硬盤中,需要寫。后面的XY就不必寫了,最后的E也是不必寫。

去重技術確實節約物理存儲資源,但也存在一些問題。

比如:如何確定當前要寫的塊硬盤中已經存在?

不可能去硬盤中逐一比較!

一個做法是將早期寫入的塊進行HASH計算,將HASH值以及塊信息保存到內存中,作為Cache,新預寫的塊計算HASH值,如果HASH值在Cache中存在,則取出Cache中塊信息,做去重操作,記錄信息。內存有限,Cache不能足夠大到保存所有硬盤中的塊信息,因此去重是有限度的,另外Cache的更新也是一個技術要點,何種Cache更新算法能夠得到好的去重效率是一個值得深入研究的話題

好了,以上簡要介紹了兩種存儲設備。接下來……

有人問了(對,依舊是前面問問題的那個人):

“我替碼農李二狗他父親王老爺子問個問題,是軟件就有BUG,如果你這軟件崩潰了,是不是所有用戶都不能正常訪問了?”

“沒錯!”

“弱爆了吧?”

在前面RAID的描述中,可以體會到一個詞“冗余”,冗余起到保險、保護作用。既然說軟件存在缺陷,可能掛,那么就放兩份在那,兩個物理獨立的設備運行同樣的軟件,互為主備。主用設備工作時備用設備待命,主備共享系統中RAID、LUN等配置及狀態,主用設備掛了,備用設備上。用戶無感知。這類方案在很多領域(如通信設備)也是常見的。

圖14 主備備份

“看起來有用,你這主備設備都放在哪里?”

“服務商機房或數據中心。”

“如果數據中心著火了或其它情況,這些設備就不能提供服務了吧?”

“沒錯!”

“弱爆了吧?”

數據中心可是個有網、有電、有空調,有外賣宅男向往的好地方,是具備基本的防火、防盜(防師兄?)等防災害的地方,但凡事預則立不預則廢,萬一出現差錯可就是大事了。

其實數據中心也有“備份”。一般在同城的其它地方,也會有一個數據中心,用于備份當前數據中心的數據,同城較近拉光纖,備份效率杠杠的,甚至是實時備份。

圖15 數據中心

“如果城市發生較大地震,兩個數據中心都損毀了,數據就丟了吧?”

“沒錯!”

“弱爆了吧?”

兩地三中心。即生產數據中心、同城災備中心、異地災備中心建設方案。兩個城市的三個數據中心互聯,如果一個數據中心發生故障或災難,其他數據中心可以正常運行并對核心業務或全部業務實現接管。

圖16 兩地三中心

“那如果兩個城市都……”

“你稍等,我打個電話。”

喂,代罵公司嗎?這是我的個人資產證明,幫我罵個人,罵道我破產。

……

天下無不散宴席。本次分享就到此結束了,還是那句話,能力有限水平一般,蜻蜓點水的啰嗦了這些,萬一有那么一句半句勾起了您的興趣,我就十分欣慰。

注:我們尊重對知識刨根問底的精神,以上代罵公司有關說辭純屬扯淡。

尾聲

“你可嚇壞我了,在看Linuxer公眾號的文章呢,向大牛們學習學習,我一直覺得技術沒啥長進,內心挺虛的。”

“看你體格應該不只是心虛吧?確實,這些文章質量都很高,值得學習,除了那篇《大話存儲》有點打醬油。在說,學習沒必要偷偷摸摸的吧?”

“習慣了,沒辦法,看感興趣的東西就這樣。”

“我只能呵呵了。我關注的主播要上線了,先走了,這個移動硬盤放這借你用用。”

“里面是什么?”

“當然也是你感興趣的東西——你懂的”。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RAID
    +關注

    關注

    0

    文章

    279

    瀏覽量

    35140
  • 存儲設備
    +關注

    關注

    0

    文章

    164

    瀏覽量

    18644

原文標題:EMC潘國林: 大話存儲系列之月光寶盒(塊存儲)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    探秘Linux:從分區表到設備——我不是表, 我是設備

    本文由來于心中的兩個疑問,即平凡的存儲器件是怎么從分區變成一個個設備的, 根是怎么被mount的.
    的頭像 發表于 09-11 16:03 ?4w次閱讀

    Linux設備驅動開發詳解

    #《Linux設備驅動開發詳解》電子書連載#第5章 Linux文件系統與設備文件系統,由于字符設備
    發表于 06-06 11:28

    電子元器件基礎知識詳解

    電子元器件基礎知識詳解
    發表于 10-08 20:13 ?371次下載

    網絡存儲技術詳解

    網絡存儲技術詳解 網絡存儲技術一般分為三種,分別是NAS、SAN、DAS: NAS網絡存儲
    發表于 01-13 11:29 ?1217次閱讀

    對象存儲和文件之外的存儲形式

    存儲的基礎架構,對的管理是簡單的。從全球第一個磁盤存儲技術50年前誕生到現在,的技術沒有發生太大變化。磁盤工業生產遍及全球。最近幾年
    發表于 05-29 09:26 ?509次閱讀

    《Linux設備驅動開發詳解》第13章、Linux設備驅動

    《Linux設備驅動開發詳解》第13章、Linux設備驅動
    發表于 10-27 11:24 ?18次下載
    《Linux<b class='flag-5'>設備</b>驅動開發<b class='flag-5'>詳解</b>》第13章、Linux<b class='flag-5'>塊</b><b class='flag-5'>設備</b>驅動

    一文讀懂存儲和文件存儲

    存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一種新的網絡
    發表于 07-06 10:10 ?3.5w次閱讀

    基于的分級存儲系統

    HazeINut是一種基于的分級存儲系統,為滿足HazeINut多種存儲設備和追蹤遷移方式的管理需求,設計并實現多樣性設備管理機制HNDi
    發表于 03-12 14:41 ?0次下載
    基于<b class='flag-5'>塊</b>的分級<b class='flag-5'>存儲</b>系統

    FreeRTOS基礎知識詳解pdf下載

    FreeRTOS基礎知識詳解
    發表于 03-29 14:36 ?45次下載

    存儲設備速度太慢而無法舒適?不如試試服務器消息性能調整

    存儲設備速度太慢而無法舒適?需要尋找指導故障排除和服務器消息(SMB)性能調整的內容。
    的頭像 發表于 09-02 10:18 ?2301次閱讀

    機器視覺基礎知識詳解模板

    機器視覺基礎知識詳解模板下載。
    發表于 05-28 14:48 ?13次下載

    STM32學習之Flash(主存儲、系統存儲器和選項字節)詳解

    了一些資料,現將這些資料總結了一下,不想看的可以直接調到后面看怎么操作就可以了。FLASH分類根據用途,STM32片內的FLASH分成兩部分:主存儲、信息。 主存儲
    發表于 12-01 21:06 ?14次下載
    STM32學習之Flash(主<b class='flag-5'>存儲</b><b class='flag-5'>塊</b>、系統<b class='flag-5'>存儲</b>器和選項字節)<b class='flag-5'>詳解</b>

    詳解射頻微波基礎知識

    詳解射頻微波基礎知識
    的頭像 發表于 01-29 10:28 ?2432次閱讀

    無功補償原理基礎知識詳解

    無功補償原理基礎知識詳解
    的頭像 發表于 08-11 09:48 ?882次閱讀
    無功補償原理基礎<b class='flag-5'>知識</b><b class='flag-5'>詳解</b>

    文件存儲存儲的區別和聯系

    文件存儲存儲是兩種常見的數據存儲方式,它們在設計思想、數據組織方式、應用場景等方面存在著一些區別和聯系。 首先,文件存儲是指將數據以文件
    的頭像 發表于 12-20 17:16 ?1283次閱讀
    主站蜘蛛池模板: 内射少妇36P亚洲区| 高H高肉强J短篇NP| 羞羞麻豆国产精品1区2区3区| 手机国产视频福利| 亚州天堂在线视频av| 国产白丝JK被疯狂输出视频| 国自产拍 高清精品| 久久爽狠狠添AV激情五月| 欧美丝袜女同| 无码一卡二卡三卡四卡| 伊人久久精品午夜| 波多结衣一区二区三区| 国产午夜精品理论片久久影视| 久久久久国产精品美女毛片| 日韩中文字幕欧美在线视频| 亚洲最大日夜无码中文字幕| 吃奶啃奶玩乳漫画| 老师系列高H文| 校花被扒衣吸乳羞羞漫画| 757一本到午夜宫| 国产精品久久久久久影院| 挠黑色超薄丝袜脚心vk40分钟| 中文字幕a有搜索网站| 国产高清免费视频免费观看| 女bbbbxxx孕妇| 在线综合 亚洲 欧美| 国产剧情麻豆mv| 欧美特级特黄AAAAA片| 成年性生交大片免费看| 小SAO货水真多把你CAO烂| 精品亚洲AV无码蜜芽麻豆| 无遮18禁在线永久免费观看挡| https黄视| 久久亚洲网站| FREESEXVIDEO 性老少配| 日美一级毛片| 吉吉av电影| 亚洲欧洲日本无在线码播放| 国产av久久免费观看| 日韩亚洲欧洲在线rrrr片| 国产午夜免费视频片夜色|