基于OpenVZ的中小型企业私有云定制服务的设计与实现

2020-03-16 03:17陈晨周旭东
电脑知识与技术 2020年2期
关键词:云计算虚拟化

陈晨 周旭东

摘要:云计算是当前计算机信息科技领域十分热门一项的技术。私有云凭借其整合管理企业IT资源的优越性能,迅速被大众企业认可。为了降低中小型企业的运营成本,该文提出基于OpenVZ框架及其核心组件搭建私有云平台的解决方案,通过LNMP实现框架,采用磁盘阵列(RAID10)、定时任务corn等备份技术保障企业数据安全。搭建Centos6、Debian、Ubuntu等系统镜像模板以及虚拟服务器,满足不同环境需求。测试表明,OpenVZ实现的云平台可充分解决中小型企业资源管理问题。

关键词:OpenVZ;私有云服务;云计算;Lunix;虚拟化

中图分类号:TP302     文献标识码:A

文章编号: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 概述

十幾年前,云计算这个概念被提出。它是分布式计算的一种,是网格计算、分布式计算和虚拟化等传统计算机网络技术融合跃升的产物。[1]随着企业信息化发展建设的深入,信息技术向云计算应用转型,如今企业的工作方式和商业模式已发生巨大转变。

虚拟化技术则是云计算基础框架的核心,也是云计算这项技术发展的基础。基于虚拟化的私有云技术已成为企业IT建设的重要方式之一。企业可以通过搭建的专属私有云处理大量信息和应用,提高IT基础资源管理效率和服务器利用率。而大量中小型企业则难以承担高额的服务器建设、计算机运营的支出和维护成本,从而使业务处理能力下降。

为了解决上述问题,本文基于OpenVZ的虚拟化技术建立私有云平台,包括硬件虚拟化、集中管理、弹性资源调度等功能。该平台能很好地整合与管理现有的IT资源,有效利用IT海量数据,提高企业业务系统的柔软性和快速应变能力。企业可以根据需要定制所需的存储服务,且无须承担多余的工程费用,大大降低了中小型企业软硬件的开销和日常维护成本,提高企业数据安全性。实现IT建设与业务发展的协同,科学地管理与调配信息资源。

2 OpenVZ概述

2.1 OpenVZ背景

OpenVZ是基于Linux操作系统级虚拟化解决方案的开源软件,它采用SWsoft公司提供的Virtuozzo商业虚拟化解决方案产品的内核。[2]从当今虚拟化产业生态来看它是一种介于容器技术和全虚拟化技术之间的半虚拟化技术,并兼具这两种技术的优势,[3]不需要CPU虚拟化的特性支持。它允许物理服务器运行多个操作系统,在单个物理服务器上创建多个隔离、安全的虚拟专用服务器,并以最大效率共享硬件和管理资源。[4]其基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用,协助用户更好的管理虚拟服务器。

2.2 核心组件

OpenVZ由已修改的操作系统核心和用户工具组成。从应用程序和VPS用户两方面来看,每个VPS的运行都和独立的服务器完全一致,是完全独立的系统。[5]它拥有ROOT权限访问用户、IP地址、内存、处理器、文件、应用服务、系统库和配置文件等,确保应用程序之间不会相互干扰,且在虚拟化过程中大约仅有1~2%的CPU资源消耗,提高服务器利用率。

2.3 服务分析

私有云的核心属性是专有资源,它的构建目的是单独为客户使用,对客户数据的安全稳定性和服务品质提供最有效保障。[6]一般拥有基础设施的中小型企业,可以在此部署应用程序和系统。私有云可由云计算提供商使用“托管模式”构建,云提供商可以为服务的中小型企业安装、配置和运营私有云设施。私有云也可由公司自行构建,企业可将私有云部署在位于防火墙内的数据中心,也可选择一个安全性高的主机托管场所来部署。这个模式给予公司对于IT云资源极高的控制,并且降低企业成本,提高数据资源的安全性。

3 基于OpenVZ的虚拟化实施方案

3.1 前期准备

3.1.1 服务器应用

1) Web应用

本文基于LNMP實现Web框架。

LNMP=Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python,其面板安全性能较高,可以解决主机间的跨站攻击,运行动态网站或服务器占用的资源非常少。这些脚本组件能够创建容易有效的操作文本流。还可利用它的数据加密、远程和定期备份、一键还原网站和面板数据等功能。

通过安装cmake和mysql,对mysql一级目录进行编译。安装myisam、innodb 、archive 、blackhole存储引擎,再将数据库分区,从本地导入数据。放置脚本并设置环境变量,建立mysql用户并对数据库初始化。再进行PHP安装和文件配置,建立nginx用户并启动服务。

2) 数据库应用

本文采用方便高效率的Mysql、PostgreSQL、redis、MariaDB等数据库管理系统,并将数据都缓存在内存中,周期性把更新后的数据存入磁盘,实现主从同步。数据可以从主服务器向其他任意服务器上同步,进行可执行单层树的复制,在同步时可检测接受完整的服务器消息发布记录。

3.1.2 备份方案

1) 磁盘阵列(RAID 10)

备份采用RAID 10磁盘阵列技术,原有硬盘容量为4T,进行磁盘阵列之后容量变为1.7T。磁盘阵列将数据分割成许多区并进行条带化。按RAID 0分成两组,对一个阵列中的几个磁盘同时读写操作,再对这两组按RAID1镜像,分别成块存取在不同硬盘上。RAID 10提供镜像存储和数据条带形分布,减少磁盘机械寻道的时间,能够提升整个磁盘系统的效能。

通过mdadm在每个磁盘上划分主分区sd:ls -l /dev | grep sd[bcdef]

使用命令创建RAID 10阵列:# mdadm —create —verbose /dev/md0 —level=10 —raid-devices=n /dev/sd[bcde]1 —spare-devices=1 /dev/sdf1

最后执行命令:# mdadm —detail /dev/md0

2) 定时备份

本文使用定时任务corn进行数据库及文件备份。通过自主设置时间和执行内容来让系统自动执行任务,保证数据和文件的安全性。安装vixie cron和crontabs软件包,查看crond服务是否运行,使用服务操作命令载入配置,进行启动服务、重启服务、重新载入服务等指令。设置运行日志存放路径,进行定时任务配置。

3) 异地备份

采用基于主机的异地备份数据复制技术,虚拟机处于同一虚拟子网中,可进行无障碍互联。不考虑存储系统的同构,支持远程实时备份。分析企业灾备和解决方案,确认恢复范围和距离等。

3.2 平台实施方案

本文使用实体服务器以及软硬件环境为:戴尔 R710/64g内存/4*1TB;CPU:X5650;内存51GB ;OS系统版本:Linux 2.6.32-042stab134.3x86_64

在物理宿主机中部署OpenVZ,设置用户、虚拟机的IP地址以及DNS地址等。[7]现已拥有7个原生系统镜像和16个自主创建的系统镜像,可根据用户需求自主选择。

OS系统模板:

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个虚拟服务器:centos6测试系统、debian7测试系统、php运行环境、mysql5.5环境、nginx、apache、Python3网站环境、NodeJs运行环境、Redis、ASP.NET网站运行环境、Go语言环境、PostgreSQL数据库、Memcached缓存系统、Ruby语言环境、原生debian7 64位系统、原生debian8 64位系统、原生ubuntu 16 64位系统、mysql5.6、mysql5.7。

通过网关设置的DLAN下的虚拟IP池建立IP范围,创建一个拥有153个IP的IP池。管理员可创建用户并对其管理,导入生成的硬件证书,可指定用户使用IP,在用户接入后,DLAN从IP池中随机选择一个空闲IP分配给用户,每一个IP都可创建一个虚拟机。本文创建的IP地址范围:192.168.0.101~192.168.0.254

本文采用OpenVZ Web Panel——基于OpenVZ虚拟化技术的服务器网页控制面板,它能方便管理员和用户管理虚拟服务器。管理员可查看面板用户、物理服务和虚拟服务器数据,以及查看虚拟服务器运行、停止、到期的情况。管理员具有创建虚拟机,并且创建管理用户、IP池、处理工单、查看物理服务器等权限。用户具有使用虚拟机、修改虚拟机密码、更改DNS、创建系统镜像和发送工单的权限。

3.3 测试

本次测试采用的测试工具为unixbench,测试虚拟机名称为openvz-117,其配置是1核cpu 2G内存,centos7镜像虚拟机耗费33MB内存。通过校园网进行功能性测试、集成测试、SSH远程桌面登录等测试。[8]

首先对物理服务器进行测试,服务器系统环境为Centos6.10。以root用户登录物理服务器进入SSH终端,安装wget,使用wgrt下载测试脚本。给予测试脚本完整的运行权限:chmod +x unixbench.sh。再次运行测试脚本,得出测试结果。

3.3.1 性能测试

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

在系統中24个CPU中运行1个测试并行副本。CPU型号为Intel(R)Xeon(R)CPU X5650@2.67GHz;24核@1596.000 MHz x86 64;

CPU缓存:12288 KB;操作系统:CentOS 6.10(64位)OpenVZ;内核:2.6.32-042stab134.3;总空间:45.2 GB/1837.3 GB

内存总量:2338MB/52187MB(56MB缓冲);交换总量:0 MB/9999 MB

I/O速度第1、2、3次运行分别为:150MB/S、155 MB/s、156 MB/s;

系统基准指数得分837。

3.3.2 应用测试

应用测试使用php探针进行测试。

服务器IP地址为:192.168.0.105;操作系统:Linux内核版本:2.6.32-042stab134.3;

PHP版本为PHPINFO;

PHP运行方式:FPM-FCGI(腳本占用最大内存);

上传文件最大限制为50M,socket超时时间为300秒。支持打开远程文件(声明arg和argc变量)、cookie、SMTP和BCMath(PREL相容语法)。

组件支持:FTP、session、XML解析、Socket、正则表达式函数库、lconv编码转换、高精度数学运算、mbstring、哈希计算等。

数据库支持:MySQL、SQLite3 VEr 3.20.1。

3.4 测试总结

实际测试下虚拟机性能较好,对比物理服务器性能损耗较低。具备虚拟化主机异构能力,能够容纳管理虚拟化平台。测试了虚拟机的cpu、内存、网络使用状况、PHP相关参数以及组件支持等等,其具备逻辑网络TOP功能。

4 结束语

本文基于Linux和OpenVZ基本框架构建了私有云平台。云平台的基本目标就是建立数据中心,为相关用户提供计算、存储等服务,缩短IT与业务的距离,降低运营成本。OpenVZ管理界面组件简单易用、功能丰富,在登录后就可以执行创建测试用户、项目、网络、云主机等操作,便于企业管理与使用。经过性能测试分析后,在重负载时体现出私有云系统的性能优势,有效解决中小型企业服务器的瓶颈。低权重开销的OpenVZ私有云正是中小型企业的最佳选择之一。

参考文献:

[1] 翁武钦.云计算核心技术及行业运用发展趋势浅析[J].信息通信,2014,27(6):251.

[2] 杨岩. 操作系统级虚拟化技术在网络课程实践教学环境中的应用研究[D]. 南京: 东南大学, 2009.

[3] 段赫. 基于LXC容器资源优化的研究与实现[D]. 广州: 华南理工大学, 2016.

[4] 张鑫,吴纯青,胡晓峰,等.OpenVZ虚拟化技术网络性能研究[C].中国计算机网络与信息安全学术会议,2011.

[5] 张立洪,杜丹,李龙.网络对抗训练混合虚拟化平台设计研究[J].系统仿真技术,2012,8(1):51-55,61.

[6] 贾晨微. 政务地理空间私有云技术研究[D]. 成都: 电子科技大学, 2012.

[7] 余先虎.VMware虚拟机在网络实验教学中的应用[J].计算机时代,2013(6):20-22.

[8] 张震,谭方勇,刘昭斌.基于OpenVZ的远程虚拟网络实验环境设计与构建[J].苏州市职业大学学报,2012,23(4):1-4.

【通联编辑:李雅琪】

猜你喜欢
云计算虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在CTC/TDCS系统中的应用研究
虚拟化技术在计算机技术创造中的应用
实验云:理论教学与实验教学深度融合的助推器
高速公路服务器虚拟化技术应用与探讨
存储虚拟化还有优势吗?