鼎鼎大名的 OpenVZ 谁不知道?在主机行业被使用(滥用)很多年,依然在茁壮发展。作为一种操作系统级别的虚拟化技术,运行 OpenVZ 没有硬性的硬件要求。OpenVZ 能够创建被称为容器(containers)的虚拟化环境。这些虚拟机没有完全隔离(因语言习惯不同,还是将“容器”翻译成“虚拟机”比较通俗易懂)。OpenVZ 其中的一项功能就是:它简单并且几乎没有任何硬性开销。有使用资源限制的虚拟机(如内存或硬盘),但这些限制都并不是死板的。所以,你可以分配更多的资源给实际可用的虚拟机。这也是 OpenVZ 的弱点之一,它很容易超售。
  不管你喜欢与否,OpenVZ是一项很好的技术,它完美的创建了一种虚拟的环境,几乎没有任何硬性开销。但是,你会用它做为 VPS 提供商吗?
  本教程就是安装 OpenVZ 的指南:你需要在一台最小化安装CentOS 64位(RedHat)操作系统的独立服务器上来安装 OpenVZ,至少2个IP地址(同一子网),还有一些时间。

1、安装 OpenVZ
建议为虚拟机(默认是/vz目录)分配一个单独的分区上,并格式化为ext4文件系统。
下载 openvz.repo 文件到/etc/yum.repos.d/ 目录下

wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo

导入 OpenVZ GPG key 用于签名 RPM 包

rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ

开始安装
OpenVZ 现已支持 Linux 3.x内核,但目前仍在用着2.6.x的内核。

yum -y install vzkernel

至此,OpenVZ 就已经安装完毕了。这时候,不能重启机器
确认 /etc/sysctl.conf 配置文件中的内容跟下列的一致:

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0 # Enables source route verification
net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key
kernel.sysrq = 1 # We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

同时,禁止SELinux,运行命令:

echo "SELINUX=disabled" > /etc/sysconfig/selinux

还需要安装一些额外的软件包:vzctl,用于管理虚拟机;vzquota,用于控制硬盘容量分配;ploop,用于 OpenVZ 的文件系统管理。
执行以下命令:

yum -y install vzctl vzquota ploop

到这一步完成后,重启机器。系统会自动加载 OpenVZ 内核(默认选择),启动完成后,检查是否正确安装内核:

uname -a

会输出类似以下结果:

Linux hostname 2.6.32-042stab081.8 #1 SMP Mon Nov 05 17:50:24 MSK 2013 x86_64 GNU/Linux

其中字符串“042stab081.8”代表着 OpenVZ 版本号,理应是 OpenVZ 官网上的最新版。

2、创建虚拟机(container)
创建一个虚拟机并不难,不过在这之前,需先下载 OpenVZ 官网上的一些操作系统的模版放在/vz/template/cache/下,请注意,下载回来的文件以tar.gz结尾,无需解压。
OpenVZ 官网提供的模版下载地址:
http://openvz.org/Download/template/cache

这些模板包括:CentOS、Debian、Fedora、openSUSE、Ubuntu,都是常见的 Linux 发行版。

创建并启动一个虚拟机,只需运行以下命令:

vzctl create CTID --ostemplate osname
vzctl set CTID --ipadd a.b.c.d --save
vzctl set CTID --nameserver a.b.c.d --save
vzctl start CTID

这里的 CTID 是一个正整数ID,osname 是系统模版的名称,a.b.c.d是分配的 IP 地址,nameserver 是域名服务器(通常用Google的公共DNS服务器8.8.8.8)。

举例如下:

vzctl create 101 –ostemplate centos-6-x86
vzctl set 101 –ipadd 192.0.2.1 –save
vzctl set 101 –nameserver 8.8.8.8 –save
vzctl start 101

到这里,一个虚拟机(container)就创建好了。

刷新已创建的虚拟机,执行:

vzctl exec CTID ps ax

进入虚拟机,执行:

vzctl enter CTID

退出虚拟机,输入exit即可。

停止虚拟机,执行:

vzctl stop CTID

删除虚拟机,执行:

vzctl destroy CTID

对虚拟机的使用资源进行限制,则编辑/etc/vz/conf/CTID.conf即可。每个已创建的虚拟机都会有各自的配置文件。一般默认配置是256MB内存,512MB vSwap,2GB硬盘空间。

参考链接:
http://openvz.org/Quick_installation
http://wiki.openvz.org/Quick_Installation_CentOS_6
http://openvz.org/Basic_operations_in_OpenVZ_environment
http://lowendbox.com/blog/tutorial-getting-started-with-openvz/

转载请注明:秋水逸冰 » OpenVZ安装指南

OpenVZ安装指南,一种操作系统级别的虚拟化技术的更多相关文章

  1. Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍

    一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM( ...

  2. 虚拟化技术比较 PV HVM

    很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ.Xen.KVM.Xen和HVM与PV.在XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于L ...

  3. 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具

    1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...

  4. 虚拟化技术KVM

    1>虚拟化技术: 计算机虚拟化技术是多种技术的综合实现,它包括硬件平台,操作系统,存储以及网络等,简单地说,虚拟化技术就是在单台主机上可以虚拟多个虚假主机,并可以在这些虚拟主机上运行不同的操作系 ...

  5. 3.Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件

    先说和虚拟化技术的区别 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和names ...

  6. VMware 虚拟化技术 创建虚拟机

    原文地址:https://www.linuxidc.com/Linux/2017-03/141972.htm 云最成熟的架构是IaaS(Infrastructure as a Service),其中用 ...

  7. VPS的虚拟化技术—-XEN,KVM,OPENVZ

    市场上的VPS商家主要有 Xen ,KVM 和 OpenVZ 三种开源的虚拟化技术 Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达 100个满特征的操作系统.操作系 ...

  8. 四种主要网络IO虚拟化模型

    本文主要为大家简要介绍VMware.Redhat.Citrix.Microsoft主要虚拟化厂商使用的4种主要的虚拟化IO模型 (emulation.para-virtualization.pass- ...

  9. 虚拟化–操作系统级 LXC Linux Containers内核轻量级虚拟化技术

    友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/288 软 ...

随机推荐

  1. POJ 3669 Meteor Shower BFS 水~

    http://poj.org/problem?id=3669 题目大意: 一个人从(0,0)出发,这个地方会落下陨石,当陨石落在(x,y)时,会把(x,y)这个地方和相邻的的四个地方破坏掉,求该人到达 ...

  2. 11.5 Android显示系统框架_Vsync机制_代码分析

    5.5 surfaceflinger对vsync的处理buffer状态图画得不错:http://ju.outofmemory.cn/entry/146313 android设备可能连有多个显示器,AP ...

  3. centos7 分区满了,分析哪个目录或文件占用空间-小叶-51CTO博客

    原文:centos7 分区满了,分析哪个目录或文件占用空间-小叶-51CTO博客 du -sh 例如: [root@zabbix ~]# du -sh /var/* 0 /var/adm 132M / ...

  4. C++ tab键实现自动补全输入功能

    一.简介 由于项目中写了个测试的控制台程序,是每次读取一行,即通过getline()来实现的,所以每次必须输入全路径名称,才能实现运行. 大家都觉得麻烦,就写了个tab键自动选择补全的. 目前基本可实 ...

  5. C#利用反射机制,获取实例的属性和属性值

    C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): Type t = tc.GetType();// ...

  6. [Angular2 Router] Index router

    Index router as default router. import {RouterModule} from "@angular/router"; import {NotF ...

  7. 常用MVC框架

    J2EE开常用的SSH或SSI框架,对应解决表示层.业务逻辑层.持久化层的问题,其中对表示层的解决方案最多,常见的有Struts1/2,Spring MVC等,实际上都是在最底层的Servlet规范中 ...

  8. UVA 11732 - strcmp() Anyone? 字典树

    传送门:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  9. sqlplus中怎么将你全部的操作和结果记录保存到你指定的文件里

    [在sqlplus的操作中,非常多时候我们都想把自己的写的sql语句和改动日志或者结果信息做记录] [首先]肯定要正常连接到oralce数据库. [然后] 你用你指定的用户登录到oralce数据库之后 ...

  10. 【u121】教主的花园

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都 ...