创建第一台VPS

  在下面的例子中,我使用的是来自私有192.168.块的IP地址。你或许想在自己的局域网上修改这个命令得到希望的IP地址(主机和DNS)。vzctl用于VPS创建、配置和运行。vzctl能在一行命令上提取几个参数,不过为了举例,我在单独的命令行上执行每个操作。使用以下命令创建VPS:

  vzctl create 101 --ostemplate centos-4 --config 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:password

  这将分配一个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@192.168.0.101

       或vzctl enter 101

  进去后就可以使用新的VPS了,就如有一台独立的机器。下面有个图表,注意,这仅仅是看起来是台独立的机器,有自己的启动脚本、配置、用户帐户、主目录等。VPS根用户几乎能完成控制,而不需要访问主机操作系统或任何其他VPS。VPS根用户不能分配硬盘或更改网卡配置。

  VPS资源管理

  每一台VPS都有一个专门的文件,叫做/proc/user_beancounters,这个文件包含资源分配与资源使用的信息。以根用户身份在VPS里输入:

  cat /proc/user_beancounters

 

 

  最后一栏叫做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不能使用多于设定值的资源。这意味着你能根据需要过度分配磁盘空间。

      vzctl exec 101 ps aux

      这样可以直接调用vps中的命令

 

Posted on 2010-12-12 14:04  技术人生  阅读(564)  评论(0编辑  收藏  举报