CentOS 上安装和配置 OpenVZ

系统 Linux
OpenVZ VPS 实际上提供的是一个虚拟环境,OpenVZ 最大的应用可能就在低端 VPS 市场,有无数的 VPS 服务商都使用 OpenVZ 提供10美元以下的 VPS 产品。因此了解一下 OpenVZ 的安装和配置也会对使用 OpenVZ VPS 有所帮助。

经常有人问到 OpenVZ 和 Xen 哪个好,事实上 OpenVZ 和 Xen 不是同一层面的技术,OpenVZ 是操作系统层面(Operating system-level virtualization)的虚拟产品,和 FreeBSD Jail, Solaris Zone, Linux-VServer 等类似;而 Xen 和 VMware, KVM, Hyper-V 等产品站在同一阵营。OpenVZ VPS 实际上提供的是一个虚拟环境(Virtual Environment/VE),也叫容器(Container);而 Xen VPS 提供的是基于 Hypervisor 的虚拟机(Virtual Machine),这是本质上的不同,现在大家已经习惯用 VPS 这个名字把这两种不同的产品和技术混为一谈了。比起 Xen 专注于企业虚拟化和云计算领域,OpenVZ 最大的应用可能就在低端 VPS 市场,有无数的 VPS 服务商都使用 OpenVZ 提供10美元以下的 VPS 产品。了解一下 OpenVZ 的安装和配置也会对使用 OpenVZ VPS 有所帮助,以下的安装和配置操作在 VPSee 的一台空闲 PC 和 CentOS 5.5 上完成

安装 OpenVZ

首先加入 openvz 源、升级系统、安装 openvz 内核和 vzctl, vzquota 等工具:

# cd /etc/yum.repos.d
# wget http://download.openvz.org/openvz.repo
# rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
# yum update
# yum install ovzkernel
# yum install vzctl vzquota

调整内核参数

为了能让 VE/VPS 访问外部网络,我们必须启动 ip forwarding;如果内核出错或者运行很慢,我们希望能用特殊按键 dump 一些信息到控制台并结合 log 排错,所以建议打开 kernel.sysrq:

# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
kernel.sysrq = 1
...

为了减少麻烦最好关闭 selinux,selinux 带来的麻烦往往比得到的好处多:

# vi /etc/sysconfig/selinux
...
SELINUX=disabled
...

检查 vz 服务是否自动启动,并重启机器进入 openvz 内核:

# chkconfig --list vz
vz 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# reboot

创建和安装 guest

Perl 语言之父 Larry Wall 说过真正优秀的程序员有三大优良品质:偷懒,没有耐性和骄傲自大。所以能利用别人的劳动成果就不要自己重造轮子:)我们可以到 http://download.openvz.org/template/precreated/ 下载已经安装好的模版,有 centos, debian, ubuntu, fedora, suse 等几个模版可以选择:

# cd /vz/template/cache
# wget http://download.openvz.org/template/precreated/ubuntu-10.04-x86.tar.gz

有了 ubuntu 10.04 的模版以后就可以用这个模版来创建 guest 系统(VE/VPS)了,以刚下载的 ubuntu-10.04-x86 为模版创建一个 ID 为 1 的 Virtual Environment (VE),并指定 IP 地址、DNS 服务器地址、主机名、磁盘空间等,创建成功后启动 ID 为 1 的 VE,最后修改 root 密码:

# vzctl create 1 --ostemplate ubuntu-10.04-x86
# vzctl set 1 --onboot yes --save
# vzctl set 1 --ipadd 172.16.39.110 --save
# vzctl set 1 --nameserver 8.8.8.8 --save
# vzctl set 1 --hostname vps01.vpsee.com --save
# vzctl set 1 --diskspace 10G:10G --save
# vzctl start 1
# vzctl exec 1 passwd

启动、重启、关闭和断电关闭 ID 为 1 的 VE/VPS:

# vzctl start 1
# vzctl restart 1
# vzctl stop 1
# vzctl destroy 1

查看正在运行中的 VE/VPS:

# vzlist
CTID NPROC STATUS IP_ADDR HOSTNAME
1 8 running 172.16.39.110 vps01.vpsee.com

计算 ID 为 1 的 VE/VPS 用到的资源:

# vzcalc -v 1
Resource Current(%) Promised(%) Max(%)
Low Mem 0.06 1.44 1.44
Total RAM 0.19 n/a n/a
Mem + Swap 0.08 1.30 n/a
Alloc. Mem 0.11 1.62 3.09
Num. Proc 0.01 n/a 0.32
--------------------------------------------
Memory 0.19 1.62 3.09

进入 guest

VE 成功启动后就可以进入系统了,相当于 xen 的 xm console,不过从 VE 退出来不需特殊按键直接 exit 就可以:

# vzctl enter 1
entered into CT 1
root@vps01:/# exit
logout
exited from CT 1

原文链接:http://www.vpsee.com/2011/01/install-openvz-on-centos/

【编辑推荐】

  1. 解析Linux配置OPENVZ的知识
  2. 虚拟化产品OpenVZ
  3. 使用Eucalyptus打造自己的云测试平台(CentOS+Apache+MySQL)
责任编辑:黄丹 来源: www.vpsee.com
相关推荐

2013-04-07 15:14:41

2011-02-25 10:36:24

2014-02-19 14:54:58

CentOS 6.5Xen

2011-08-17 10:19:30

CentOSOpenStack N

2012-03-18 22:43:40

centosopenvz

2024-02-19 16:28:24

2017-03-21 15:51:57

LinuxCentOS 7MariaDB 10

2019-11-14 09:20:15

CentOS 8RHEL 8Nagios Core

2009-12-22 17:31:50

Linux配置OPEN

2019-11-21 08:50:54

CentOS 8Postfix邮件服务器

2011-03-29 10:22:35

CentOS安装Zabbix

2011-03-11 17:14:27

2019-10-14 15:00:12

Centos 8 RHEL 8VNC

2011-03-23 16:08:15

openSUSELAMP

2010-06-01 09:51:11

2013-06-26 15:58:33

CentOS 5.6Memcached

2011-05-24 09:33:40

UbuntuOpenStackNova

2019-10-21 13:28:38

UbuntuPostgreSQL命令

2017-04-11 13:20:06

CentOSRHELFedora

2011-09-06 10:23:33

点赞
收藏

51CTO技术栈公众号