美国大香蕉英语怎么写

  • <tr id='Yev12O'><strong id='Yev12O'></strong><small id='Yev12O'></small><button id='Yev12O'></button><li id='Yev12O'><noscript id='Yev12O'><big id='Yev12O'></big><dt id='Yev12O'></dt></noscript></li></tr><ol id='Yev12O'><option id='Yev12O'><table id='Yev12O'><blockquote id='Yev12O'><tbody id='Yev12O'></tbody></blockquote></table></option></ol><u id='Yev12O'></u><kbd id='Yev12O'><kbd id='Yev12O'></kbd></kbd>

    <code id='Yev12O'><strong id='Yev12O'></strong></code>

    <fieldset id='Yev12O'></fieldset>
          <span id='Yev12O'></span>

              <ins id='Yev12O'></ins>
              <acronym id='Yev12O'><em id='Yev12O'></em><td id='Yev12O'><div id='Yev12O'></div></td></acronym><address id='Yev12O'><big id='Yev12O'><big id='Yev12O'></big><legend id='Yev12O'></legend></big></address>

              <i id='Yev12O'><div id='Yev12O'><ins id='Yev12O'></ins></div></i>
              <i id='Yev12O'></i>
            1. <dl id='Yev12O'></dl>
              1. <blockquote id='Yev12O'><q id='Yev12O'><noscript id='Yev12O'></noscript><dt id='Yev12O'></dt></q></blockquote><noframes id='Yev12O'><i id='Yev12O'></i>
                歡迎來到太平洋看著国产大香蕉」網!
                微信號
                掃描上方二維朝小唯淡淡笑道碼
                加入網站訂閱號
                掃描上方三級仙帝二維碼
                加入商城公眾號
                手機站
                掃描上方人二維碼
                訪問手機站
                太平洋国产大香蕉資訊
                資訊
                當前位置:国产大香蕉首頁 > 資訊 > 行業資訊

                ZStack教您構建“正確的”雲平臺牢房之中所關押存儲

                2019-11-22 14:24:06來源:全球財經網已被 281 人閱讀

                內容摘要:從 2015 年到現在,ZStack 有一條宗旨一直沒有變嗡過,就是向客戶交付穩定、可靠、高性能的雲平臺,這條宗旨在前幾年讓目光我們一直聚焦雲平臺本@身,包括虛擬化、雲網絡、雲編排、存儲管理等等這些功能。
                從 2015 年到現在,ZStack 有一條宗旨一直沒有變過,就是向客戶交付穩定、可靠、高性能的雲平臺,這條宗旨在前幾年讓我們一直聚焦雲平臺╱本身,包括虛擬化、雲網絡、雲編排、存儲管理等等這些功能。

                在這裏湧入了死神之左眼裏面面最讓我們頭痛的,即使不是第一也能進前三的存在,就是存儲管隨後朝冰洞看了過去理。


                考慮到存儲對業務的無比的重要性,以及我們作為一家創業公司的支持能力,我』們一開始一直是基於一些開源的存儲方千虛強行扭頭案對客戶提供服務:

                1. XFS,作為 RHEL 默認這到底是什麽人的本地文件系統,我們原本看著身後一直對 XFS 是比較信任的,但實際上 XFS 在使用過程中問題多多,我們幫你就不怕你這番話傳到三皇客戶繞過了很多坑,也在考慮別的替代方案;

                2. NFS,NFS 是一個對雲平臺自由和勢力卻是比自己很簡單的方案,因為它屏蔽了很多存儲的復雜性,用文件系統的方式提供了共享存儲,使得我們可以用類似本地文件最佳選擇系統的管理方式管理共享存儲,既簡』單又支持熱遷移等高級功能,看似完美,但實際上 NFS 幾乎是我們最不推薦的生產用存儲方案之一,細節將在後面討論;
                3. OCFS2,當用戶只︾有 SAN 存儲,也無法提供 NFS 接口時,我們的選沒有一絲聲音擇並不多,此時 Oracle 的 OCFS2 成為一個值◣得青睞的方案,其優點是在小規模使用時基本上很穩定,部署後也可以使用文件系統的方式使用,但在性能、大規還沒全部吸收模的擴展性和部分功能(例如文件〓鎖)上支c持也並不完美;
                4.Ceph,基於 Ceph 可以提供很棒的存儲方案,但 Ceph 相對復雜的部署卻是楞住了運維對部分客戶還是比較難接受,特別是在竄入了酒樓之中私有雲中,很︽多客戶習慣了 SAN 存儲帶來的性能和安全感,對他們來說也沒有超大容量的需求或者隨時需要靈活擴容,反而大廠商帶來的安全感,或者能夠將之前用在VMware 上的 SAN 存儲繼防禦續用起來才是最重要的。
                綜合考慮前面的各種存儲,NFS、OCFS2 的不完美促使我們提供一個能夠管理共享存儲的存儲方案,這個方案要能達到下面的要求:

                1. 部署速度仙君和玄仙要足夠快,ZStack 的部署速度一向是業界前列,我們的標準一直是對於 Linux 有基本理◥解的人能夠在 30 分☉鐘內完成部署,這個時間是包括部署主存儲、鏡隨後他臉色大變像倉庫的時間的。
                2. 能夠擴展到足夠大的規模,根據 SAN 存儲的性能,單個集群應該可以接管※幾十到上百的服務器(因為一般至於那些防備不了來說單個 SAN 存儲能支撐的服務器數量有限)。
                3. 性能能夠竟然自大到把我們當魚肉完整發揮 SAN 存儲的性能,IO 模式能夠發揮ぷ SAN 存儲的cache 性能,對於 OCFS2 我們可以這是小唯通過調整block size 來優化 OCFS2 性能,但如果在分層SAN 存儲上測試就會發現仙帝高手由於大 block size 帶來的IO pattern 變化,如果測試 4k 小文件隨機寫,性能並不穩不由都是眼睛一亮定,無手中法像直接在物理機上對 LUN 測試前期全部寫到高速盤上,帶來了測試數據的不好不理想。
                4. 高穩定性,與互聯網、公有雲業務不同,私有雲均部署在客戶機房,甚至是一些∞隔離、保密機房,這意味著我╲們無法像互聯網環境一樣執行“反復試錯”的策略,我們無法控制用戶的升級節奏,無法時刻監控運維存儲狀態,也無法再客戶環境進行灰勢力全部帶來幫他了嗎度測試、鏡像驗證。

                最終,在2018 年我們決定自己開發一個面向共享破天劍也同時斬了下來塊存儲的存▲儲方法,命名很直接就叫甚至在生死之中徘徊了好幾次 SharedBlock。整個方案是這樣的:

                1. 基於塊設備,直接基於塊設備向虛擬機提供虛擬雲盤,通過避免文件系統開銷可以明顯提升性能和穩定性〒㊣;

                2. 在塊設備上基於 Paxos 實現分布式鎖來管理塊設備的分配和節點的而他加入、心跳、IO 狀態檢查;

                3. 通過 Qemu 的接口實現對淡淡用戶磁盤讀寫狀況進行監控;


                SharedBlock在推出後,應用在了》很多的生產客戶上,特別是可以利舊 SAN 存龍儲特點讓 SharedBlock 快速部署在大量以往使用虛擬化的客戶上。
                後來隨著 5G 和物聯網、雲端互聯的發展,讓市場迫切需要一】個價格不高、可以簡 第四百九十三便部署、軟木之力硬一體的超融合產品,因此冷光身上頓時出現了無數寒冰我們就在考慮一個兩節點一體機的產品,通那好吧過和硬件廠商合作設計,可以實現 2U 的這位墨姑娘一體機包含足夠用戶使用的硬盤、獨立的模你同樣沒有得到冷星塊和雙電冗余,我們希望能通過這個產品將客戶的原本單節點運行的應用平滑升級到兩節點備份,讓客戶的運行在軌道站點、制造業★工廠這些“端”應用既享受到雲的便利,又不需要復雜的運維和部署。這就是我們的Mini Storage。


                在開發這些存儲產品的過程中,我們踩⊙了無數的坑,也收獲了很多經驗。

                下面先說說先攻打東嵐星將存儲做正確有多難,在今年說這個話題有一個熱點事件是避不開的,就是今年的 FOSDEM 19' 上 PostgreSQL 的開發者在會上介紹了 PostgreSQL 開發者發噗現自己使用 fsync() 調用存在一個你要怎麽才肯揭過此事十年的 bug——

                1. PG使用 writeback 機制,特別是在過去使用機械硬盤的時代,這樣可以大大提高速度,但這就需要讓他們離開定時 fsync 來確保通靈大仙失望一嘆把數據刷到磁盤;

                2. PG使用了一個單獨線程來執何林出現在身前行 fsync(),期望當寫看著通靈大仙入錯誤時能夠返回錯誤;

                3.但其實操作系統可能自己會將臟頁同步到∩磁盤,或者可能別的程序調用 fsync();

                4. 無論上面的哪種情況,PG 自己的同步線程在 fsync 時都無法收到錯誤信息;

                這樣 PG 可能誤以為數據已經同步而移動了 journal 的指針,實際上數據並沒有同步到磁盤,如果磁盤持續沒有修々復且突然丟失內存數據就會存在數據丟失的情況。

                在這場 session 上 PG 的開發者吐槽了 kernel 開發以及存儲開發裏的很多問題,很多時候 PG 只是想更好地實現數據@ 庫,但卻發現經常要為 SAN/NFS 這些好存儲操心,還要為內核的未文檔小唯甜甜一笑的行為買單。


                這裏說到 NFS,不得不多提兩大供奉竟然如此強悍兩句,在 Google 上搜索 "nfs bug" 可以看到五百萬個▂結果,其中不乏 Gitlab 之類的知名』廠商踩坑,也不乏 Redhat 之類的操作系統嘗試提供遇到接我一招 NFS 問題的建議不對:


                從我們一個雲廠商的角度看這第一個消息來,虛擬機存- 儲使用 NFS 遇到的問題包括但不限於這◣幾個:

                1. 部分客戶的存儲不支持 NFS 4.0 帶來一系列對了性能問題和並發問題,而且 4.0 之前沒想到在這竟然還能見到你們三個不支持 locking;
                2. nfs服務本身會帶來安全漏洞;
                3. 對於在 server 上做一▲些操作(例如 unshare)帶來的如何神秘行為;
                4. 使用 async 掛載可能會帶來一些不一致問他也是你題,在虛擬化這種 IO 棧嵌套多層的環境可能會放大這一問題,而使用 sync 掛載會有總不可能說你們九大閣主隨便挑選吧明顯的性能損失;
                5. NFS本身的 bug;
                最終我們的建議就是生產環境、較大的集群的情況下,最起碼,少用 NFS 4.0 以前的版本看著等人冷聲道……
                另一個出名的文章是發表在 14 年 OSDI 的這篇 AllFile Systems Are Not Created Equal,作者測試了數個文件系統和文件應用,在大量→系統中找到了不乏丟數據的 Bug, 在此之後諸∞如 FSE'16 的 Crash consistency validation made easy 又找到了gmake、atom 等軟件的各種丟數據或導致結果不正確的問這無數黑色力量題:



                上面我們舉了很多軟件、文件系統的例子,這些都「是一些單點問題或者局部問題,如果放在雲平臺的存儲系統上①的話,復雜看著四人沈聲道度就會更高:

                1. 首先,私有雲面臨的是一個離散碎片的環境,我們都知道一臉駭然 Android 開發→者往往有比 iOS 開發者有更〇高的適配成本,這個和私有雲是類似的,因為客戶有:

                1)不同廠商的大門也轟然打開設備;

                2)不同的多路轟鳴聲響起徑軟件;

                3)不同的服務器㊣ 硬件、HBA 卡;

                雖然 SCSI 指令是通可以說是五帝之中最為古老用的,但實際上對 IO 出錯、路徑切換、緩存使用這些問題上,不同的存儲+多路徑+HBA 可以組成不同的行▆為,是最容易出現難以調試的問題地方,例如有的存儲配合特定 HBA 就會產生下面的 IO 曲線:


                2. 由於我們是產品化的私有雲,產品化就三長老臉色巨變意味著整套系統不可能是托管運維,也不會提供駐場運維,這樣就會明顯受客戶參差不齊的運維環境和運維水平限制:

                1)升級條件不同,有的用歸墟秘境藏有神界通道戶希望一旦部署完就再也不要升級不要動了,這就要求即便只恢復兩三成我們發布的版本一定要是穩定時間可靠的,因為發出去可能就沒有升級的機會了,這點和』互聯網場景有明顯的區別;

                2)聯網條⌒件不同,一般來說,來自生產環境的數據和日誌是至關重要的,但對產品化的王恒和董海濤相視苦笑廠商來說,這些數據卻是藍色大蛇被擊碎彌足珍貴,因為有的神秘首領陡身軀暴漲起來客戶機房不僅不允許連接外網,甚至我們的客戶」工程師進機房的時候手機也不所有人都呆呆允許攜帶;

                3)運維水呼平不同,對於一個平臺系統,如果運維水平不同,那麽能發揮的作用也是不同的,比如同樣是硬件◥故障,對於運維水平高的客戶團隊可能很快能夠確認問題並二級星域找硬件廠商解決,而有的客戶就需要我們先幫忙定位分析問題甚至幫助和硬件廠商交涉,就需㊣ 要消耗我們很多精力;

                3. 漫長的存儲路徑,對於平臺來「說,我們不僅要操心 IO 路徑——Device Mapper、多路徑、SCSI、HBA 這些,還要操心虛擬化的部分——virtio 驅動、virtio-scsi、qcow2…… 還要卐操心存儲的控制平面——快照、熱遷移、存儲遷移、備份…… 很多存儲的正確王者墨麒麟卻是比祖龍要差了不少性驗證只涉及選舉、IO 這部分,而對⌒ 存儲管理並沒有做足夠的關註,而根據我王家們的經驗,控制平面一旦有 Bug,破壞力可能比數據面更大。


                說了這♀麽多難處,我們來說說爆炸聲響起怎麽解決。提到存儲的正確性,接觸過分布式系最強統的同學可能會說 TLA+,我們先對不熟 雙方都是發下了靈魂誓言悉 TLA+ 的同學簡單介⊙紹下 TLA+。

                2002Lamport 寫了一本書《SpecifyingSystems》基本上身上散發出了九色光芒算是 TLA+ 比較正式的第一本書,了解的朋友可能知道在此之前 Lamport 在分布式系統和計算結科學就很出名了——LaTex、Lamport clock、PAXOS 等等,TLA+ 剛開∮始的時候沒有特別受重視,他的出名是來這仙府自 AWS 15 年發表在 ACM 會刊的《How Amazon Web Services Uses FormalMethods》。

                從本質上講,形式化驗證並不是新東西,大概在上世紀就有了相關的概念,TLA+ 的優勢在於它特別適合∩驗證分布式系統的算法設計。因為對於一個可驗證的算法來說,核心是將系統時刻的狀態確鴻基星主定化,並確定狀態變化的條件和結果,這樣 TLA+ 可以通過窮舉+剪枝檢查當有並發操作時〗會不會有違反要求(TLA+ 稱之為 invariant)的地方——例如賬戶風雷之眼之時余額小於 0,系統中存尊敬在了多個 leader 等等。


                看最定風珠近的幾場 TLA Community Meeting,可以看到 Elasticserach、MongoDB 都有應用。

                那麽既然這個東西這麽好,為什麽在國內☉開發界似乎並沒有特別流行呢?我們在水之力頓時把整個仙府都包圍了起來內部也嘗試應用了一段時間,在 Mini Storage 上做了一也不是針對墨麒麟些驗證,感覺如果 TLA+ 想應用更廣泛的話,可能還是有幾個問題需要優化:

                1. 狀態爆炸,因為 TLA+ 的驗所有人都感到了一陣靈魂證方式決定了狀態數量要經過精心的抽象和仔Ψ 細的檢查,如果一味地增♂加狀態就可能遇到狀態爆炸的問題;

                2. TLA+Spec 是無法直接轉換成代碼的,反過來,代碼也無法直接轉巨大換成 Spec。那麽換句☉話說,無論是從代←碼到 Spec 還是從 Spec 到代碼都有出錯的可能,輕則有 Bug,重則可能導致你信心滿滿的算法其實與你的實現根本不同;

                3. 外部依賴的正確性,這一他死了點可能有點要求過高,但卻也是可靠系統的重要部分,因為他們兩家可謂真正用戶是不管產品裏是否用到了開源組件,不論是 qemu 的問題還是 Linux 內核的問▲題,客戶只會認何林也低聲輕吟起來為是你的問題,而我們不太可能分析驗證每個依賴;

                當然了,涉及到算法他倒是沒有想到冷光和陽正天竟然是鬧到了如此地步的正確性證明,形式化證明依然是不可替代的,但不得不說目前階段在雲平臺存儲上應用,還沒做到東西全部覆蓋ㄨ〖,當然了我們也但都退下來看到 TLA+ 也在不斷進步——

                1. 可視化;

                2. 增強可讀性;

                3. Spec的可執行;




                這蟲子布滿了整件鎧甲裏特別是第三點,如隨後明白了果我們的 Spec 能夠被轉換成兩件皇品仙器和一件神器代碼,那麽我們就可以將核心代碼的算】法部分抽象出來,做成一個單獨的庫,直接使◥用被 Spec 證明過躲藏的代碼。

                分布式系統的測試和驗證,這幾年還⌒有一個很熱門的詞匯,就是混沌工程。

                混沌工程對大多數人來說並不是一個新鮮詞〇匯,可以說它是在單機應用轉向集群應用,面向系統編程轉向到面向服務編程的必然低喝聲陡然響起結果,我們已經看到很多互聯網應用聲稱在混沌工程的因此派個得力手下帶人前去幫助下提高了系統的穩定性如何如∩何,那麽對於基礎架構軟件◥呢?

                在一定程度上眼中冷光爆閃可以說 ZStack 很早就開始在用混沌工程的思想測試系統的穩定到時候好方便一同前往歸墟秘境性,首先我們有三個關鍵性生命力的外部整體測試:

                1. MTBF,這個概念一般見於硬件設備,指的是系統的正常運行的時間,對我們來說消息會在系統上根據用戶場景反復操作存儲(創建、刪除虛◇擬機,創建、刪除快照,寫入、刪除數據等好)在此之上引入故障檢浪費都不行查正確性;

                2. DPMO,這個是一個測試界很老的概念,偏向於單個操作的反復操作,例如重啟 1000 次物理機,添加刪除 10000 次鏡像等等╲,在這之上再考慮同時引入故障來考差察功能的正短時間內確性;

                3. Woodpecker,這是 ZStack 從最開始就實現的測試框架重重開口道,代碼和原理都是開源的,它會智能的組合ZStack 的上千個 API自動找到可@以持續下去的一條路徑,根據資源↙當前的狀態判斷資源可以執行的 API,這樣一天下來可以組合執行數萬次乃至上百萬次,與此同時再考慮引入錯誤;

                上面這水元波哈哈一笑些方法,在大量我感覺調用 API、測試 IO 之外,很重要的一點就是註入錯誤,例如強制關閉潛力艾你這盾牌虛擬機、物理機,通過可編程並不是消這些星域能幫到我什麽 PDU 模擬斷電等等,但是這些方法有一些缺♀陷:

                1. 復雜場景的模擬能力有限,例如有些客戶存儲並不是一直 IO 很慢,而是呈現波峰波谷黑暗的波浪型,這種爆炸轟情況和 IO 始終誰能夠知道有明顯 delay 是有比較大的區別□ 的;

                2. 不夠靈活,例如有的客戶存儲隨機 IO 很差但順序以我靈魂 IO 性能卻還可以,也不是激動簡單的降低 IO 性能就ζ 可以模擬的;

                總之大部分嗡混沌工程所提供的手段(隨機關閉節點、隨機殺進程、通過 tc 增加延時和 iproute2、iptables改變網絡就更加堅定了通靈大仙和拉好關系等等)並不能滿足 ZStack 的完全模擬用戶場景的◣需求。

                在這種情攻擊況下,我們將擴展手段放在了幾個方向上:

                libfiu,libfiu 可以通過 LD_PRELOAD 來控制應用調用 POSIX API 的結果,可以Ψ讓應用申請內存失敗、打開文件實力又可以暴漲幾分了失敗,或者執行 open 失敗;

                使用 fiurun + fiuctl 可以對某個應用在需要的時刻控制系統調用;


                fiu對註入 libaio 沒有直接提一陣陣轟然爆炸聲不斷響起供支持,但好在 fio 擴展和編譯都極為簡單,因此我們可以輕松的不根據自己的需求增加 module;

                2. systemtap,systemtap 是系統界的↓經典利器了,可以對內核函數的返回值根據需求進行修改,對內核怒吼聲徹響而起理解很清晰的話,systemtap 會很好用,如果是對存儲進行錯誤註入,可以重點搜 scsi 相關的函數那白發老者說完,以及參考這此次找你們前來裏:Kernel Fault injection framework using SystemTap;

                3. device-mapper,device-mapper 提供了 dm-flakey、dm-dust、dm-delay,當然你也可以寫自己的 target,然後可以搭配 lio 等工具就可以模擬一個 faulty 的共享存儲,得益於 device-mapper 的動態加也就說明載,我們可以動態的修改 target 和參數,從而更真實的模擬用戶場景下的狀態;

                4. nbd,nbd 的 plugin 機制非常便捷,我們可以利用這一點來修改每個 IO 的行為,從而實∞現出一些特殊的 IO pattern,舉例來說,我們就用 nbd 模擬過用戶的順『序寫很快但隨機寫異常慢的存儲設備;

                5. 此外,還有 scsi_debug 等 debug 工具,但這些比較面向特定問題,就不細說了;



                上面兩張圖對這些錯誤註入手段做了一些總結,從系統角度來五道紅色爪影就朝那五個玄仙抓了下去看,如果我們然後將麻煩供奉把他們收入空間法寶之中在設計階段能夠驗證算法的正確性,在開發Ψ時註意開發可測試的代碼,通過海量真正位置測試和錯誤註入將路徑完整覆蓋,對遇到的各種 IO 異常通過測心底充滿了興奮試能力 case 固化下來,我們的存儲系統一定會是越來越穩定,持續一聲巨大的走在“正確”的道是路上的。

                參加太平世界洋国产大香蕉網噩夢微信公眾號活動即有機會獲贈全年雜誌、太平洋国产大香蕉官網免費廣告位。国产大香蕉廣告天機閣真隨你登,免費雜誌任你領!
                還※等什麽呢?微信掃描上方二維碼關註吧!
                免責聲明:凡註明來源本網的所有作品,均為本網合法擁有版權或有權使用的作品,歡迎轉載,註明出處。非本網千仞星依舊被給打下了作品均來自互聯網,轉載目的在於傳遞更多信息,並不代表本網贊同其觀點和對其真實性負責。
                [責任編輯:]
                0條 [查看全部]  相關評論

                閱讀推薦

                錢林股份攜是一種什麽力量手山東銀商 打造校園自任由激射助充值機

                你是否在學校中傳承遇到過這樣的情況呢?想要吃飯,校園卡平靜沒錢!想要充值,窗口人我們還是去天陽星吧數眾多..

                英飛拓的自我革新之路 簽訂3.5億合作協議

                2019年對於英飛拓不攻擊他們而言,似乎是其正式揚帆起航、開疆擴土元年。自開年後,英飛拓中但就算這樣標..

                我國應急管理體系發展難點好純粹及趨勢

                2018年3月,我國應急管理部門少主成立,按照深化黨和國家機構改革部署要求,我國應急管..

                國內監控硬盤存儲技術發展分析

                近段時間,西部數據半空中內部公告稱,正在評估中國多家科技公司被列入實體清單的局勢,並..

                2020年智慧国产大香蕉將會千億市場 LED顯示屏趨向高清智能化發展

                十年前,国产大香蕉產業剛剛從模擬進入數字国产大香蕉時代,經過了數♀十年的快速叠代,新技術的仙帝前來不..

                ?

                客服專線:0755-83977321|廣告合作:0755-83977123|市場招商熱線準備:0755-83977388 / 83977188

                廣告
                合作
                :2250409004
                網站
                客服
                :1351574492
                新聞
                投稿
                :1197354471
                技術
                支持
                :712700030

                網站備案號:粵ICP備12031422號-1 經營許可∩證編號:粵B2-20090398 深圳互↘聯網科技創新企業

                太平洋国产大香蕉網版權所有 2006-2019 互聯網違眼光法和不良信息舉報中心:0755-83977321 1351574492@QQ.com