999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

虛擬化及Docker輕量容器技術在高校圖書館中的應用*

2016-02-22 08:26:04陳軍相李桂杰
圖書館研究與工作 2016年5期
關鍵詞:圖書館

陳軍相 李桂杰

(杭州電子科技大學圖書館 浙江杭州 310018)

虛擬化及Docker輕量容器技術在高校圖書館中的應用*

陳軍相 李桂杰

(杭州電子科技大學圖書館 浙江杭州 310018)

以云計算技術的不斷發展為切入點,介紹了Docker輕量容器技術的基本內容,進而介紹了高校圖書館數據管理過程中所采用的虛擬化技術的現狀,并指出目前多數高校采用的完全虛擬化技術存在的問題。隨后指出了Docker容器技術是如何來破解這些問題的。由于Docker是新興的容器技術,所以依然存在很多需要完善的功能。最后,結合重量化虛擬技術以及Docker容器技術的發展現狀,對Docker在高校圖書館中的應用作了發展展望。

Docker;虛擬化;圖書館應用管理;應用安全

1 引言

隨著虛擬化技術的不斷發展,云計算服務已經獲得了快速的發展,并且在商業領域獲得了非常廣泛的應用。云計算服務目前可分為公有云、私有云、混合云。公有云構建在互聯網之上,任何已付費的用戶都可以訪問[1]。國外有亞馬遜云服務(Amazon Web Services)、谷歌應用程序引擎(Google App Engine)、微軟的Azure。國內也有阿里云、騰訊云等云服務提供商等。私有云構建在局域網內部,私有云的可訪問權限制在一定的范圍內,可以為本地用戶提供靈活的、敏捷的私有云基礎設施[2]。云計算服務的發展極大地依賴于虛擬化技術,同時反過來促進了虛擬化技術的發展。虛擬化技術包括完全虛擬化技術、半虛擬化技術和容器技術。完全虛擬化技術是通過虛擬機監視器對底層的硬件資源進行管理,將單個物理主機分成若干個相互獨立的部分,每個部分對應一臺獨立的虛擬機,虛擬機上運行獨立的操作系統,從而有效利用主機的物理資源[3]。半虛擬化在完全虛擬化的基礎上,把客戶操作系統進行了修改,增加了一個專門的應用程序接口,將客戶操作系統發出的指令進行了優化。容器技術則為應用程序提供了隔離的運行空間,每個容器內都包含一個獨享的用戶空間,對容器的變動并不會影響其他容器的運行,也就是說,容器技術采用的是一種輕量化的虛擬化。Dock-er則是容器技術的最典型代表,它不依賴于任何操作系統、開發框架和程序語言,具有將應用程序及所需要的環境快速打包發布的能力。

2 虛擬化技術

2.1 完全虛擬化技術和半虛擬化

完全虛擬化技術又叫硬件輔助虛擬化,在虛擬機和宿主計算機之間加入了一個軟件層Hypervisor,即虛擬機管理程序[4]。完全虛擬化技術可以追溯到20世紀六七十年代,IBM對大型機所進行的虛擬化研究。完全虛擬化技術由于云計算的快速發展而得到了廣泛應用和發展。完全虛擬化的Hypervisor可以分為兩種類型。第一種類型是Hypervisor直接運行在物理硬件之上,這種類型的虛擬機如KVM(Kernelbased Virtual Machine)。KVM本身就是一個基于操作系統的虛擬機管理程序。第二種是Hypervisor運行在另一個操作系統中,這種類型的虛擬機管理程序包括了QEMU和WINE。圖1所示即是第二種類型的完全虛擬化的結構示意圖。

圖1 完全虛擬化示意圖

宿主機操作系統運行在硬件資源之上,并且通過虛擬機管理程序,將硬件資源進行統一分配和管理,然后重新劃分給各虛擬機。虛擬機操作系統的指令需要經過虛擬機管理程序的捕獲,并被翻譯成CPU能識別的指令格式。因此,虛擬機管理程序的負荷很大,會占用一定的資源。

半虛擬化是在完全虛擬化的基礎上,對客戶端操作系統進行了修改,增加了一個專門的API。該API對客戶操作系統發來的指令進行了最優化,使虛擬機管理程序不需要耗費太多的資源進行翻譯,因此,Hypervisor的工作負擔變得非常小,那么整體的性能將有很大的提高。半虛擬化的缺點是需要修改包含API的操作系統。對于不包含該API的操作系統而言,就不能使用該方法。因為如Windows這樣的操作系統由于版權政策等使得內核是沒辦法修改的。

2.2 容器技術

容器虛擬化技術已經成為一種被大家廣泛認可的服務器資源共享方式,通過容器技術可以按需構建操作系統實例[5]。最為重要的是,容器技術可同時將操作系統鏡像和應用程序加載到內存當中,同時容器技術還可以從網絡磁盤中進行加載。目前容器虛擬化技術的典型代表是Mesos和Docker。Mesos主要利用操作系統本身的一些特性如cgroup、namespace等來實現對容器的隔離。Docker則主要使用Docker應用程序接口來進行容器管理。尤其是Docker的發展非常迅速,已經成為了一個產業標準。圍繞Docker的生態圈已經形成,圍繞Docker的很多開源項目正處于開發中,包括容器操作系統、系統監測、應用程序開發平臺、開發工具、大數據、網絡等。Docker容器虛擬化技術的基本結構如圖2所示。

圖2 Docker容器虛擬化示意圖

3 虛擬化技術在高校圖書館數據管理中的應用現狀

虛擬化技術在國內高校圖書館的應用出現快速增長的趨勢,很多高校圖書館已經或正在進行服務器的虛擬化部署[6],即通過虛擬機管理程序對物理服務器進行整合統一管理,利用虛擬化軟件進行軟硬件資源的劃分,分配給硬件之上的虛擬機,并進行資源優化與管理。在2013年的一項調查中,就12所已經在數字化過程中采取虛擬化技術的高校進行了統計,分別采用了Vmware Vshpere、Microsoft Hyper-V、Critix XenServer等VMM架構。虛擬機和物理主機的虛擬化比率都在3:1以上,三分之一被統計的高校圖書館的虛擬機和物理主機達到了5:1的虛擬化程度。

這些虛擬化技術在高校圖書館的應用給圖書館日常服務器的管理與維護帶來了極大的方便。虛擬化平臺的部署極大地減輕了管理和運營負擔,降低了軟硬件升級和老化的壓力,提高了服務的可用性,使得運維人員可以通過VMware這樣的虛擬機管理程序進行統一管理,進行虛擬機的創建、部署、刪除等等操作。圖3為某高校圖書館虛擬機管理軟件VMware的管理界面。

圖3 某高校VMware管理界面

但是利用Vmware等完全虛擬化技術依然面臨著一些問題:如客戶虛擬機采用共享的方式分享物理主機的資源,客戶虛擬機操作系統占用資源的大小與物理PC機類似,因此其虛擬化率被限制在一定數量,否則客戶虛擬機的響應速度會受到一定的影響,也就是說,其虛擬化率被限制在一定的范圍內。

4 完全虛擬化技術在使用過程中存在的問題

通過VMware這樣的虛擬化軟件可以進行虛擬機的創建與刪除,從而進行虛擬機的快照管理。但是完全虛擬化技術在日常運營管理過程中依然存在一定的問題,主要有以下幾個方面:

(1)是一種重量化的虛擬化方式

一臺虛擬機就和一臺物理機一樣,邏輯上有相應的虛擬硬件。如果一個應用單獨放在一臺虛擬機上運行,那么相應要劃分給虛擬機完整的硬件資源,因此硬件利用率不高。如果多個應用運行在一臺虛擬機上,存在多個應用共享同一個運行時環境。如果一個應用出現問題,對該應用的環境配置可能會影響其他應用的運行。

(2)數據的遷移不方便

雖然提供了虛擬機模板這樣的方式來復制虛擬機和保存虛擬機的運行時環境,但數據的遷移通過這種方式也是一種重量化的操作。數據的運行環境的遷移難以跨平臺操作。如在windows環境中的虛擬機難以遷移到linux環境中運行。

(3)虛擬機上的應用由于各種原因需要重新安裝或升級時,需要重新開始進行應用環境的配置

如集群中的一臺虛擬機安裝了多種應用,由于木馬等病毒的原因需要關閉虛擬機,然后重新開始配置虛擬機的運行時環境,那么采用完全虛擬化的方式需要重新創建一臺虛擬機,重新配置環境,這個工作量有時侯很大。

以杭州電子科技大學圖書館為例,該館將很多的圖書館業務系統放在基于網絡開發訪問的虛擬機中運行。2015年上半年通過網絡中心的漏洞掃描,發現圖書館的隨書光盤系統存在安全問題。多數高校圖書館都在使用的匯文圖書管理軟件,最近也是經常被報出存在安全漏洞問題,如匯文OPAC敏感信息泄露、匯文libsys圖書管理系統SQL注入等安全問題。對于被病毒感染的虛擬機的操作就是刪除,然后重新創建或從模板中部署,工作量也較大。

5 Docker輕量容器技術在圖書館應用探索

近年出現的容器技術充分利用操作系統本身已有的機制和特性來實現輕量級的虛擬化。Docker則是輕量容器技術的佼佼者。Docker是基于Go語言實現的云開源項目。通過Docker能高效地構建應用,能夠通過Docker方便地創建運行在云平臺上的應用;通過Docker容器技術,可以實現應用完全脫離底層機器,并且在“任何時間任何地點”都能獲取到。假設在一個常用的應用場景中,一個用戶試著以LAMP(Linux+Apache+MySQL+PHP)的方式來運行和維護一個網站,那么該用戶必須要先安裝Apache、MySQL、PHP以及各自依賴的環境,然后進行環境參數等的配置。配置完成,運行正常后,一旦需要服務器遷移,那么往往需要重新進行部署和調試。Docker則以另一種方式來進行,通過容器來打包應用,也就是應用的遷移只需在新的服務器上重新啟動需要的容器即可。Docker容器的虛擬化方式如圖4所示。

在Docker的虛擬化方式中,最下層是硬件基礎設施,硬件基礎設施之上是操作系統,操作系統上運行著Docker引擎,Docker引擎運行和管理著多個隔離的容器,每個容器中有各種應用的運行時環境,運行時環境上運行著各種應用。

圖4 Docker容器的虛擬化方式

與容器技術相比,傳統的虛擬機方式多了一層虛擬機操作系統的隔離。但這并不意味著Docker容器就不安全。Docker充分利用了Linux系統上的多種防護機制,實現了嚴格可靠的隔離。Docker具有啟動速度更快、性能更接近原生系統、單機支持上千個容器等特點。那么如果能將圖書館的更多應用通過Docker容器進行發布,同時將容器制作成鏡像進行管理,那么即使容器內的應用被病毒感染或程序崩潰,只需通過鏡像管理就可以直接將容器進行恢復。因此,通過容器技術可以更快捷有效地進行圖書館應用程序的管理與維護。

盡管Docker有快捷、方便等優點,Docker容器技術依然存在一些問題:

(1)Docker是基于Linux操作系統的,目前沒有辦法進行Windows系統的鏡像制作與管理。

(2)Docker鏡像在與其他網絡上的設備進行通信時,需要通過端口映射的方式將鏡像端口與宿主操作系統的端口進行對應。

因此,綜合考慮到高校圖書館服務器虛擬化已經有很多以Windows操作系統運行的完全虛擬化的虛擬機,采用Docker方式來完全替代原來的虛擬化方式是不現實的,也是沒有必要的。

筆者認為,高校圖書館虛擬化方式可以向傳統虛擬機方式與Docker容器技術結合的方式發展。在傳統虛擬機VMware等軟件進行硬件基礎設施的虛擬化的基礎上,然后在虛擬機操作系統中運行Docker引擎,再利用Docker容器技術分離出多個容器來運行各種圖書館的應用程序。虛擬化方式如圖5所示。

圖5 傳統虛擬化方式與Docker結合

V傳統的虛擬化方式與Docker輕量容器技術結合,在傳統虛擬機上運行Docker,并在Docker引擎之上運行多個Docker容器。容器中運行相對獨立的應用程序,這樣就可以實現應用程序之間的隔離,同時實現各個應用的跨平臺遷移。容器間的隔離可以有效避免應用程序之間的相互干擾,有效增強系統的安全性與穩定性。

那么這種基于傳統虛擬化方式的Docker容器是如何實現的呢?以在其中一臺虛擬機的一個容器中運行一個基于Apache2的網站為例,如在一臺虛擬機上安裝有Ubuntu 15.04,在這個系統中安裝Docker,然后通過運行sudodocker pull ubuntu命令從DockerHub倉庫下載一個最新的Ubuntu操作系統的鏡像。然后通過運行如下圖所示的命令來進入該容器。通過該命令,將把cjx-virtual-machine這臺虛擬機的81端口映射到容器中的80端口。

通過這樣的方式,網站的代碼運行在虛擬機操作系統cjx-virtual-machine中,通過端口的映射后,使外網可以訪問該網站。在網站系統及應用的開發過程中,添加數據庫等功能后,就可使每個容器單獨運行在一個容器中。然后就可以通過創建鏡像來打包容器,并放到鏡像倉庫中。因此可使網站具有跨平臺的可遷移性,并且網站代碼及配置環境與其他網站或應用相隔離。由于每個鏡像所占的容量都較小,一臺虛擬機上可以運行很多個容器,所以,通過這樣的方式,可以有效地將應用隔離開來。

圖6 訪問容器中的網站

6 結語

目前,越來越多的基于互聯網的高校圖書館應用時不時會面臨安全問題,高校圖書館的業務系統也不例外。如果多個應用程序運行在同一臺電腦或虛擬機上,多個應用程序的運行環境互相重疊,一個軟件應用出現安全問題,需要重新配置環境等,勢必會對其他軟件應用產生影響。因此,通過單獨的軟件應用運行在單獨的容器中,其軟硬件的資源代價是相對較少的,并且通過這樣的方式可以提高軟件的可移植性。

隨著linux的發展及輕量虛擬化技術的發展,類似Docker的輕量容器技術將會得到廣泛的應用。結合目前多數高校圖書館的軟硬件現狀,以及最新的容器技術的特點,筆者認為,在傳統虛擬機的基礎上使用Docker等輕量化的容器技術來運行圖書館業務系統應用,必將提高圖書館系統的安全性及系統的可移植性。

[1]孔楠.基于云計算平臺的商業服務模式研究[D].上海:上海外國語大學,2010.

[2]李輝.基于OpenStack的私有云計算平臺的研究和實現[D].南昌:江西師范大學,2013.

[3]劉熙,胡志勇.基于Docker容器的Web集群設計與實現[J].電子設計工程,2016(8):117-119.

[4]崔征.虛擬化技術在高校數據中心的應用[J].河北公安警察職業學院學報,2013(2):67-70.

[5]馬越,黃剛.基于Docker的應用軟件虛擬化研究[J].軟件,2015(3):10-14.

[6]張蓓.虛擬化技術在高校圖書館數字化中的應用[D].西安:西安工業大學,2013.

On Application of Virtualization and Docker in Data Management of University Libraries

This paper introduces the continuous development of cloud computing and the Docker container technology.Then it talks about the current state of virtualization technologies applied in data management of university libraries,and points out main problems of full virtualization technologies that are used by most universities.After that,this paper explains how Docker solves these problems.Also,this paper admits that Docker is a newly developed lightweight container technology,and has many functions yet to be improved.At last,this paper expresses expectations for use of Docker technology in university libraries.

Docker;virtualization;library application management;application security

G258.6;TP308

A

陳軍相(1980—),男,杭州電子科技大學工程師;李桂杰(1967—),女,杭州電子科技大學副教授。

2016-09-28

★本文系浙江省教育廳項目“高校圖書館移動參考咨詢系統的模型設計與實現研究”(項目編號:Y201533083)的成果之一。

猜你喜歡
圖書館
去圖書館坐坐
發明與創新(2021年6期)2021-03-10 07:13:54
圖書館
圖書館里送流年
圖書館
文苑(2019年20期)2019-11-16 08:52:12
夜間的圖書館
幽默大師(2019年5期)2019-05-14 05:39:38
圖書館里的小驚喜
圖書館 Library
幼兒畫刊(2018年11期)2018-12-03 05:11:44
時間重疊的圖書館
文苑(2018年17期)2018-11-09 01:29:40
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
飛躍圖書館
主站蜘蛛池模板: 狠狠操夜夜爽| 亚洲欧美一区在线| 亚洲综合色吧| jizz亚洲高清在线观看| 亚洲天堂免费在线视频| 9999在线视频| 亚洲AV色香蕉一区二区| 国产精品va| 伊人中文网| jizz在线观看| 99精品一区二区免费视频| 亚洲三级成人| 国产麻豆va精品视频| 原味小视频在线www国产| 亚洲综合色在线| 国产香蕉在线| 五月婷婷综合网| 亚洲美女视频一区| m男亚洲一区中文字幕| 欧美成人怡春院在线激情| 午夜视频免费试看| 成人在线亚洲| 伊在人亚洲香蕉精品播放| 久久大香香蕉国产免费网站| 狠狠五月天中文字幕| 亚洲性影院| 久996视频精品免费观看| 玖玖精品视频在线观看| 99久久亚洲综合精品TS| 亚洲无线一二三四区男男| jijzzizz老师出水喷水喷出| 日韩av高清无码一区二区三区| 国产精品美女自慰喷水| 久久亚洲国产一区二区| 天天综合亚洲| 欧美97欧美综合色伦图| 波多野结衣一区二区三视频| 少妇人妻无码首页| 亚洲无码不卡网| 国产欧美视频一区二区三区| 日韩人妻少妇一区二区| 亚洲免费毛片| 国产欧美日韩一区二区视频在线| 波多野结衣无码AV在线| 国产三区二区| 欧美啪啪一区| 4虎影视国产在线观看精品| 国产激情第一页| 日韩在线永久免费播放| 日本国产精品一区久久久| 伊人福利视频| 欧美中文字幕一区二区三区| 国产精品第5页| 国产精品手机视频一区二区| 91久久夜色精品国产网站| 亚洲免费黄色网| www.日韩三级| 青青热久麻豆精品视频在线观看| 大陆国产精品视频| 久久综合成人| 精品无码国产自产野外拍在线| 色悠久久久久久久综合网伊人| 午夜无码一区二区三区在线app| 9啪在线视频| 国产凹凸视频在线观看| 九色在线视频导航91| 伊伊人成亚洲综合人网7777| 国产网友愉拍精品视频| 综合亚洲网| 中文字幕在线一区二区在线| 深夜福利视频一区二区| 亚洲综合狠狠| 秋霞一区二区三区| 高清国产va日韩亚洲免费午夜电影| 亚洲人成网站在线观看播放不卡| 色首页AV在线| 看你懂的巨臀中文字幕一区二区| 四虎永久在线| 国产一级在线播放| 国产在线观看91精品亚瑟| 亚洲成人一区二区三区| 天天躁狠狠躁|