在Debian Etch上安装和使用OpenVZ
版本1.0
作者:Falko Timme
在本教程中,我将介绍如何为OpenVZ准备Debian Etch服务器。 使用OpenVZ,您可以在同一硬件上创建多个虚拟专用服务器(VPS),类似于Xen和Linux Vserver项目。 OpenVZ是Virtuozzo的开源分支,Virtuozzo是许多提供虚拟服务器的提供商所使用的商业虚拟化解决方案。 OpenVZ内核补丁是根据GPL许可证授权的,用户级工具是QPL许可证。
这是一个实践指南; 它不包括理论背景。 他们在网络上的许多其他文档中被处理。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1安装OpenVZ
为了安装OpenVZ,我们需要将OpenVZ存储库添加到/etc/apt/sources.list中
:
vi /etc/apt/sources.list
[...] deb http://download.openvz.org/debian-systs etch openvz [...] |
跑
wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add - && apt-get update
然后下载该存储库的密钥并更新软件包数据库。
存储库包含六个OpenVZ内核,您必须从其中选择一个。 ovzkernel
包使用原始的OpenVZ内核配置, fzakernel
包使用默认的Debian内核配置加上OpenVZ设置:
-
ovzkernel-2.6.18
:uniprocessor | 高达4GB的RAM | i386和amd64 -
ovzkernel-2.6.18-smp
:对称多处理器| 高达4 GB的RAM | i386和amd64 -
ovzkernel-2.6.18-enterprise
:SMP + PAE支持+ 4 / 4GB split | 高达64 GB的RAM | 只有i386 -
fzakernel-2.6.18-686
:单和多处理器| 高达4GB的RAM | i386 -
fzakernel-2.6.18-686-bigmem
:对称多处理器| 高达64 GB的RAM | i386 -
fzakernel-2.6.18-amd64
:单和多处理器| amd64
选择其中一个并安装如下:
apt-get install fzakernel-2.6.18-686-bigmem
接下来更新GRUB引导加载程序:
update-grub
现在我们安装了一些OpenVZ用户工具,还有一个Debian Etch操作系统的最小化模板,我们可以使用它来创建虚拟机:
apt-get install vzctl vzquota vzctl-ostmpl-debian vzprocps vzdump
从/ 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 [...] |
如果需要修改/etc/sysctl.conf
,请运行
sysctl -p
之后。
如果虚拟机的IP地址与主机系统的IP地址不同,则以下步骤很重要。 如果不这样做,网络将无法在虚拟机中运行!
打开/etc/vz/vz.conf
并将NEIGHBOUR_DEVS
设置为全部
:
vi /etc/vz/vz.conf
[...] NEIGHBOUR_DEVS=all [...] |
最后重新启动系统:
reboot
如果您的系统重新启动没有问题,那么一切都很好!
跑
uname -r
并且您的新OpenVZ内核应显示:
server1:~# uname -r
2.6.18-fza-028stab053.5-686-bigmem
server1:~#
2使用OpenVZ
现在我将向您展示使用OpenVZ的基本命令。
要从默认的最小Debian Etch模板设置VPS(您可以在/ var / lib / vz / template / cache
中找到它),运行:
vzctl create 101 --ostemplate debian-4.0-i386-minimal --config vps.basic
101
必须是uniqe ID - 每个虚拟机必须具有自己的唯一ID。 您可以使用虚拟机的IP地址的最后一部分。 例如,如果虚拟机的IP地址为1.2.3.101
,则使用101
作为ID。
如果要启动vm,请运行
vzctl set 101 --onboot yes --save
要为vm设置主机名和IP地址,请运行:
vzctl set 101 --hostname test.example.com --save
vzctl set 101 --ipadd 1.2.3.101 --save
接下来,我们将套接字数设置为120,并将一些Nameservers分配给vm:
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.99.99 --nameserver 213.133.100.100 --nameserver 145.253.2.75 --save
(而不是使用vzctl set
命令,您可以直接编辑存储在/ etc / vz / conf
目录中的vm的配置文件,如果vm的ID为101
,则配置文件为/ etc / vz /conf/101.conf
。)
启动vm,运行
vzctl start 101
要为vm设置root密码,请执行
vzctl exec 101 passwd
您现在可以通过SSH连接到vm(例如使用PuTTY ),或者输入如下:
vzctl enter 101
要离开vm的控制台,请键入
exit
要停止一个vm,运行
vzctl stop 101
要重新启动vm,请运行
vzctl restart 101
要从硬盘驱动器中删除vm(必须先停止才能执行此操作),请运行
vzctl destroy 101
要获取您的vms及其状态列表,请运行
vzlist -a
server1:~# vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
101 6 running 1.2.3.101 test.example.com
server1:~#
要了解分配给vm的资源,请运行
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
列非常重要,它应该只包含零; 如果没有,这意味着vm需要比当前分配给vm的资源更多的资源。 在/ etc / vz / conf
中打开vm的配置文件,并提供相应的资源,然后重新启动vm。
要了解有关vzctl命令的更多信息,请运行
man vzctl
3链接
- OpenVZ: http : //openvz.org
- Debian: http : //www.debian.org