CentOS6 上安装和配置 OpenVZ
经常有人问到 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 上完成。对 Xen KVM 感兴趣的童鞋请看:在 CentOS 上安装和配置 Xen CentOS 上安装和配置 KVM.
 
安装 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  vzkernel
# yum install vzctl vzquota
调整内核参数
 
为了能让 VE/VPS 访问外部网络,我们必须启动 ip forwarding ;如果内核出错或者运行很慢,我们希望能用特殊按键 dump 一些信息到控制台并结合 log 排错,所以建议打开 kernel.sysrq
 
# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
kernel.sysrq = 1
...
为了减少麻烦最好关闭 selinuxselinux 带来的麻烦往往比得到的好处多:
 
# 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
 
管理 OpenVZ 可以通过命令,或者是第三方开发的管理网站。现在主流的有以下三款:
 
Webvz 2.0          http://webvz.sourceforge.net/
Vtonf                  http://www.vtonf.com/
HyperVM 2.0      http://lxlabs.com/software/hypervm/
 
这些第三方开发的管理网站都十分出色,其中 WebVZ 2.0 最节省 VE 资源以及功能基本符合要求,使用简洁。
 
如果需要功能强大的集群技术可以使用 HyperVM 2.0 但这东东有限制,需要购买哦 ~~
 
一、安装 Webvz 2.0
A. 安装数据库 sqlite
#yum install python-sqlite sqlite-devel sqlite
 
B. 安装 ruby
#yum install ruby ruby-irb ruby-libs ruby-devel ruby-rdoc
 
C. 安装 rubygems
yum –y install  rubygems
 
D. 安装 rails
#gem install -v=2.1.0 rails -y
 
这里要注意哦!第一次安装的时候会出现错误,但你在安装多一次就可以成功了。 @_@ ~~ 我也不知道为何?
 
 
E. 安裝 sqlite3-ruby
 
#gem install sqlite3-ruby
 
 
F. 安装 webvz 2.0
 
http://sourceforge.net/project/showfiles.php?group_id=218223
 
 
把它解压把
 
#mkdir /var/srv/www
 
#tar -zxf webvz.2.0.tar.gz –C/var /srv/www
 
启动 Webvz 2.0
 
#ruby /var /srv/www/webvz.2.0/script/server -d
 
#echo "ruby /var /srv/www/webvz.2.0/script/server -d" >> /etc/rc.d/rc.local
 
登入 Webvz 2.0
 
http://your-server-ip:3000
 
用户名 : admin
密码    : admin123
 Webvz 的登录界面
 
Webvzmanagement 界面
121023ngc7l93b7b19ybyy.jpg
121025zm0k9gimegz0kqg9.jpg
webvz 的登录界面