[發(fā)明專利]主機(jī)裝置的容器運(yùn)行加速方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710072321.6 | 申請日: | 2017-02-09 |
| 公開(公告)號: | CN106874068B | 公開(公告)日: | 2020-02-21 |
| 發(fā)明(設(shè)計(jì))人: | 李波 | 申請(專利權(quán))人: | 聯(lián)想(北京)有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 中科專利商標(biāo)代理有限責(zé)任公司 11021 | 代理人: | 柯瑞京 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 主機(jī) 裝置 容器 運(yùn)行 加速 方法 系統(tǒng) | ||
本發(fā)明提供了一種主機(jī)裝置的容器運(yùn)行加速方法及系統(tǒng),所述方法包括:當(dāng)由多個容器對所共享的文件系統(tǒng)進(jìn)行操作時(shí),將日志文件寫入非易失性內(nèi)存,其中,所述日志文件用于記錄所述多個容器對所述文件系統(tǒng)進(jìn)行的操作,在所述主機(jī)裝置啟動時(shí),將所述非易失性內(nèi)存映射到該主機(jī)裝置的內(nèi)核地址空間。
技術(shù)領(lǐng)域
本發(fā)明總體上涉及一種主機(jī)裝置的容器運(yùn)行加速方法及容器運(yùn)行加速系統(tǒng),具體地涉及一種主機(jī)裝置的容器同時(shí)運(yùn)行時(shí)進(jìn)行日志文件讀寫的加速方法及系統(tǒng)。
背景技術(shù)
近年,以Docker為代表的容器技術(shù)作為輕量化的虛擬化方案,在互聯(lián)網(wǎng)中被大量部署。容器為應(yīng)用程序提供了隔離的運(yùn)行空間:每個容器內(nèi)都包含一個獨(dú)享的完整用戶環(huán)境空間,并且一個容器內(nèi)的變動不會影響其他容器的運(yùn)行環(huán)境。為了達(dá)到這種效果,容器技術(shù)使用了一系列的系統(tǒng)級別的機(jī)制,例如,利用Linux namespaces來進(jìn)行空間隔離,通過文件系統(tǒng)的掛載點(diǎn)來決定容器可以訪問哪些文件,通過cgroups來確定每個容器可以利用多少資源。此外,容器之間共享同一系統(tǒng)內(nèi)核。這樣,當(dāng)同一個庫(即,文件系統(tǒng))被多個容器使用時(shí),內(nèi)存的使用效率會得到提升。
通常,單臺物理機(jī)上可以有幾十到幾百個容器同時(shí)運(yùn)行,這些容器在進(jìn)行數(shù)據(jù)讀寫的時(shí)候會產(chǎn)生IO瓶頸,特別是在帶有日志功能的文件系統(tǒng)上,情況會變的更糟,文件日志的讀寫成為瓶頸,導(dǎo)致容器間的資源競爭和容器對外服務(wù)中斷(DOS)。
以常用的linux的EXT3/4文件系統(tǒng)為例,在現(xiàn)在的情況下,假設(shè)多個容器(容器1、容器2和容器3等)在同時(shí)寫硬盤的時(shí)候,為了防止系統(tǒng)突發(fā)故障,每次文件的操作要寫入日志文件中。這樣,這個日志文件的讀寫就成為系統(tǒng)瓶頸,每次的文件操作,都要排隊(duì)來更新日志文件內(nèi)容。更糟糕的是,由于這個文件是存在于硬盤上,因此,每次都要確認(rèn)文件改動內(nèi)容并寫入日志文件后才可以進(jìn)行下一步動作,這樣,就使容器的存儲IO性能變得更差。
在現(xiàn)有技術(shù)中,日志文件存在于硬盤上,每次文件系統(tǒng)更新都要把相關(guān)操作寫入日志文件中,以防止系統(tǒng)突然掉電后文件系統(tǒng)的崩潰。
其缺點(diǎn)在于,首先,日志文件存于硬盤上,性能差且IO延時(shí)長。其次,當(dāng)多個容器并行運(yùn)行的時(shí)候,日志文件會成為系統(tǒng)瓶頸,在嚴(yán)重的情況下還會導(dǎo)致系統(tǒng)拒絕服務(wù)(DOS)。
發(fā)明內(nèi)容
本發(fā)明的一個方面提供了一種主機(jī)裝置的容器運(yùn)行加速方法,包括:當(dāng)由多個容器對所共享的文件系統(tǒng)進(jìn)行操作時(shí),將日志文件寫入非易失性內(nèi)存,其中,所述日志文件用于記錄所述多個容器對所述文件系統(tǒng)進(jìn)行的操作,在所述主機(jī)裝置啟動時(shí),將所述非易失性內(nèi)存映射到該主機(jī)裝置的內(nèi)核地址空間。
根據(jù)本發(fā)明的一個方面的主機(jī)裝置的容器運(yùn)行加速方法,所述多個容器對所共享的文件系統(tǒng)同時(shí)進(jìn)行操作。
根據(jù)本發(fā)明的一個方面的主機(jī)裝置的容器運(yùn)行加速方法,所述日志文件僅被寫入非易失性內(nèi)存,而不被寫入所述主機(jī)裝置的硬盤。
根據(jù)本發(fā)明的一個方面的主機(jī)裝置的容器運(yùn)行加速方法,在所述主機(jī)裝置正常關(guān)機(jī)時(shí),從所述非易失性內(nèi)存中讀取所述日志文件,并將所讀取的該日志文件寫入所述主機(jī)裝置的硬盤。
根據(jù)本發(fā)明的一個方面的主機(jī)裝置的容器運(yùn)行加速方法,所述內(nèi)核地址空間是所述主機(jī)裝置的操作系統(tǒng)的邏輯地址空間。
本發(fā)明的另一個方面提供了一種主機(jī)裝置的容器運(yùn)行加速系統(tǒng),包括:寫入模塊,當(dāng)由多個容器對所共享的文件系統(tǒng)進(jìn)行操作時(shí),將日志文件寫入非易失性內(nèi)存,其中,所述日志文件用于記錄所述多個容器對所述文件系統(tǒng)進(jìn)行的操作;以及映射模塊,在所述主機(jī)裝置啟動時(shí),將所述非易失性內(nèi)存映射到該主機(jī)裝置的內(nèi)核地址空間。
根據(jù)本發(fā)明的另一個方面的主機(jī)裝置的容器運(yùn)行加速系統(tǒng),所述多個容器對所共享的文件系統(tǒng)同時(shí)進(jìn)行操作。
根據(jù)本發(fā)明的另一個方面的主機(jī)裝置的容器運(yùn)行加速系統(tǒng),所述日志文件僅被寫入非易失性內(nèi)存,而不被寫入所述主機(jī)裝置的硬盤。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于聯(lián)想(北京)有限公司,未經(jīng)聯(lián)想(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710072321.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測系統(tǒng)及運(yùn)行監(jiān)測方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車輛
- 自動建模運(yùn)行系統(tǒng)及運(yùn)行方法





