• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Docker的輕量級云存儲系統(tǒng)研究

      2018-11-22 11:58:54劉毅文黃顯寧文坤輝米春橋
      計算機技術與發(fā)展 2018年11期
      關鍵詞:宿主機存儲系統(tǒng)應用程序

      劉毅文,黃顯寧,文坤輝,米春橋

      (懷化學院 計算機科學與工程學院,湖南 懷化 418000)

      0 引 言

      隨著計算機硬件的不斷升級和云計算技術的飛速發(fā)展,云存儲從云計算延伸出來,迅速發(fā)展為一種新型的網(wǎng)絡存儲技術。當云計算和處理的核心是存儲和管理大量數(shù)據(jù)時,需要在云計算系統(tǒng)中配置大量的存儲設備,然后將云計算系統(tǒng)轉換為云存儲系統(tǒng)。因此,云存儲是一個數(shù)據(jù)存儲和管理為核心的云計算系統(tǒng),通過集群應用程序中網(wǎng)絡技術或分布式文件系統(tǒng)等功能,使得網(wǎng)絡中許多不同類型的存儲設備通過應用軟件一起工作[1],系統(tǒng)統(tǒng)一向外提供數(shù)據(jù)存儲和業(yè)務訪問功能。簡而言之,云存儲是一種新興的解決方案,可以將存儲資源放到云中供人們訪問。用戶可以隨時隨地連接到云,通過任何網(wǎng)絡設備訪問數(shù)據(jù)[2]。

      隨著云存儲的應用越來越多,云存儲產(chǎn)品和服務在市場上不斷成熟,以滿足新的數(shù)據(jù)存儲需求。與此同時,云存儲系統(tǒng)是視頻云的基礎,也是大數(shù)據(jù)解決方案的第一步。在將存儲從硬件轉換為服務后,云計算還提供了復雜的管理和調(diào)度功能[3],使云存儲服務智能化,并將包含大數(shù)據(jù)分析的數(shù)據(jù)生態(tài)整合在一起,以更緊密地響應用戶的各種需求。對于企業(yè)來說,要擴大云存儲的市場份額,企業(yè)的快速發(fā)展可以提供機會。

      文中重點討論輕量級云存儲環(huán)境部署場景,將當前標準云存儲系統(tǒng)的最小規(guī)模(通常需要2個元數(shù)據(jù)服務器和6個數(shù)據(jù)節(jié)點)縮減到2個標準服務器。使用虛擬容器技術Docker、云存儲元數(shù)據(jù)節(jié)點服務器(MDS)、數(shù)據(jù)節(jié)點(DN)做Docker映像,部署在標準服務器上。當用戶使用它時,MDS和DN鏡像容器直接從標準映像啟動,以提供云存儲服務。

      1 云計算的發(fā)展過程

      1.1 云計算的定義

      目前,不同用戶對云計算有不同的定義,即網(wǎng)格計算、并行計算、網(wǎng)絡磁盤、超級服務器或像AlphaGo這樣的高科技。然而,從學術研究人員的角度來看,云計算是一種新的商業(yè)模式,它將IT基礎設施利用率轉化為銷售和服務。

      1.2 云計算角色的變換

      云計算在不同的歷史時期扮演著不同的角色。在20世紀末,云計算成為一種新的概念和新技術。當時,“云計算”一詞并不存在于計算機領域,然而,學者們一直在研究的網(wǎng)格計算[4]和并行計算實際上是云計算的早期原型。在21世紀初,云計算更具有代表性,但只有大型IT基礎設施的大公司(谷歌、IBM)才能擁有。2006年,亞馬遜第一次以服務的方式出售對象存儲服務,云計算從少數(shù)公司的能力發(fā)展為大眾服務[5]。

      1.3 云計算技術的演化過程

      云計算的主要目標是應用云端的計算、存儲等資源優(yōu)勢,突破終端的資源限制,為用戶提供更加豐富的應用以及更好的用戶體驗。其定義一般可以概括為終端通過無線網(wǎng)絡,以按需、易擴展的方式從云端獲得所需的基礎設施、平臺、軟件等資源或信息服務的使用與交付模式[6]。云計算技術的發(fā)展實質(zhì)上是組件間的耦合越來越小,越來越孤立,資源的粒度越來越小,從專有到普通的過程。

      (1)物理機時代的隔離方式—機架。

      當用戶需要服務時,購買物理機器。當需要更多的服務時,一個機架需要裝載更多的物理機器。因此,在物理機器時代的隔離是機器級的隔離[7]。這種方式會凸現(xiàn)兩個問題:資源粒度過粗,設備利用率不高;無法便捷地利用軟件統(tǒng)一控制協(xié)調(diào)。

      (2)操作系統(tǒng)的隔離方式—虛擬機。

      隨著虛擬化的發(fā)展,操作系統(tǒng)級的隔離隨之出現(xiàn),這通常被稱為虛擬機(VM)。每一個操作系統(tǒng)都由許多個虛擬操作系統(tǒng)組成,每個操作系統(tǒng)都是虛擬服務器[8],同時共享硬件資源。由于單個物理機器可以創(chuàng)建許多虛擬機,因此資源粒度越小,利用率越高。與此同時,它帶來了一個非常明顯的優(yōu)勢,可以很容易地由軟件創(chuàng)建、重新啟動、摧毀虛擬機。當在數(shù)據(jù)中心生成大量的虛擬機,并將生成的虛擬機放在特定的管理、監(jiān)視、安全和網(wǎng)絡設施中進行輔助時,它就變成了云,即所說的IaaS[9]。

      (3)應用層面的隔離方式—PaaS。

      Docker的出現(xiàn)為PaaS平臺的實現(xiàn)提供了一條全新的途徑,也使為開發(fā)者提供更簡潔的服務成為了可能?;贒ocker容器,開發(fā)人員不再需要花費大量精力來處理各種開發(fā)、測試和生產(chǎn)環(huán)境之間的差異,而直接將應用環(huán)境遷移到PaaS平臺的運行環(huán)境,不必擔心各種依賴和配置問題。傳統(tǒng)的PaaS是一個應用程序級別的隔離,在應用程序和應用程序之前是獨立的,共享相同的運行時環(huán)境。與此同時,由于更加細化的資源粒度,使得同樣的PaaS平臺可以同時運行更多的應用程序。但PaaS平臺也存在問題,由于平臺與其運行環(huán)境息息相關,因此必須為每個平臺定制代碼,這對它的通用而言是一個極大的阻礙[10]。

      (4)進程層面的隔離方式—容器。

      因為應用程序和執(zhí)行環(huán)境是相關的,所以應用程序和執(zhí)行環(huán)境可以打包在一起,因此應用容器技術解決PaaS平臺的應用程序必須依賴于其執(zhí)行環(huán)境的問題。容器是一個應用程序,它的一系列操作環(huán)境依賴于封裝在盒子里的一個“盒子”里,以共享相同的操作系統(tǒng)內(nèi)核,使用操作系統(tǒng)內(nèi)核的一些特性來實現(xiàn)資源隔離,容器技術是一個過程級隔離。容器技術不僅解決了環(huán)境依賴的問題,而且使隔離的粒度進一步細化、容器生成和銷毀更快(第二級)。Docker作為輕量級虛擬化技術的代表,是LXC技術的擴展,被認為是虛擬化領域的一次革新。

      因此,縱觀整個云計算技術開發(fā)過程,最重要的主線之一是越來越深入、更細致的資源粒度,管理越來越方便。如果云計算的未來是一種公共資源,那么它所驅動的業(yè)務無疑具有一個更細粒度和更可度量的計算單元特性的通用執(zhí)行環(huán)境。

      2 虛擬化容器技術Docker

      2.1 云計算的分層

      云計算總體分為三層,即IaaS、PaaS、SaaS。

      IaaS:Infrastructure-as-a-service,基礎設施即服務,主要為用戶提供通過互聯(lián)網(wǎng)獲得完善的計算機基礎設施服務。

      PaaS:Platform-as-a-servers,平臺即服務,主要為用戶提供可以訪問的完整或部分的應用程序開發(fā)。

      SaaS:Software-as-a-service,軟件即服務,主要為用戶提供完整的可直接使用的應用程序。

      2.2 Docker容器技術的優(yōu)勢

      Docker是一種基于lxcbased的高級容器引擎開放源碼的PaaS提供商dotCloud。源代碼托管在Github上,基于go語言,并遵循Apache 2.0協(xié)議開源。Docker以Linux容器(LXC)技術為基礎,主要功能是通過實現(xiàn)對LXC的進一步封裝,使得對容器的操作變得更加簡便,并且讓用戶不再需要關心容器的管理[11-13]。

      與基于Xen、KVM虛擬機相比,其優(yōu)勢在于以下兩點:

      (1)啟動速度快。虛擬機無法做到秒級啟動是因為受限于操作系統(tǒng)的啟動時間。但Docker完美地避開了這一問題。Docker通過利用宿主機的系統(tǒng)內(nèi)核,在幾秒鐘內(nèi)創(chuàng)建大量容器,實現(xiàn)了秒級啟動。由于虛擬機與Docker的啟動速度是在數(shù)量級上的差距,實現(xiàn)更輕量級的虛擬化,方便快速部署。

      (2)資源利用率高,性能開銷小。虛擬化會比容器消耗更多的資源,Docker除去占用的系統(tǒng)資源,剩余資源的99%都將提供給用戶使用,極大地提高了資源利用率。

      3 輕量級云存儲系統(tǒng)

      3.1 系統(tǒng)架構

      最小的云存儲系統(tǒng)架構由兩個標準的x86服務器和一個千兆交換機組成。市場標準的x86服務器不僅滿足了云存儲磁盤的需要,而且還作為一個運行主機的Docker服務運行主機,以下簡稱為市場位x86服務器。系統(tǒng)架構如圖1所示。

      圖1 最小的云存儲系統(tǒng)宏觀架構

      為了在發(fā)生單點故障后,系統(tǒng)仍能繼續(xù)提供服務,該系統(tǒng)采用2臺宿主機。當系統(tǒng)出現(xiàn)單點故障時,一定會出現(xiàn)數(shù)據(jù)丟失的情況,所以還需要對雙宿主機最小系統(tǒng)的數(shù)據(jù)節(jié)點查找方式進行改進。單點故障發(fā)生時數(shù)據(jù)有冗余,系統(tǒng)保證另一臺宿主機中數(shù)據(jù)的完整性,也同時為該節(jié)點繼續(xù)提供完整的存儲服務。

      每臺宿主機上,分別啟動一個元數(shù)據(jù)服務器容器(meta data server,MDS)和一個數(shù)據(jù)節(jié)點(data node,DN)容器,形成由2個MDS容器和2個DN容器組成的云存儲系統(tǒng),2臺MDS之間的心跳通過交換機完成,簡化了安裝部署。

      3.2 網(wǎng)絡通信

      容器部署采用橋接的網(wǎng)絡模式(所謂橋接模式,即宿主機內(nèi)部存在一個虛擬二層交換機,能夠將容器中的虛擬網(wǎng)口和宿主機的網(wǎng)口在局域網(wǎng)中被平等地對待),使容器中的虛擬網(wǎng)口擁有了獨立的IP地址,在網(wǎng)絡中的行為等同于一臺虛擬服務器[14]。橋接網(wǎng)絡模式拓撲如圖2所示。

      圖2 單節(jié)點結構與網(wǎng)絡橋接方案

      在宿主機系統(tǒng)啟動時,其默認帶有的8個千兆網(wǎng)口,會按照策略進行綁定的動作,可按照2,2,4的方式綁定成3個bonding口。這3個bonding口會分別掛在3個虛擬的橋接口下面,作為虛擬網(wǎng)橋的對外出口。

      在主機中,MDS和DN被部署在一個Docker鏡像模式的容器中。當系統(tǒng)第一次啟動時,MDS和DN容器會自動開始等待用戶配置初始化參數(shù)(如IP地址)。未配置的MDS通常有一個默認的出廠IP。

      MDS容器在啟動時,會創(chuàng)建2個虛擬口,這2個虛擬口都掛在宿主機第1個bonding口bond0下面,即MDS將bond0作為對外出口。MDS容器中,MDS可使用bonding口作為其心跳和業(yè)務網(wǎng)口,故將其虛擬的eth0和eth1兩個網(wǎng)口分別綁定為bond0和bond1口,作為其心跳口和業(yè)務口。當然亦可直接指定eth0和eth1。

      宿主機中的DN容器在啟動時,會創(chuàng)建2個虛擬口,這2個口分別掛在宿主機的第2個bonding口bond1和第3個bonding口bond2下面,即DN容器會用到6個物理口做成的2個bonding口作為對外通訊的接口。

      DN容器存在2個虛擬網(wǎng)口,分別是在外部綁定了2個網(wǎng)口的eth0和4個網(wǎng)口的eth1,其中eth1給DN進程使用,用于DN的主要業(yè)務,即云存儲的數(shù)據(jù)節(jié)點業(yè)務;eth0可供其他服務使用,如監(jiān)控中的數(shù)據(jù)流與指令流的傳輸?shù)龋糜谔峁┰拼鎯Φ闹贝娣?CDS)。

      3.3 系統(tǒng)性能

      3.3.1 測試環(huán)境

      ·2臺宿主機分別提供1個MDS容器。2個MDS容器分為主備,并且同時處于工作狀態(tài)。

      ·系統(tǒng)的元數(shù)據(jù)信息保存于宿主機內(nèi)部的Intel128G SSD中。

      ·SSD掛載方式:開啟“nobarrier”標識。

      ·每臺宿主機配備24塊機械硬盤,配備千兆存儲網(wǎng)口,通過視頻模擬器同時輸入400路2 Mbps視頻,每個視頻按512 MB文件寫入。

      存儲節(jié)點采用Erasure code冗余備份機制,采用1+1,4+1,8+2節(jié)點間冗余容錯策略,也就是說損失任意1或2個節(jié)點,客戶端不會有感知,服務不會停止,數(shù)據(jù)不會丟失。按照1+1,4+1,8+2寫入情況下主備宿主CPU,磁盤利用率,寫入帶寬。

      3.3.2 測試結果

      三種機制磁盤性能比較如表1所示。

      表1 三種機制磁盤性能比較

      在1+1機制下寫入帶寬和磁盤利用率均最高,基本滿足了用戶對磁盤寫入的需求。磁盤讀取速度通常高于寫入速度,文中不再贅述。

      1+1、4+1、8+2三種機制寫入情況下MDS中mysqld服務占用CPU百分比如圖3所示。

      圖3 mysqld占用CPU百分比

      1+1、4+1、8+2三種機制寫入情況下DN占用CPU百分比如圖4所示。

      4 結束語

      文中介紹了一種基于Docker容器技術的輕量級云存儲系統(tǒng)架構,提出在系統(tǒng)中出現(xiàn)虛擬化環(huán)境下的網(wǎng)絡通信改進策略。系統(tǒng)性能測試結果表明,該系統(tǒng)

      可以很好地滿足一般用戶對低成本、高效、數(shù)據(jù)可靠的云環(huán)境需求。

      圖4 DN占用CPU百分比

      猜你喜歡
      宿主機存儲系統(tǒng)應用程序
      分布式存儲系統(tǒng)在企業(yè)檔案管理中的應用
      哈爾濱軸承(2020年2期)2020-11-06 09:22:36
      刪除Win10中自帶的應用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      天河超算存儲系統(tǒng)在美創(chuàng)佳績
      虛擬網(wǎng)絡實驗室在農(nóng)村職校計算機網(wǎng)絡技術教學中的應用研究
      嵌入式計算機軟件測試關鍵技術的思考
      華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲系統(tǒng)
      嵌入式計算機軟件測試關鍵技術研究
      一種基于STM32的具有斷電保護機制的采集存儲系統(tǒng)設計
      在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
      關閉應用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      岳池县| 新化县| 玉田县| 那曲县| 绍兴县| 刚察县| 龙里县| 泰兴市| 城固县| 阿坝县| 南宫市| 赣榆县| 锡林浩特市| 鄱阳县| 新泰市| 星座| 繁昌县| 延吉市| 常熟市| 兴山县| 鲁山县| 应城市| 汉阴县| 庄浪县| 扶风县| 南宫市| 安阳市| 南丰县| 汨罗市| 巨野县| 乌拉特前旗| 满城县| 临清市| 安徽省| 溆浦县| 辽阳县| 岳池县| 呈贡县| 嘉禾县| 汤原县| 徐闻县|