如何使用OpenVZ创建VPS?

日期: 2009-02-25 作者:Scott Dowdle翻译:唐琼瑶 来源:TechTarget中国 英文

在本系列的第二部分中,我们介绍了如何安装CentOS以便运行OpenVZ软件以及如何安装OpenVZ内核、工具程序及模板管理工具。本文将学习怎样创建、备份VPS(虚拟专有服务器)。   创建第一台VPS   在下面的例子中,我使用的是来自私有192.168.块的IP地址。你或许想在自己的局域网上修改这个命令得到希望的IP地址(主机和DNS)。

vzctl用于VPS创建、配置和运行。vzctl能在一行命令上提取几个参数,不过为了举例,我在单独的命令行上执行每个操作。使用以下命令创建VPS:   vzctl create 101 –ostemplate centos-4 –c……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在本系列的第二部分中,我们介绍了如何安装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

相关推荐