如何使用OpenVZ创建虚拟机?

日期: 2009-09-16 作者:Sander van Vugt翻译:唐琼瑶 来源:TechTarget中国 英文

在这系列第一部分中,我介绍了如何安装OpenVZ,这是一款开源的基于容器的虚拟化产品,可以代替基于hypervisor的虚拟化产品运行在Linux上。   为了创建OpenVZ虚拟机,你需要为想要创建的虚拟操作系统制作一个模版。这个模版适用于所有主要的Linux版本,并且你能下载模版。例如,如果你想使用CentOS 5虚拟机,使用以下命令下载CentOS 5模版:   cd /vz/template/cache  wget http://download.openvz.org/template/precreated/contrib/centos-5-i386-default.tar.gz   ……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

在这系列第一部分中,我介绍了如何安装OpenVZ,这是一款开源的基于容器的虚拟化产品,可以代替基于hypervisor的虚拟化产品运行在Linux上。

  为了创建OpenVZ虚拟机,你需要为想要创建的虚拟操作系统制作一个模版。这个模版适用于所有主要的Linux版本,并且你能下载模版。例如,如果你想使用CentOS 5虚拟机,使用以下命令下载CentOS 5模版:

  cd /vz/template/cache
  wget http://download.openvz.org/template/precreated/contrib/
centos-5-i386-default.tar.gz

  下载后,使用它启动一台或多台虚拟机。启动基于模版的虚拟机,你仅仅需要下载并使用以下命令:

  vzctl create 150 --ostemplate centos-5-i386-default --config vps.basic

  这里的“vzctl”是一个主要命令,允许你创建并管理虚拟机。如IP命令,vzctl结合子命令创建虚拟机。每台虚拟机有自己唯一的ID。将IP地址的最后部分用于唯一的ID是个好主意,在本例中是150。接下来,指定使用哪个模版。这个模版包括一个裸露的基本文件,你需要填入它自身的配置。“--config”选项是确保这个配置文件是为虚拟机创建的。配置文件将存在于目录“/etc/vz/conf”。每台虚拟机都有自己的配置文件。要管理虚拟机,可以直接编辑这个文件,不过你也能在命令行上输入不同的参数更改虚拟机属性。

  当使用这种方法创建虚拟机后,在你重启计算机时不会自动重启虚拟机。请使用以下命令:

  vzctl set 150 --onboot yes --save

  接下来插入你想在虚拟机使用的其他参数。这个至少包括IP地址,可使用下面的命令设置。更改这些命令里的参数与目前的配置匹配:

  vzctl set 150 --hostname nuuk.example.com --save
  vzctl set 150 --ipadd 192.168.1.150 --save
  vzctl set 150 --nameserver 193.79.237.39 --save

  这时候,你已经创建了相当合适的基础配置,存储在/etc/vz/conf/150.conf(假定这个例子中使用150作为虚拟机的ID)。下表2显示了这个文件现在的样子:

  表2:写入到配置文件的虚拟机配置

[root@centos conf]# cat 150.conf
# Copyright (C) 2000-2008, Parallels Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the license or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U.S.A.
#

ONBOOT="yes"

# UBC parameters (in form of barrier:limit)
KMEMSIZE="14372700:14790164"
LOCKEDPAGES="256:256"
PRIVVMPAGES="65536:69632"
SHMPAGES="21504:21504"
NUMPROC="240:240"
PHYSPAGES="0:9223372036854775807"
VMGUARPAGES="33792:9223372036854775807"
OOMGUARPAGES="26112:9223372036854775807"
NUMTCPSOCK="360:360"
NUMFLOCK="188:206"
NUMPTY="16:16"
NUMSIGINFO="256:256"
TCPSNDBUF="1720320:2703360"
TCPRCVBUF="1720320:2703360"
OTHERSOCKBUF="1126080:2097152"
DGRAMRCVBUF="262144:262144"
NUMOTHERSOCK="360:360"
DCACHESIZE="3409920:3624960"
NUMFILE="9312:9312"
AVNUMPROC="180:180"
NUMIPTENT="128:128"

# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1048576:1153024"
DISKINODES="200000:220000"
QUOTATIME="0"

# CPU fair sheduler parameter
CPUUNITS="1000"

VE_ROOT="/vz/root/$VEID"
VE_PRIVATE="/vz/private/$VEID"
OSTEMPLATE="centos-5-i386-default"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="nuuk.example.com"
IP_ADDRESS="192.168.1.150"
NAMESERVER="193.79.237.39"

  既然你已经创建了虚拟机配置,现在使用下面命令启动虚拟机:

  vzctl start 150

  接下来确保设置根密码:

  vzctl exec 150 passwd

  命令“vzctl passwd”将提示你设置根密码。这时候虚拟容器已准备好被使用。你现在能通过使用SSH启动它或者通过下面命令直接从主机操作系统控制台启动:

  vzctl enter 150

  如果你已经使用“vzctl enter”访问虚拟机,可以出入exit退出。

  基础OpenVZ虚拟机管理
  
  虚拟机已经运行起来,我们来看看一些管理它的命令。如你所见,这些命令看起来像管理Xen虚拟机使用的命令。首先,你能通过使用命令“vzlist -a.”所有目前能使用的虚拟机。

[root@centos conf]# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
150 19 running 192.168.1.150 nuuk.example.com

  这个命令显示每台虚拟机目前的状态(本例中只有一台虚拟机运行)。基于这个信息,你能停止虚拟机(vzctl stop 150)、重启(vzctl restart 150)或者从主机硬盘删除它(vzctl destroy 150)。最后的命令只有在你首先停止虚拟机才起作用。

  本文介绍了如何使用OpenVZ基于容器的虚拟化设置虚拟机。有了这个信息,你应该能决定这种虚拟化方法是否有利于你的组织。

相关推荐

  • 开源虚拟化扩展VM硬件和操作系统选项

    你不必使用专有虚拟化软件运行虚拟机。现在开源社区提供的产品可以满足所有不同虚拟化需求,你无需支付高昂的前期成本 […]

  • 2019年Xen与KVM之争已无悬念

    多年来,在开源虚拟化领域,Xen和KVM一直在不断竞争,但现在来看,这场竞争基本已经结束。 早在2014年,很 […]

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。