在Debian Etch上安装和使用OpenVZ

在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链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏