现在多数的主机虚拟系统是基于管理程序的(hypervisor-based),而基于容器的虚拟化(container-based)技术提供了另外一种虚拟化的途径。通过在一台物理机上创建并运行多个独立的容器,所有的容器都运行在预先安装的主操作系统之上,管理员可以在容器中创建虚拟机(VM)。每个虚拟机的运行都是独立于其他容器中的虚拟机,通过这样的方式保障虚拟机的安全性。开源程序OpenVZ使用的就是这种虚拟机技术。
OpenVZ实现虚拟化的方式完全不同于其他的开源虚拟化产品(如Xen和KVM)。跟其他虚拟化技术相比而言,OpenVZ有一点限制要求:宿主机(host)和子系统(guest)都必须运……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
现在多数的主机虚拟系统是基于管理程序的(hypervisor-based),而基于容器的虚拟化(container-based)技术提供了另外一种虚拟化的途径。通过在一台物理机上创建并运行多个独立的容器,所有的容器都运行在预先安装的主操作系统之上,管理员可以在容器中创建虚拟机(VM)。每个虚拟机的运行都是独立于其他容器中的虚拟机,通过这样的方式保障虚拟机的安全性。开源程序OpenVZ使用的就是这种虚拟机技术。
OpenVZ实现虚拟化的方式完全不同于其他的开源虚拟化产品(如Xen和KVM)。跟其他虚拟化技术相比而言,OpenVZ有一点限制要求:宿主机(host)和子系统(guest)都必须运行Linux,子系统可以支持不同版本的Linux。基于容器虚拟化技术的商业化产品Parallels Virtuozzo Containers就是在OpenVZ的原理基础上实现的。
这种实现方式最大的优势就是它的性能。在OpenVZ中,所有通讯都是在Linux系统之间完成的,因此不需要复杂的翻译和转化过程。同时,它的安装方式也从根本上保证了高安全性,因为在不同的容器之间实现了完全的独立性。
安装
OpenVZ可以运行在Red Hat 和 Debian等主流Linux操作系统之上,目前还不支持Ubuntu。如下的安装过程是OpenVZ在Red Hat Linux系统下实现的。在64位操作系统中,安装过程支持通过Yum或RPM安装包的方式来完成。
1. 下载OpenVZ安装包:在开始安装前,下载库源文件(repository file),并把下载的文件放在"/etc/yum.repos.d"目录下。您可以使用如下的wget命令来下载库源文件。
wget http://download.openvz.org/openvz.repo
使用下面这条命令,您可以加载库源文件中的GPG key 校验码:
rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
2. 安装OpenVZ内核。OpneVZ提供了不同的内核方式供选择,选择哪种内核取决于您的硬件条件及您将要创建的容器数量。首先是SMP内核,用于对称式多处理器环境。支持高达到4GB的RAM及10到20个容器。第二种是"entnosplit" 内核,这种内核支持PAE (Physical Address Extension)技术,可以支持到高达64GB的RAM及10到30个容器。最后一种是Enterprise内核,这种方式同时支持SMP和PAE,是多容器环境的最佳配置,最多可以同时运行20到30个容器。当在32位操作系统中安装OpenVZ时,选择合适内核形式对您而言是非常重要的。
如果您是在64位操作系统环境中安装,选择SMP内核就可以满足所有的需求。因为在64位的系统中不存在操作系统只能支持4GB缓存的限制(PAE技术本身就是为了解决缓存限制的问题)。如果您使用的64位操作系统,通过如下命令来安装内核:
yum install ovzkernel-smp
现在,OpenVZ内核已经安装并被自动加载到GRUB配置中。重启之后,OpenVZ内核会自动加载运行。
3. 在重启之前,您需要设置几个sysctl参数。请确保在列表1中设计涉及的所有参数设置都已经保存在"/etc/sysctl.conf"文件中
列表1 :. 在 /etc/sysctl.conf文件中需要配置的参数:
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
4. 确保SELinux选项是关闭的。您可以通过在"/etc/sysconfig/selinux"文件中设置如下的值来关闭该选项:
SELINUX=disabled
5. 安装OpenVZ工具。用如下命令来实现:
yum install vzctl vzquota
6. 编辑"/etc/vz.conf"文件。如果您计划在虚拟机中使用的IP地址和宿主机的IP地址不在一个地址段中,就需要确保该文件包含如下参数:
NEIGHBOUR_DEVS=all
7. 重启系统,OpenVZ内核将激活。
该系列的下一章将举例说明如何在OpenVZ中创建一个虚拟操作系统环境。
相关推荐
-
开源虚拟化扩展VM硬件和操作系统选项
你不必使用专有虚拟化软件运行虚拟机。现在开源社区提供的产品可以满足所有不同虚拟化需求,你无需支付高昂的前期成本 […]
-
2019年Xen与KVM之争已无悬念
多年来,在开源虚拟化领域,Xen和KVM一直在不断竞争,但现在来看,这场竞争基本已经结束。 早在2014年,很 […]
-
做CTO最重要的技能是什么?是写代码吗?
不写代码能做好CTO吗?
-
pppcloud支持哪些系统镜像?
全ssd云主机平台pppcloud支持多达40种镜像,中秋节期间注册即送8.15现金券,www.pppclou […]