Vtonf是一款免费的基于web界面的控制面板(符合 GPL),它可以管理OpenVz上虚拟专用服务器(VPS)。使用它可以很简单地创建和管理OpenVZ上的虚拟机。到目前为 止,Vtonf仅仅支持RedHat, Fedora, 和 CentOS(支持Debian正在计划中)。
CentOS-5.5-i386系统(Vtonf不支持x86-64的系统,安装过程会出错,在其INSTALL中也有说明)
1、关闭SELinux
编辑vim /etc/sysconfig/selinux 修改为:
SELINUX=disabled
SELINUXTYPE=targeted
2、Firewall
如果不想关闭Firewall,需要输入下列规则打开8001端口:
/sbin/iptables -I INPUT -p tcp –dport 8001 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
3、安装 OpenVZ
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum search ovzkernel
yum -y install ovzkernel
yum -y install vzctl vzquota
编辑vim /etc/sysctl.conf
修改或添加以下内容
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.default.forwarding = 1
使之生效:
sysctl -p
重启系统
reboot
uname -r
如果安装正常应该显示为:
2.6.18-194.el5.028stab068.9
4、安装Vtonf
yum -y install vzpkg expect在安装这个时提示没有发现vzpkg ,于是去openvz.org 找了下载地址 rpm包 及其它几个包装上后就可以了
wget -c http://mesh.dl.sourceforge.net/sourceforge/vtonf/vtonfinstaller.1.0-beta1.tar.gz (现在地址已变 可去上面网址查找)
(此软件包比较大,一定要在wget后加-c参数,这样在下载停顿的时候可以按Ctrl+C结束,再续传!)
tar zxvf vtonfinstaller.1.0-beta1.tar.gz
cd vtonfinstaller.1.0-beta1
./install
会问你是否开始安装程序,输入yes
Do you wish to start the installation procedure (y/n)? : y
Starting installation
Please wait…………
Starting installation
Please wait…………
安装完成。
打开vtonf控制面板:http://服务器ip:8001/
输入安装过程中你设置的用户名和密码
Login Name : admin
Password :
Login Name : admin
Password :
属于你自己的VPS已经呈现在你的眼前。
5、安装Vtonf汉化包(可选)
wget http://download.linuxzh.org/xyj/Downloads/vtonf-cn-1.0.tar.bz2
tar xvfj vtonf-cn-1.0.tar.bz2
cd vtonf-cn
./vtonf-cn.sh /usr/local/vtonf
汉化完成,打开登录界面会出现简体中文语言选择。
注:以上配置在CentOS 5.5 32位上测试通过。
from http://hi.baidu.com/zj8la8la/blog/item/e249402a98834af7e6cd4080.html
http://download.openvz.org/template/utils/vzpkg/2.7.0-17/
vzpkg 下载地址.
vzpkg 下载地址.
---------------------------------------------------------------------------------------------------------------
在CentOS 5.4 + OpenVZ + HyperVM环境下搭建美国VPS(Linux VPS)的完全教程
1、关闭SELinux
打开setup界面–firewall configureation,将SELinux置为Disabled
或修改
vi /etc/sysconfig/selinux
为
SELINUX=disabled
SELINUXTYPE=targeted
2、Firewall
如果不想关闭Firewall,需要打开8001端口:
/sbin/iptables -I INPUT -p tcp –dport 8001 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
3、安装 OpenVZ
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum search ovzkernel
yum -y install ovzkernel
yum -y install vzctl vzquota
vi /etc/sysctl.conf
修改或添加以下内容
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
使之生效:
sysctl -p
重启系统
reboot
uname -r
如果安装正常应该显示为:
2.6.18-164.15.1.el5.028stab068.9
4、安装HyperVM
好了,OPENVZ就这安装好了,接下来安装hypervm
wget http://download.lxlabs.com/download/hypervm/production/hypervm-install-master.sh
chmod 777 hypervm-install-master.sh
./hypervm-install-master.sh –virtualization-type=openvz
启动httpd服务
service httpd start
启动hypervm服务:
service hypervm start
或
/usr/local/lxlabs/hypervm/httpdocs
Starting hypervm: mysqld (pid 8554) 正在运行...
Started hypervm
访问HyperVM管理界面
https://<ip-address>:8887
或
http://<ip-address>:8888
(默认用户名和密码都是:admin)
下载更多的OS模板
Linux vps模版http://download.lxlabs.com/download/vpstemplate/
5、破解HyperVM
用以下内容覆盖原来的:/usr/local/lxlabs/hypervm/httpdocs/display.php
<?php
function crack( )
{
global $gbl;
global $sgbl;
global $login;
global $ghtml;
$license = $login->getObject( "license" );
$name = $license->licensecom_b->lic_ipaddress;
if ( stristr($name,"Bendy")) {
return;
}
$license->licensecom_b->lic_ipaddress = "crack by www.dezend.cc Bendy ".stristr($name,"(");
$license->licensecom_b->lic_domain_num = "Unlimited";
$license->licensecom_b->lic_pserver_num = "Unlimited";
$license->licensecom_b->lic_maindomain_num = "Unlimited";
$license->licensecom_b->lic_vps_num = "Unlimited";
$license->licensecom_b->maindomain_num = "Unlimited";
$license->licensecom_b->domain_num = "Unlimited";
$license->licensecom_b->vps_num = "Unlimited";
$license->licensecom_b->pserver_num = "Unlimited";
$license->licensecom_b->client_num = "Unlimited";
$login->priv->maindomain_num = "Unlimited";
$login->priv->pserver_num = "Unlimited";
$login->priv->vps_num = "Unlimited";
$license->setUpdateSubaction( );
$license->write( );
$login->setUpdateSubaction( );
$login->write( );
throw new lxException ("Crack OK! your have Unlimited domain/vps NUM and full fuction now!", "");
exit;
}
$v = 0;
include_once( "htmllib/coredisplaylib.php" );
sleep( $v );
print_time( "start" );
display_init( );
print_time( "start", "Start" );
crack();
display_exec( );
?>
1、关闭SELinux
打开setup界面–firewall configureation,将SELinux置为Disabled
或修改
vi /etc/sysconfig/selinux
为
SELINUX=disabled
SELINUXTYPE=targeted
2、Firewall
如果不想关闭Firewall,需要打开8001端口:
/sbin/iptables -I INPUT -p tcp –dport 8001 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
3、安装 OpenVZ
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum search ovzkernel
yum -y install ovzkernel
yum -y install vzctl vzquota
vi /etc/sysctl.conf
修改或添加以下内容
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
使之生效:
sysctl -p
重启系统
reboot
uname -r
如果安装正常应该显示为:
2.6.18-164.15.1.el5.028stab068.9
4、安装HyperVM
好了,OPENVZ就这安装好了,接下来安装hypervm
wget http://download.lxlabs.com/download/hypervm/production/hypervm-install-master.sh
chmod 777 hypervm-install-master.sh
./hypervm-install-master.sh –virtualization-type=openvz
启动httpd服务
service httpd start
启动hypervm服务:
service hypervm start
或
/usr/local/lxlabs/hypervm/httpdocs
Starting hypervm: mysqld (pid 8554) 正在运行...
Started hypervm
访问HyperVM管理界面
https://<ip-address>:8887
或
http://<ip-address>:8888
(默认用户名和密码都是:admin)
下载更多的OS模板
Linux vps模版http://download.lxlabs.com/download/vpstemplate/
5、破解HyperVM
用以下内容覆盖原来的:/usr/local/lxlabs/hypervm/httpdocs/display.php
<?php
function crack( )
{
global $gbl;
global $sgbl;
global $login;
global $ghtml;
$license = $login->getObject( "license" );
$name = $license->licensecom_b->lic_ipaddress;
if ( stristr($name,"Bendy")) {
return;
}
$license->licensecom_b->lic_ipaddress = "crack by www.dezend.cc Bendy ".stristr($name,"(");
$license->licensecom_b->lic_domain_num = "Unlimited";
$license->licensecom_b->lic_pserver_num = "Unlimited";
$license->licensecom_b->lic_maindomain_num = "Unlimited";
$license->licensecom_b->lic_vps_num = "Unlimited";
$license->licensecom_b->maindomain_num = "Unlimited";
$license->licensecom_b->domain_num = "Unlimited";
$license->licensecom_b->vps_num = "Unlimited";
$license->licensecom_b->pserver_num = "Unlimited";
$license->licensecom_b->client_num = "Unlimited";
$login->priv->maindomain_num = "Unlimited";
$login->priv->pserver_num = "Unlimited";
$login->priv->vps_num = "Unlimited";
$license->setUpdateSubaction( );
$license->write( );
$login->setUpdateSubaction( );
$login->write( );
throw new lxException ("Crack OK! your have Unlimited domain/vps NUM and full fuction now!", "");
exit;
}
$v = 0;
include_once( "htmllib/coredisplaylib.php" );
sleep( $v );
print_time( "start" );
display_init( );
print_time( "start", "Start" );
crack();
display_exec( );
?>
这样在,openvz就已经安装完了,不过,安装完以后,创建的vps只能用ssh进行登入,下面让vps支持图形登入,需要安装一些Xwin包,具体的步骤如下:
wget http://www.CTOHome.com/linux-vps-pack/xwindow.sh
sh xwindow.sh
慢慢等吧,有200多个软件包需要安装,然后在安装xrdp协议,这样就可以通过远程桌面来登入
xrdp可以到http://www.xrdp.org下载,然后进行安装即可
如果要进行vps批量布署,只需要登入服务器:
1、先把vps关闭,然后进入服务器
cd /vz/root
cp -r 110 120
cd /vz/private
cp -r 110 120
cd /etc/vz/conf
cp 110.conf 120.conf
然后修改里面的ip地址和名字即可
vzctl 120 start 启动第二台vps
通过hypervm管理界面,可以所相关vps信息导入到系统中,这样就可以通过hypervm来管理和监控。
-----------------------------------------------------------------------------------------------------------------
Managing OpenVZ With HyperVM On CentOS 5.2
HyperVM使用教程/手册
使用HyperVM管理OpenVZ
HyperVM中文补丁加序列号
Vtonf
Vtonf是一款免费的基于web界面的控制面板(符合GPL),它可以管理OpenVz上虚拟专用服务器 VPS)。使用她甚至是那些有很少专业只是的用户也可以很简单地创建和管理OpenVZ上的虚拟机。到目前为止,Vtonf仅仅支持RedHat, Fedora, 和 CentOS(支持Debian正在计划中
(总结)自建VPS服务器基于CentOS 5.5+OpenVZ+Vtonf(汉化包)
Vtonf是一款免费的基于web界面的控制面板(符合GPL),它可以管理OpenVz上虚拟专用服务器(VPS)。使用它可以很简单地创建和管理OpenVZ上的虚拟机。到目前为止,Vtonf仅仅支持RedHat, Fedora, 和 CentOS(支持Debian正在计划中)。
CentOS-5.5-i386系统(Vtonf不支持x86-64的系统,安装过程会出错,在其INSTALL中也有说明)
1、关闭SELinux
编辑vim /etc/sysconfig/selinux 修改为:
SELINUX=disabled
SELINUXTYPE=targeted
2、Firewall
如果不想关闭Firewall,需要输入下列规则打开8001端口:
/sbin/iptables -I INPUT -p tcp –dport 8001 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
3、安装 OpenVZ
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum search ovzkernel
yum -y install ovzkernel
yum -y install vzctl vzquota
编辑vim /etc/sysctl.conf
修改或添加以下内容
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.default.forwarding = 1
使之生效:
sysctl -p
重启系统
reboot
uname -r
如果安装正常应该显示为:
2.6.18-194.el5.028stab068.9
4、安装Vtonf
yum -y install vzpkg expect
wget -c http://mesh.dl.sourceforge.net/sourceforge/vtonf/vtonfinstaller.1.0-beta1.tar.gz
(此软件包比较大,一定要在wget后加-c参数,这样在下载停顿的时候可以按Ctrl+C结束,再续传!)
tar zxvf vtonfinstaller.1.0-beta1.tar.gz
cd vtonfinstaller.1.0-beta1
./install
会问你是否开始安装程序,输入yes
Do you wish to start the installation procedure (y/n)? : y
Starting installation
Please wait…………
Starting installation
Please wait…………
安装完成。
打开vtonf控制面板:http://服务器ip:8001/
输入安装过程中你设置的用户名和密码
Login Name : admin
Password :
Login Name : admin
Password :
属于你自己的VPS已经呈现在你的眼前。
5、安装Vtonf汉化包(可选)
wget http://download.linuxzh.org/xyj/Downloads/vtonf-cn-1.0.tar.bz2
tar xvfj vtonf-cn-1.0.tar.bz2
cd vtonf-cn
./vtonf-cn.sh /usr/local/vtonf
汉化完成,打开登录界面会出现简体中文语言选择。
注:以上配置在CentOS 5.5 32位上测试通过。上面的一个长杆—其实是两个短杆–,WP的bug,显示有误。
引用: http://zhumeng8337797.blog.163.com/blog/static/10076891420112201348147/
-----------------------------------------------------------------------------------------------------------------
用host1plus的1刀/3个月的xen云vps建openvz_vtonf 并开小vps成功
安装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
在本系列的第二部分中,我们介绍了如何安装CentOS以便运行OpenVZ软件以及如何安装OpenVZ内核、工具程序及模板管理工具。本文将学习怎样创建、备份VPS(虚拟专有服务器)。
创建第一台VPS
在下面的例子中,我使用的是来自私有192.168.块的IP地址。你或许想在自己的局域网上修改这个命令得到希望的IP地址(主机和DNS)。vzctl用于VPS创建、配置和运行。vzctl能在一行命令上提取几个参数,不过为了举例,我在单独的命令行上执行每个操作。使用以下命令创建VPS:
vzctl create 101 --ostemplate centos-4 --config vps.basic
使用创建关键字的vzctl命令将提取centos-4-i386-default.tar.gz文件到/vz/private/101/。也会在/etc/vz/conf/目录里创建名叫101.conf的配置文件。OpenVZ使用数字来识别虚拟专有服务器,我使用的是101。OpenVZ文件说数字1到100的都可以保留,由于VPS的IP地址在101就不能用了,所以使用VPS 101是个好主意。
下面的vzctl命令带有set字样。如果VPS正好在运行,它将动态地告知配置更改给VPS。最终的更改将配置更改写入VPS配置文件。如果你输入以下的vzctl设置命令,将出现:
vzctl set 101 --ipadd 192.168.0.101 --save
vzctl set 101 --hostname vps101 --save
vzctl set 101 --nameserver 192.168.0.1 --nameserver 192.168.0.2 --save
vzctl set 101 --userpasswd root:areallycoolpassword
这将分配一个IP地址,然后给定一个主机名,定义nameservers(放进/vz/root/101/etc/resolv.conf),根密码也设置了。当然你想使用一个不同的根密码。尽管多数的附加选项在etc/vz/conf/101.conf的列表里是默认的,但是也有足够的信息定义唯一的VPS。检查101配置文件的附加参数和默认值。
输入下面的vzctl设置命令能使VPS在主机操作系统启动时自动启用:
vzctl set 101 --onboot yes –save
第一次启动VPS,现在就定义了VPS 101,可以使用vzctl命令启动101:
vzctl start 101
你能看到VPS成功启动的信息。使用vzlist命令得到所有VPS的概要。要访问新的VPS,可以输入上面的vzctl命令或者下面的ssh root命令:
ssh root ((Content component not found.)) .168.0.101
进去后就可以使用新的VPS了,就如有一台独立的机器。下面有个图表,注意,这仅仅是看起来是台独立的机器,有自己的启动脚本、配置、用户帐户、主目录等。VPS根用户几乎能完成控制,而不需要访问主机操作系统或任何其他VPS。VPS根用户不能分配硬盘或更改网卡配置。
VPS资源管理
每一台VPS都有一个专门的文件,叫做/proc/user_beancounters,这个文件包含资源分配与资源使用的信息。以根用户身份在VPS里输入:
cat /proc/user_beancounters
以下的例子:
OpenVZ
最后一栏叫做failcnt,保存资源访问故障的增量值。如果failcnt的值不是0,那么VPS有资源故障。例如上面的numproc的barrier和limit都是65,这意味着VPS的并发进程不能超过65,并且如果你尝试启动第66个进程,进程进失败,numproc的failcnt值将从1开始增加。对于主机操作系统的根用户来说,监控failcnts和按需调整VPS资源值很重要。监控所有VPS资源使用率的捷径是使用下面的命令行:
less /vz/root/*/proc/user_beancounters
这将打印出所有主机节点上VPS的user_beancounters。使用有set字样的vzctl命令用于调整各种资源。例如,要为privvmpages调整barrier和limit,输入:
vzctl set 101 --privvmpages : --save
上面的应该用实际值更换。注意,如果VPS正在运行的话,资源将动态地(并立即地)调整,并且--save标记将保存设置到101.conf配置文件。你所需要知道的就是是否有failcnt,并少量慢慢地增加值,并且保持监控,直到这个资源的failcnt值是0。
除非想将barrier和limit的值设置得非常高,否则需要花费几天时间调节VPS的资源以避免资源故障。注意,这些值实际上主机操作系统和所有VPS之间合并的或共享的值,不像其他多数虚拟化产品只提供了静态资源分配情况。我在这里不详细描述这些资源是什么,更多细节可以参见OpenVZ用户指南和维基百科。
在/proc/user_beancounters里不能找到一个资源,那就是拥有1GB默认值的磁盘空间设置。如果VPS 101需要多于1GB的磁盘空间,需要自己设置。下面的命令将动态地设置30GB的磁盘定额并更新101.conf文件。
vzctl set 101 --diskspace 31457280:31517280 –save
注意,这个命令不能保留VPS 101的物理磁盘空间。它只是确保由于磁盘空间也是合并的或共享的资源,VPS 101不能使用多于设定值的资源。这意味着你能根据需要过度分配磁盘空间。
克隆VPS
如果你已经有一台设置好的VPS,还想设置另外一台一样的,最简单的方法是使用vzctl创建命令手动设置:
1) Copy the /vz/root/ to /vz/root/
2) Copy /etc/vz/conf/.conf to /etc/vz/conf/.conf
当然得用实际值替换。在复制之前,停止运行源VPS。能使用以-a flag为标记的cp命令,不过我喜欢使用rsync复制更复杂的目录架构。完成复制操作后,能重新启动源VPS。在启动新VPS之前,确定通过使用vzctl设置或手动编辑.conf文件修改了配置,这是因为需要更改IP地址和主机名以避免冲突。
备份VPS
一台VPS通过/etc/vz/conf/里的配置文件和/vz/root// directory下的文件表示。为了备份VPS,过程与备份很相似,不过就是目标目录放在你需要存储的地方。
管理VPS
记住,从功能上看,VPS是台独立的计算机。相对于主机操作系统来说,VPS更像一个完全不同的Linux版本,因此必须注意使用Linux发布的相关的安全更新。拥有对主机操作系统的根访问意味着能使用vzctl enter命令进入所有VPS。也能通过使用有exec字样的vzctl命令,从主机操作系统的VPS上执行命令。
参考资料
我在本文中简单地介绍了OpenVZ安装、VPS创建和基本的VPS操作。OpenVZ有一些出色的文档,我推荐打印出OpenVZ用户指南。注意,这个文档写在附加的功能“热迁移”和OpenVZ yum知识库创建之前。维基百科里也有安装指南。
如果在这些资料里找不到你所需要的信息,那么使用OpenVZ Forums。
-------------------------------------------------------------------------------------------------------------------
http://wiki.openvz.org/OS_template_cache_preparation 这里可以下载更多的vps系统模板
http://wiki.openvz.org/Main_Page 这里有安装指示和所需资源包下载等
http://download.openvz.org/kernel/branches/rhel4-2.6.9/stable/
http://wiki.openvz.org/OS_template_cache_preparation
http://wiki.openvz.org/Download/kernel/rhel5/028stab094.3 这选 xen的kernel ,或openvz
http://download.openvz.org/utils/vzctl/ 这下载
# yum install vzctl
# yum install vzquota
# yum install vzyum
安装openvz工具集:
yum install vzquota
yum install vzctl-lib
yum install vzctl
yum install vzyum
yum install vzpkg
yum install vzrpm43-python
yum install vzrpm44-python
http://download.openvz.org/template/utils/
-------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
用host1plus的1刀/3个月的xen云vps建openvz_vtonf 并开小vps成功
安装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
在本系列的第二部分中,我们介绍了如何安装CentOS以便运行OpenVZ软件以及如何安装OpenVZ内核、工具程序及模板管理工具。本文将学习怎样创建、备份VPS(虚拟专有服务器)。
创建第一台VPS
在下面的例子中,我使用的是来自私有192.168.块的IP地址。你或许想在自己的局域网上修改这个命令得到希望的IP地址(主机和DNS)。vzctl用于VPS创建、配置和运行。vzctl能在一行命令上提取几个参数,不过为了举例,我在单独的命令行上执行每个操作。使用以下命令创建VPS:
vzctl create 101 --ostemplate centos-4 --config vps.basic
使用创建关键字的vzctl命令将提取centos-4-i386-default.tar.gz文件到/vz/private/101/。也会在/etc/vz/conf/目录里创建名叫101.conf的配置文件。OpenVZ使用数字来识别虚拟专有服务器,我使用的是101。OpenVZ文件说数字1到100的都可以保留,由于VPS的IP地址在101就不能用了,所以使用VPS 101是个好主意。
下面的vzctl命令带有set字样。如果VPS正好在运行,它将动态地告知配置更改给VPS。最终的更改将配置更改写入VPS配置文件。如果你输入以下的vzctl设置命令,将出现:
vzctl set 101 --ipadd 192.168.0.101 --save
vzctl set 101 --hostname vps101 --save
vzctl set 101 --nameserver 192.168.0.1 --nameserver 192.168.0.2 --save
vzctl set 101 --userpasswd root:areallycoolpassword
这将分配一个IP地址,然后给定一个主机名,定义nameservers(放进/vz/root/101/etc/resolv.conf),根密码也设置了。当然你想使用一个不同的根密码。尽管多数的附加选项在etc/vz/conf/101.conf的列表里是默认的,但是也有足够的信息定义唯一的VPS。检查101配置文件的附加参数和默认值。
输入下面的vzctl设置命令能使VPS在主机操作系统启动时自动启用:
vzctl set 101 --onboot yes –save
第一次启动VPS,现在就定义了VPS 101,可以使用vzctl命令启动101:
vzctl start 101
你能看到VPS成功启动的信息。使用vzlist命令得到所有VPS的概要。要访问新的VPS,可以输入上面的vzctl命令或者下面的ssh root命令:
ssh root ((Content component not found.)) .168.0.101
进去后就可以使用新的VPS了,就如有一台独立的机器。下面有个图表,注意,这仅仅是看起来是台独立的机器,有自己的启动脚本、配置、用户帐户、主目录等。VPS根用户几乎能完成控制,而不需要访问主机操作系统或任何其他VPS。VPS根用户不能分配硬盘或更改网卡配置。
VPS资源管理
每一台VPS都有一个专门的文件,叫做/proc/user_beancounters,这个文件包含资源分配与资源使用的信息。以根用户身份在VPS里输入:
cat /proc/user_beancounters
以下的例子:
OpenVZ
最后一栏叫做failcnt,保存资源访问故障的增量值。如果failcnt的值不是0,那么VPS有资源故障。例如上面的numproc的barrier和limit都是65,这意味着VPS的并发进程不能超过65,并且如果你尝试启动第66个进程,进程进失败,numproc的failcnt值将从1开始增加。对于主机操作系统的根用户来说,监控failcnts和按需调整VPS资源值很重要。监控所有VPS资源使用率的捷径是使用下面的命令行:
less /vz/root/*/proc/user_beancounters
这将打印出所有主机节点上VPS的user_beancounters。使用有set字样的vzctl命令用于调整各种资源。例如,要为privvmpages调整barrier和limit,输入:
vzctl set 101 --privvmpages : --save
上面的应该用实际值更换。注意,如果VPS正在运行的话,资源将动态地(并立即地)调整,并且--save标记将保存设置到101.conf配置文件。你所需要知道的就是是否有failcnt,并少量慢慢地增加值,并且保持监控,直到这个资源的failcnt值是0。
除非想将barrier和limit的值设置得非常高,否则需要花费几天时间调节VPS的资源以避免资源故障。注意,这些值实际上主机操作系统和所有VPS之间合并的或共享的值,不像其他多数虚拟化产品只提供了静态资源分配情况。我在这里不详细描述这些资源是什么,更多细节可以参见OpenVZ用户指南和维基百科。
在/proc/user_beancounters里不能找到一个资源,那就是拥有1GB默认值的磁盘空间设置。如果VPS 101需要多于1GB的磁盘空间,需要自己设置。下面的命令将动态地设置30GB的磁盘定额并更新101.conf文件。
vzctl set 101 --diskspace 31457280:31517280 –save
注意,这个命令不能保留VPS 101的物理磁盘空间。它只是确保由于磁盘空间也是合并的或共享的资源,VPS 101不能使用多于设定值的资源。这意味着你能根据需要过度分配磁盘空间。
克隆VPS
如果你已经有一台设置好的VPS,还想设置另外一台一样的,最简单的方法是使用vzctl创建命令手动设置:
1) Copy the /vz/root/ to /vz/root/
2) Copy /etc/vz/conf/.conf to /etc/vz/conf/.conf
当然得用实际值替换。在复制之前,停止运行源VPS。能使用以-a flag为标记的cp命令,不过我喜欢使用rsync复制更复杂的目录架构。完成复制操作后,能重新启动源VPS。在启动新VPS之前,确定通过使用vzctl设置或手动编辑.conf文件修改了配置,这是因为需要更改IP地址和主机名以避免冲突。
备份VPS
一台VPS通过/etc/vz/conf/里的配置文件和/vz/root// directory下的文件表示。为了备份VPS,过程与备份很相似,不过就是目标目录放在你需要存储的地方。
管理VPS
记住,从功能上看,VPS是台独立的计算机。相对于主机操作系统来说,VPS更像一个完全不同的Linux版本,因此必须注意使用Linux发布的相关的安全更新。拥有对主机操作系统的根访问意味着能使用vzctl enter命令进入所有VPS。也能通过使用有exec字样的vzctl命令,从主机操作系统的VPS上执行命令。
参考资料
我在本文中简单地介绍了OpenVZ安装、VPS创建和基本的VPS操作。OpenVZ有一些出色的文档,我推荐打印出OpenVZ用户指南。注意,这个文档写在附加的功能“热迁移”和OpenVZ yum知识库创建之前。维基百科里也有安装指南。
如果在这些资料里找不到你所需要的信息,那么使用OpenVZ Forums。
-------------------------------------------------------------------------------------------------------------------
http://wiki.openvz.org/OS_template_cache_preparation 这里可以下载更多的vps系统模板
http://wiki.openvz.org/Main_Page 这里有安装指示和所需资源包下载等
http://download.openvz.org/kernel/branches/rhel4-2.6.9/stable/
http://wiki.openvz.org/OS_template_cache_preparation
http://wiki.openvz.org/Download/kernel/rhel5/028stab094.3 这选 xen的kernel ,或openvz
http://download.openvz.org/utils/vzctl/ 这下载
# yum install vzctl
# yum install vzquota
# yum install vzyum
安装openvz工具集:
yum install vzquota
yum install vzctl-lib
yum install vzctl
yum install vzyum
yum install vzpkg
yum install vzrpm43-python
yum install vzrpm44-python
http://download.openvz.org/template/utils/
-------------------------------------------------------------------------------------------------------
在centos5.4下安装OpenVZ
系统:CentOS 5.4 for vmware6.0
系统安装就不说了,选最简单的安装就行,还有把防火墙,SELinux关闭就了!
[root@localhost ~]# uname -r
2.6.18-164.el5
[root@localhost ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
安装openvz
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum install ovzkernel
[root@bogon ~]# uname -r
2.6.18-164.el5
安装完之后,会修改启动项,会把vz内核放到第一项去
[root@bogon ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-92.1.13.el5.028stab059.6)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.13.el5.028stab059.6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-92.1.13.el5.028stab059.6.img
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-53.el5.img
安装vz工具
yum install vzctl vzquota
修改sysctl.conf
vi /etc/sysctl.conf
……….
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
……….
sysctl -p (使sysctl.conf生效)
修改/etc/vz/vz.conf
vi /etc/sysconfig/selinux
……..
SELINUX=disabled
……..
好了,OPENVZ就安装好了.
系统安装就不说了,选最简单的安装就行,还有把防火墙,SELinux关闭就了!
[root@localhost ~]# uname -r
2.6.18-164.el5
[root@localhost ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
安装openvz
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum install ovzkernel
[root@bogon ~]# uname -r
2.6.18-164.el5
安装完之后,会修改启动项,会把vz内核放到第一项去
[root@bogon ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-92.1.13.el5.028stab059.6)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.13.el5.028stab059.6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-92.1.13.el5.028stab059.6.img
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-53.el5.img
安装vz工具
yum install vzctl vzquota
修改sysctl.conf
vi /etc/sysctl.conf
……….
net.ipv4.ip_forward = 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
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
……….
sysctl -p (使sysctl.conf生效)
修改/etc/vz/vz.conf
vi /etc/sysconfig/selinux
……..
SELINUX=disabled
……..
好了,OPENVZ就安装好了.