陳晨 周旭東
摘要:云計(jì)算是當(dāng)前計(jì)算機(jī)信息科技領(lǐng)域十分熱門一項(xiàng)的技術(shù)。私有云憑借其整合管理企業(yè)IT資源的優(yōu)越性能,迅速被大眾企業(yè)認(rèn)可。為了降低中小型企業(yè)的運(yùn)營(yíng)成本,該文提出基于OpenVZ框架及其核心組件搭建私有云平臺(tái)的解決方案,通過LNMP實(shí)現(xiàn)框架,采用磁盤陣列(RAID10)、定時(shí)任務(wù)corn等備份技術(shù)保障企業(yè)數(shù)據(jù)安全。搭建Centos6、Debian、Ubuntu等系統(tǒng)鏡像模板以及虛擬服務(wù)器,滿足不同環(huán)境需求。測(cè)試表明,OpenVZ實(shí)現(xiàn)的云平臺(tái)可充分解決中小型企業(yè)資源管理問題。
關(guān)鍵詞:OpenVZ;私有云服務(wù);云計(jì)算;Lunix;虛擬化
中圖分類號(hào):TP302? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)02-0016-04
Abstract: Cloud computing is a very popular technology in the field of computer information technology. Private cloud is quickly recognized by public enterprises with its superior performance of integrating and managing enterprise IT resources. In order to reduce the operating cost of small and medium-sized enterprises, this paper proposes a solution to build a private cloud platform Based on the OpenVZ framework and its core components. Through the LNMP implementation framework, the backup technologies such as RAID 10 and timed task corn are used to ensure the data security of enterprises. Set up centos6, Debian, Ubuntu and other system image templates and virtual servers to meet the needs of different environments. The test shows that the cloud platform implemented by OpenVZ can fully solve the resource management problems of small and medium-sized enterprises.
Key words: OpenVZ; private cloud services; cloud computing; Lunix; virtualization
1 概述
十幾年前,云計(jì)算這個(gè)概念被提出。它是分布式計(jì)算的一種,是網(wǎng)格計(jì)算、分布式計(jì)算和虛擬化等傳統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)融合躍升的產(chǎn)物。[1]隨著企業(yè)信息化發(fā)展建設(shè)的深入,信息技術(shù)向云計(jì)算應(yīng)用轉(zhuǎn)型,如今企業(yè)的工作方式和商業(yè)模式已發(fā)生巨大轉(zhuǎn)變。
虛擬化技術(shù)則是云計(jì)算基礎(chǔ)框架的核心,也是云計(jì)算這項(xiàng)技術(shù)發(fā)展的基礎(chǔ)。基于虛擬化的私有云技術(shù)已成為企業(yè)IT建設(shè)的重要方式之一。企業(yè)可以通過搭建的專屬私有云處理大量信息和應(yīng)用,提高IT基礎(chǔ)資源管理效率和服務(wù)器利用率。而大量中小型企業(yè)則難以承擔(dān)高額的服務(wù)器建設(shè)、計(jì)算機(jī)運(yùn)營(yíng)的支出和維護(hù)成本,從而使業(yè)務(wù)處理能力下降。
為了解決上述問題,本文基于OpenVZ的虛擬化技術(shù)建立私有云平臺(tái),包括硬件虛擬化、集中管理、彈性資源調(diào)度等功能。該平臺(tái)能很好地整合與管理現(xiàn)有的IT資源,有效利用IT海量數(shù)據(jù),提高企業(yè)業(yè)務(wù)系統(tǒng)的柔軟性和快速應(yīng)變能力。企業(yè)可以根據(jù)需要定制所需的存儲(chǔ)服務(wù),且無須承擔(dān)多余的工程費(fèi)用,大大降低了中小型企業(yè)軟硬件的開銷和日常維護(hù)成本,提高企業(yè)數(shù)據(jù)安全性。實(shí)現(xiàn)IT建設(shè)與業(yè)務(wù)發(fā)展的協(xié)同,科學(xué)地管理與調(diào)配信息資源。
2 OpenVZ概述
2.1 OpenVZ背景
OpenVZ是基于Linux操作系統(tǒng)級(jí)虛擬化解決方案的開源軟件,它采用SWsoft公司提供的Virtuozzo商業(yè)虛擬化解決方案產(chǎn)品的內(nèi)核。[2]從當(dāng)今虛擬化產(chǎn)業(yè)生態(tài)來看它是一種介于容器技術(shù)和全虛擬化技術(shù)之間的半虛擬化技術(shù),并兼具這兩種技術(shù)的優(yōu)勢(shì),[3]不需要CPU虛擬化的特性支持。它允許物理服務(wù)器運(yùn)行多個(gè)操作系統(tǒng),在單個(gè)物理服務(wù)器上創(chuàng)建多個(gè)隔離、安全的虛擬專用服務(wù)器,并以最大效率共享硬件和管理資源。[4]其基于模板的應(yīng)用程序部署可以在幾分鐘內(nèi)用簡(jiǎn)單的方法創(chuàng)建新的虛擬服務(wù)器并投入使用,協(xié)助用戶更好的管理虛擬服務(wù)器。
2.2 核心組件
OpenVZ由已修改的操作系統(tǒng)核心和用戶工具組成。從應(yīng)用程序和VPS用戶兩方面來看,每個(gè)VPS的運(yùn)行都和獨(dú)立的服務(wù)器完全一致,是完全獨(dú)立的系統(tǒng)。[5]它擁有ROOT權(quán)限訪問用戶、IP地址、內(nèi)存、處理器、文件、應(yīng)用服務(wù)、系統(tǒng)庫(kù)和配置文件等,確保應(yīng)用程序之間不會(huì)相互干擾,且在虛擬化過程中大約僅有1~2%的CPU資源消耗,提高服務(wù)器利用率。
2.3 服務(wù)分析
私有云的核心屬性是專有資源,它的構(gòu)建目的是單獨(dú)為客戶使用,對(duì)客戶數(shù)據(jù)的安全穩(wěn)定性和服務(wù)品質(zhì)提供最有效保障。[6]一般擁有基礎(chǔ)設(shè)施的中小型企業(yè),可以在此部署應(yīng)用程序和系統(tǒng)。私有云可由云計(jì)算提供商使用“托管模式”構(gòu)建,云提供商可以為服務(wù)的中小型企業(yè)安裝、配置和運(yùn)營(yíng)私有云設(shè)施。私有云也可由公司自行構(gòu)建,企業(yè)可將私有云部署在位于防火墻內(nèi)的數(shù)據(jù)中心,也可選擇一個(gè)安全性高的主機(jī)托管場(chǎng)所來部署。這個(gè)模式給予公司對(duì)于IT云資源極高的控制,并且降低企業(yè)成本,提高數(shù)據(jù)資源的安全性。
3 基于OpenVZ的虛擬化實(shí)施方案
3.1 前期準(zhǔn)備
3.1.1 服務(wù)器應(yīng)用
1) Web應(yīng)用
本文基于LNMP實(shí)現(xiàn)Web框架。
LNMP=Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python,其面板安全性能較高,可以解決主機(jī)間的跨站攻擊,運(yùn)行動(dòng)態(tài)網(wǎng)站或服務(wù)器占用的資源非常少。這些腳本組件能夠創(chuàng)建容易有效的操作文本流。還可利用它的數(shù)據(jù)加密、遠(yuǎn)程和定期備份、一鍵還原網(wǎng)站和面板數(shù)據(jù)等功能。
通過安裝cmake和mysql,對(duì)mysql一級(jí)目錄進(jìn)行編譯。安裝myisam、innodb 、archive 、blackhole存儲(chǔ)引擎,再將數(shù)據(jù)庫(kù)分區(qū),從本地導(dǎo)入數(shù)據(jù)。放置腳本并設(shè)置環(huán)境變量,建立mysql用戶并對(duì)數(shù)據(jù)庫(kù)初始化。再進(jìn)行PHP安裝和文件配置,建立nginx用戶并啟動(dòng)服務(wù)。
2) 數(shù)據(jù)庫(kù)應(yīng)用
本文采用方便高效率的Mysql、PostgreSQL、redis、MariaDB等數(shù)據(jù)庫(kù)管理系統(tǒng),并將數(shù)據(jù)都緩存在內(nèi)存中,周期性把更新后的數(shù)據(jù)存入磁盤,實(shí)現(xiàn)主從同步。數(shù)據(jù)可以從主服務(wù)器向其他任意服務(wù)器上同步,進(jìn)行可執(zhí)行單層樹的復(fù)制,在同步時(shí)可檢測(cè)接受完整的服務(wù)器消息發(fā)布記錄。
3.1.2 備份方案
1) 磁盤陣列(RAID 10)
備份采用RAID 10磁盤陣列技術(shù),原有硬盤容量為4T,進(jìn)行磁盤陣列之后容量變?yōu)?.7T。磁盤陣列將數(shù)據(jù)分割成許多區(qū)并進(jìn)行條帶化。按RAID 0分成兩組,對(duì)一個(gè)陣列中的幾個(gè)磁盤同時(shí)讀寫操作,再對(duì)這兩組按RAID1鏡像,分別成塊存取在不同硬盤上。RAID 10提供鏡像存儲(chǔ)和數(shù)據(jù)條帶形分布,減少磁盤機(jī)械尋道的時(shí)間,能夠提升整個(gè)磁盤系統(tǒng)的效能。
通過mdadm在每個(gè)磁盤上劃分主分區(qū)sd:ls -l /dev | grep sd[bcdef]
使用命令創(chuàng)建RAID 10陣列:# mdadm —create —verbose /dev/md0 —level=10 —raid-devices=n /dev/sd[bcde]1 —spare-devices=1 /dev/sdf1
最后執(zhí)行命令:# mdadm —detail /dev/md0
2) 定時(shí)備份
本文使用定時(shí)任務(wù)corn進(jìn)行數(shù)據(jù)庫(kù)及文件備份。通過自主設(shè)置時(shí)間和執(zhí)行內(nèi)容來讓系統(tǒng)自動(dòng)執(zhí)行任務(wù),保證數(shù)據(jù)和文件的安全性。安裝vixie cron和crontabs軟件包,查看crond服務(wù)是否運(yùn)行,使用服務(wù)操作命令載入配置,進(jìn)行啟動(dòng)服務(wù)、重啟服務(wù)、重新載入服務(wù)等指令。設(shè)置運(yùn)行日志存放路徑,進(jìn)行定時(shí)任務(wù)配置。
3) 異地備份
采用基于主機(jī)的異地備份數(shù)據(jù)復(fù)制技術(shù),虛擬機(jī)處于同一虛擬子網(wǎng)中,可進(jìn)行無障礙互聯(lián)。不考慮存儲(chǔ)系統(tǒng)的同構(gòu),支持遠(yuǎn)程實(shí)時(shí)備份。分析企業(yè)災(zāi)備和解決方案,確認(rèn)恢復(fù)范圍和距離等。
3.2 平臺(tái)實(shí)施方案
本文使用實(shí)體服務(wù)器以及軟硬件環(huán)境為:戴爾 R710/64g內(nèi)存/4*1TB;CPU:X5650;內(nèi)存51GB ;OS系統(tǒng)版本:Linux 2.6.32-042stab134.3x86_64
在物理宿主機(jī)中部署OpenVZ,設(shè)置用戶、虛擬機(jī)的IP地址以及DNS地址等。[7]現(xiàn)已擁有7個(gè)原生系統(tǒng)鏡像和16個(gè)自主創(chuàng)建的系統(tǒng)鏡像,可根據(jù)用戶需求自主選擇。
OS系統(tǒng)模板:
centos6-x86_64? centos7-x86_64
Debian-7.0-x86? Debian-7.0-x86_64? Debian-8x86_64-minimal
Ubuntu-16.04-x86_64 ubuntu-16.04 6-server-amd64.iso
目前擁有20個(gè)虛擬服務(wù)器:centos6測(cè)試系統(tǒng)、debian7測(cè)試系統(tǒng)、php運(yùn)行環(huán)境、mysql5.5環(huán)境、nginx、apache、Python3網(wǎng)站環(huán)境、NodeJs運(yùn)行環(huán)境、Redis、ASP.NET網(wǎng)站運(yùn)行環(huán)境、Go語言環(huán)境、PostgreSQL數(shù)據(jù)庫(kù)、Memcached緩存系統(tǒng)、Ruby語言環(huán)境、原生debian7 64位系統(tǒng)、原生debian8 64位系統(tǒng)、原生ubuntu 16 64位系統(tǒng)、mysql5.6、mysql5.7。
通過網(wǎng)關(guān)設(shè)置的DLAN下的虛擬IP池建立IP范圍,創(chuàng)建一個(gè)擁有153個(gè)IP的IP池。管理員可創(chuàng)建用戶并對(duì)其管理,導(dǎo)入生成的硬件證書,可指定用戶使用IP,在用戶接入后,DLAN從IP池中隨機(jī)選擇一個(gè)空閑IP分配給用戶,每一個(gè)IP都可創(chuàng)建一個(gè)虛擬機(jī)。本文創(chuàng)建的IP地址范圍:192.168.0.101~192.168.0.254
本文采用OpenVZ Web Panel——基于OpenVZ虛擬化技術(shù)的服務(wù)器網(wǎng)頁控制面板,它能方便管理員和用戶管理虛擬服務(wù)器。管理員可查看面板用戶、物理服務(wù)和虛擬服務(wù)器數(shù)據(jù),以及查看虛擬服務(wù)器運(yùn)行、停止、到期的情況。管理員具有創(chuàng)建虛擬機(jī),并且創(chuàng)建管理用戶、IP池、處理工單、查看物理服務(wù)器等權(quán)限。用戶具有使用虛擬機(jī)、修改虛擬機(jī)密碼、更改DNS、創(chuàng)建系統(tǒng)鏡像和發(fā)送工單的權(quán)限。
3.3 測(cè)試
本次測(cè)試采用的測(cè)試工具為unixbench,測(cè)試虛擬機(jī)名稱為openvz-117,其配置是1核cpu 2G內(nèi)存,centos7鏡像虛擬機(jī)耗費(fèi)33MB內(nèi)存。通過校園網(wǎng)進(jìn)行功能性測(cè)試、集成測(cè)試、SSH遠(yuǎn)程桌面登錄等測(cè)試。[8]
首先對(duì)物理服務(wù)器進(jìn)行測(cè)試,服務(wù)器系統(tǒng)環(huán)境為Centos6.10。以root用戶登錄物理服務(wù)器進(jìn)入SSH終端,安裝wget,使用wgrt下載測(cè)試腳本。給予測(cè)試腳本完整的運(yùn)行權(quán)限:chmod +x unixbench.sh。再次運(yùn)行測(cè)試腳本,得出測(cè)試結(jié)果。
3.3.1 性能測(cè)試
Dhrystone 2 using register variables? ? ?28449865.0 lps? ?(10.0 s, 7 samples)
Double-Precision Whetstone 3660.0 MWIPS (10.0 s, 7 samples)
Execl Throughput ? 1719.0 lps? ?(30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks? ? ? ? 523430.9 KBps? (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks? ? ? ? ? 134948.9 KBps? (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks? ? ? ?1360596.1 KBps? (30.0 s, 2 samples)
Pipe Throughput 906171.5 lps? ?(10.0 s, 7 samples)
Pipe-based Context Switching 76758.5 lps? ?(10.0 s, 7 samples)
Process Creation 3973.1 lps? ?(30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3452.1 lpm? ?(60.0 s, 2 samples)
Shell Scripts (8 concurrent) 2041.9 lpm? ?(60.0 s, 2 samples)
System Call Overhead 886121.1 lps? ?(10.0 s, 7 samples)
System Benchmarks Index Values BASELINE? ? ? ?RESULT? ? INDEX
Dhrystone 2 using register variables? ? 116700.0? ?28449865.0? ?2437.9
Double-Precision Whetstone 55.0? ? ? ?3660.0? ? 665.5
Execl Throughput 43.0? ? ? ?1719.0? ? 399.8
File Copy 1024 bufsize 2000 maxblocks ? ?3960.0? ? ?523430.9? ?1321.8
File Copy 256 bufsize 500 maxblocks? ? 1655.0? ? ?134948.9? ? 815.4
File Copy 4096 bufsize 8000 maxblocks? ?5800.0? ? 1360596.1? ?2345.9
Pipe Throughput 12440.0? ? ?906171.5? ? 728.4
Pipe-based Context Switching? ?4000.0? ? 76758.5? ? 191.9
Process Creation? 126.0? ? ? ?3973.1? ? 315.3
Shell Scripts (1 concurrent) 42.4? ? ? ?3452.1? ? 814.2
Shell Scripts (8 concurrent) 6.0? ? ? ?2041.9? ?3403.1
System Call Overhead 15000.0? ? ?886121.1? ? 590.7
========
System Benchmarks Index Score? 837.0
在系統(tǒng)中24個(gè)CPU中運(yùn)行1個(gè)測(cè)試并行副本。CPU型號(hào)為Intel(R)Xeon(R)CPU X5650@2.67GHz;24核@1596.000 MHz x86 64;
CPU緩存:12288 KB;操作系統(tǒng):CentOS 6.10(64位)OpenVZ;內(nèi)核:2.6.32-042stab134.3;總空間:45.2 GB/1837.3 GB
內(nèi)存總量:2338MB/52187MB(56MB緩沖);交換總量:0 MB/9999 MB
I/O速度第1、2、3次運(yùn)行分別為:150MB/S、155 MB/s、156 MB/s;
系統(tǒng)基準(zhǔn)指數(shù)得分837。
3.3.2 應(yīng)用測(cè)試
應(yīng)用測(cè)試使用php探針進(jìn)行測(cè)試。
服務(wù)器IP地址為:192.168.0.105;操作系統(tǒng):Linux內(nèi)核版本:2.6.32-042stab134.3;
PHP版本為PHPINFO;
PHP運(yùn)行方式:FPM-FCGI(腳本占用最大內(nèi)存);
上傳文件最大限制為50M,socket超時(shí)時(shí)間為300秒。支持打開遠(yuǎn)程文件(聲明arg和argc變量)、cookie、SMTP和BCMath(PREL相容語法)。
組件支持:FTP、session、XML解析、Socket、正則表達(dá)式函數(shù)庫(kù)、lconv編碼轉(zhuǎn)換、高精度數(shù)學(xué)運(yùn)算、mbstring、哈希計(jì)算等。
數(shù)據(jù)庫(kù)支持:MySQL、SQLite3 VEr 3.20.1。
3.4 測(cè)試總結(jié)
實(shí)際測(cè)試下虛擬機(jī)性能較好,對(duì)比物理服務(wù)器性能損耗較低。具備虛擬化主機(jī)異構(gòu)能力,能夠容納管理虛擬化平臺(tái)。測(cè)試了虛擬機(jī)的cpu、內(nèi)存、網(wǎng)絡(luò)使用狀況、PHP相關(guān)參數(shù)以及組件支持等等,其具備邏輯網(wǎng)絡(luò)TOP功能。
4 結(jié)束語
本文基于Linux和OpenVZ基本框架構(gòu)建了私有云平臺(tái)。云平臺(tái)的基本目標(biāo)就是建立數(shù)據(jù)中心,為相關(guān)用戶提供計(jì)算、存儲(chǔ)等服務(wù),縮短IT與業(yè)務(wù)的距離,降低運(yùn)營(yíng)成本。OpenVZ管理界面組件簡(jiǎn)單易用、功能豐富,在登錄后就可以執(zhí)行創(chuàng)建測(cè)試用戶、項(xiàng)目、網(wǎng)絡(luò)、云主機(jī)等操作,便于企業(yè)管理與使用。經(jīng)過性能測(cè)試分析后,在重負(fù)載時(shí)體現(xiàn)出私有云系統(tǒng)的性能優(yōu)勢(shì),有效解決中小型企業(yè)服務(wù)器的瓶頸。低權(quán)重開銷的OpenVZ私有云正是中小型企業(yè)的最佳選擇之一。
參考文獻(xiàn):
[1] 翁武欽.云計(jì)算核心技術(shù)及行業(yè)運(yùn)用發(fā)展趨勢(shì)淺析[J].信息通信,2014,27(6):251.
[2] 楊巖. 操作系統(tǒng)級(jí)虛擬化技術(shù)在網(wǎng)絡(luò)課程實(shí)踐教學(xué)環(huán)境中的應(yīng)用研究[D]. 南京: 東南大學(xué), 2009.
[3] 段赫. 基于LXC容器資源優(yōu)化的研究與實(shí)現(xiàn)[D]. 廣州: 華南理工大學(xué), 2016.
[4] 張?chǎng)危瑓羌兦?,胡曉峰,?OpenVZ虛擬化技術(shù)網(wǎng)絡(luò)性能研究[C].中國(guó)計(jì)算機(jī)網(wǎng)絡(luò)與信息安全學(xué)術(shù)會(huì)議,2011.
[5] 張立洪,杜丹,李龍.網(wǎng)絡(luò)對(duì)抗訓(xùn)練混合虛擬化平臺(tái)設(shè)計(jì)研究[J].系統(tǒng)仿真技術(shù),2012,8(1):51-55,61.
[6] 賈晨微. 政務(wù)地理空間私有云技術(shù)研究[D]. 成都: 電子科技大學(xué), 2012.
[7] 余先虎.VMware虛擬機(jī)在網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2013(6):20-22.
[8] 張震,譚方勇,劉昭斌.基于OpenVZ的遠(yuǎn)程虛擬網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境設(shè)計(jì)與構(gòu)建[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2012,23(4):1-4.
【通聯(lián)編輯:李雅琪】