分类: 电脑技术
作者: admin

debian 安装 OpenVZ+OpenVZ Web Panel

源地址:http://www.howtoforge.com/installing-and-using-openvz-on-debian-lenny-amd64

原作者: Falko Timme <ft [at] falkotimme [dot] com>

翻译者: Topkey <www.txtbar.cn>

最后编辑时间:02/04/2009

使用说明:蓝色字体为链接、红色字体为shell中的命令、棕色字体为文件中的内容或者是屏幕中显示的字符、灰色字体为正文

在这篇教程中我将会为大家讲解如何在Debian Lenny服务器上安装OpenVZ。使用OpenVZ你可以在同一个硬件环境中创建多个虚拟化专用服务器(VPS),其作用类似于Xen和Linux Vserver项目.OpenVZ是Virtuozzo旗下的一款开源品牌,提供一个商业的虚拟化解决方案.已经被许多提供虚拟化服务器的提供商使用。OpenVZ内核是遵循GPL授权许可,并且其用户化工具遵循QPL许可。

这篇教程是一篇实用教程,它不包括相关的理论背景,如需了解相关理论背景请查询网络其他的文档。

这篇文档不附带任何形式的保证,我想要说的是这不仅仅是设置此类系统的唯一方法,还有很多达到这个目的的方法,但是我使用的是教程中的方法,我使用此方法,没有任何问题。

1前言

我在这里使用的是一个X86_64(amd64平台下)的系统,如果你是在i386平台,在一些命令的使用上或许有些不同,我将会在不同点特别注别。

2.安装OpenVZ

OpenVZ的内核、vzctl和vzquota包在Debian Lenny库中,我们要使用下列命令安装他们:

apt-get install linux-image-openvz-amd64 vzctl vzquota

(如果你是用的是i386的系统,内核包的名字是linux-image-openvz-686)

创建一个提供后台兼容的符号链接从/var/lib/vz 到 /vz。

ln -s /var/lib/vz /vz

打开/etc/sysctl.conf文件并且确保使用下面的设置:

vi /etc/sysctl.conf

net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1

如果你要修改/etc/sysctl.conf文件运行下列命令:

sysctl –p

然后,

Ps:如果你的虚拟机的ip地址是一个不同子网的主机ip地址的话下一步就显得很重要了。如果你不这样做的话,虚拟机的网络可能不会正常工作。

打开/etc/vz/vz.conf文件并设置NEIGHBOUR_DEVS 参数值为 all:

vi /etc/vz/vz.conf


# Controls which interfaces to send ARP requests and modify APR tables on.

NEIGHBOUR_DEVS=all

在这个环境中,我同时也想安装vzdump和vzprocps包,这两个包并不存在Debian lenny库中。但是我们可以从http://download.openvz.org/debian-systs的网站里的Etch库中下载.(他们曾经也提供Lenny库,但是最近已经被删除了)因此打开/etc/apt/sources.list文件…

vi /etc/apt/sources.list

在这个文件中添加下面的语句:

deb http://download.openvz.org/debian-systs etch openvz

当然我们想从Etch 库中安装文件时不把我们的系统搞糟。我们设置系统只有在在Lenny库中没有适当的软件时,我们才使用Etch库。如果在一个包同时存在在Lenny和Etch版本中时,系统优先在Lenny中安装它。要做到这一点,我们可以在/etc/apt/preferences中可以设置给Lenny更高的权限:

vi /etc/apt/preferences

 

Package: *

Pin: release a=lenny

Pin-Priority: 700

Package: *

Pin: release a=etch

Pin-Priority: 650

然后我们打开/etc/apt/apt.conf文件…

vi /etc/apt/apt.conf

在这个文件中添加下面两行:

APT::Default-Release “stable”;
APT::Cache-Limit “100000000″;

运行下列命令

wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add – && apt-get update

然后下载库中的关键部分和更新软件包数据库.

然后运行

apt-get install vzdump vzprocps

来安装vzdump和vzprocps.

最后,重启系统:

Reboot

如果系统重启正常,说明安装顺利!

运行命令

uname –r

现在系统将会显示新的OpenVZ的内核:

server1:~# uname -r
2.6.26-1-openvz-amd64
server1:~#

3使用 OpenVZ

在我们使用OpenVZ创建虚拟机之前,我们需要在/var/lib/vz/template/cache文件夹下注意模板的范围,在即将使用的虚拟机里。我们可以通过模板来创建虚拟机。

运行命令

apt-cache search openvz

在输出的结果中你会看到一些Debian的模板。例如:

vzctl-ostmpl-debian-4.0-amd64-minimal – OpenVZ – OS Template debian-4.0-amd64-minimal
vzctl-ostmpl-debian-4.0-i386-minimal – OpenVZ – OS Template debian-4.0-i386-minimal
vzctl-ostmpl-debian-5.0-amd64-minimal – OpenVZ – OS Template debian-5.0-amd64-minimal
vzctl-ostmpl-debian-5.0-i386-minimal – OpenVZ – OS Template debian-5.0-i386-minimal

可以使用下面命令来安装你需要安装系统的模板(ps:amd64平台下的模板不可以在i386主机上使用):

apt-get install vzctl-ostmpl-debian-5.0-amd64-minimal vzctl-ostmpl-debian-4.0-amd64-minimal

你可以使用这些模板的其中一个,你同时也可以在http://wiki.openvz.org/Download/template/precreated找到一个模板的列表.例如,我们不通过apt命令安装vzctl-ostmpl-debian-5.0-amd64-minimal模板。而是使用下列命令下载:

cd /var/lib/vz/template/cache
wget http://download.openvz.org/template/precreated/contrib/debian-5.0-amd64-minimal.tar.gz

(ps:如果你的主机是i386系统,你不能使用amd64的模板-你必须使用i386的模板)

下面,我将会为大家来展示使用OpenVZ的最基本的命令.

假使我们想试用vzctl-ostmpl-debian-5.0-amd64-minimal模板来设置一个虚拟机(ps:你可以在/var/lib/vz/template/cache文件里找到它),运行下列命令:

vzctl create 101 –ostemplate debian-5.0-amd64-minimal –config vps.basic

在这里101必须是一个唯一的ID-每一个虚拟机虚拟拥有独一无二的ID。你可以使用虚拟机ip地址的最后一部分,例如,如果虚拟机ip地址是192.168.0.101,你可以使用101作为虚拟机的ID.

如果你想在系统启动时打开vm,运行下列命令

vzctl set 101 –onboot yes –save

使用下列命令可以设置为虚拟机设置主机名和ip地址:

vzctl set 101 –hostname test.example.com –save
vzctl set 101 –ipadd 192.168.0.101 –save

下面,我们设置接口的数量为120,然后为虚拟机委派几个域名服务器:

vzctl set 101 –numothersock 120 –save
vzctl set 101 –nameserver 145.253.2.75 –nameserver 213.191.92.86 –save

(ps:如果想不是用vzctl命令,你也可以在/etc/vz/conf文件家里直接编辑虚拟机的配置文件)。如果虚拟机的ID是101,其配置文件的位置在etc/vz/conf/101.conf.)

使用下列命令可以启动虚拟机

vzctl start 101

使用下列命令可以为虚拟机设置一个root密码

vzctl exec 101 passwd

使用下列命令可以通过ssh连接到虚拟机(类似于PUTTY):

vzctl enter 101

想要离开虚拟机的终端,直接输入

Exit

停止虚拟机,运行

vzctl stop 101

启动虚拟机,运行

vzctl restart 101

从硬盘里删除虚拟机(ps:在删除之前需要停止虚拟机),运行

vzctl destroy 101

可以通过下列命令查看所有虚拟机的列表和其当前的状态

vzlist –a

server1:~# vzlist -a
VEID      NPROC STATUS  IP_ADDR         HOSTNAME
101          8 running 192.168.0.101   test.example.com
server1:~#

使用下列命令查看分配给虚拟机的资源

vzctl exec 101 cat /proc/user_beancounters

server1:~# vzctl exec 101 cat /proc/user_beancounters
Version: 2.5
uid  resource           held    maxheld    barrier      limit    failcnt
101:  kmemsize         500737     517142   11055923   11377049          0
lockedpages           0          0        256        256          0
privvmpages        2315       2337      65536      69632          0
shmpages            640        640      21504      21504          0
dummy                 0          0          0          0          0
numproc               7          7        240        240          0
physpages          1258       1289          0 2147483647          0
vmguarpages           0          0      33792 2147483647          0
oomguarpages       1258       1289      26112 2147483647          0
numtcpsock            2          2        360        360          0
numflock              1          1        188        206          0
numpty                1          1         16         16          0
numsiginfo            0          1        256        256          0
tcpsndbuf         17856      17856    1720320    2703360          0
tcprcvbuf         32768      32768    1720320    2703360          0
othersockbuf       2232       2928    1126080    2097152          0
dgramrcvbuf           0          0     262144     262144          0
numothersock          1          3        120        120          0
dcachesize            0          0    3409920    3624960          0
numfile             189        189       9312       9312          0
dummy                 0          0          0          0          0
dummy                 0          0          0          0          0
dummy                 0          0          0          0          0
numiptent            10         10        128        128          0
server1:~#

failcnt这一列非常重要,它通常是显示为0。如果不是0的话,这就意味着,当前的虚拟机需要更多的系统资源。打开位于/etc/vz/conf目录下的配置文件,然后适当的增加资源,最后重启虚拟机。

查询更多关于vzctl命令,运行

man vzctl

4.相关链接

 

 

 

 

 

 

http://code.google.com/p/ovz-web-panel/

 

 

 

Installation

The most simple way to install OpenVZ Web Panel is to run the following command (under root):

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

 

After installation Panel should be available by the following URL:

http://<your-host>:3000

 

Default administrator's credentials are: admin/admin. Don't forget to change default password.

 

 

 

 

 

OpenVZ官網 ==) http://wiki.openvz.org
官網下載 ==) http://download.openvz.org

OpenVZ安裝指導
ref1: http://howtoforge.com/installing-and-using-openvz-on-debian-lenny-amd64
ref2: http://howtoforge.com/installing-and-using-openvz-on-ubuntu-10.04
ref3: http://howtoforge.com/using-dpkg-to-install-openvz-on-debian
ref4: http://howtoforge.com/how-to-do-live-migration-of-openvz-containers