CentOS系统如何安装配置OpenVZ VPS

在这份指南中我将向您说明怎样在CentOS 5.2 server中安装和部署OpenVZ,利用OpenVZ您可以在一台服务器上部署多台VPS(即Virtual Private Servers 虚拟服务器),类似的产品还有 Xen 和 Linux Vserver project,OpenVZ是Virtuozzo(大多数虚拟服务器供应商使用的商业解决方案)的开源分支,OpenVZ kernel patch是遵循GPL许可证的, 而用户级工具遵循QPL许可证。

这是一份简明实用的指南,并不会包含太多的基础背景知识,您可以在网络上轻松寻找到很多这样的基础文档。

注意:作者不对依照本文档所做操作带来的相关一切后果负责。部署OpenVZ的方法很多,作者仅仅是抛砖引玉,说明自己的方法。

Step1 安装OpenVZ

为了安装OpenVZ,我们需要配置OpenVZ的YUM库

cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm ?import http://download.openvz.org/RPM-GPG-Key-OpenVZ

这个YUM库包含了一些不同版本的OpenVZ内核(你可以在这里找到一些详细的资料http://wiki.openvz.org/Kernel_flavors)

命令:yum search ovzkernel 可以帮助您显示可用的内核:

[[email protected] yum.repos.d]# yum search ovzkernel
Loading ”fastestmirror” plugin
Loading mirror speeds from cached hostfile
* base: ftp.halifax.rwth-aachen.de
* openvz-kernel-rhel5: openvz.proserve.nl
* updates: ftp.halifax.rwth-aachen.de
* addons: ftp.halifax.rwth-aachen.de
* openvz-utils: openvz.proserve.nl
* extras: ftp.halifax.rwth-aachen.de
openvz-kernel-rhel5        100% |=========================|   951 B     00:00
primary.xml.gz             100% |=========================|   22 kB     00:00
openvz-ker: ################################################## 14/14
openvz-utils               100% |=========================|   951 B     00:00
primary.xml.gz             100% |=========================| 6.7 kB     00:00
openvz-uti: ################################################## 26/26
ovzkernel-ent.i686 : The Linux kernel compiled for huge mem capable machines.
ovzkernel-PAE.i686 : The Linux kernel compiled for PAE capable machines.
ovzkernel-ent-devel.i686 : Development package for building kernel modules to match the ent kernel.
ovzkernel-PAE-devel.i686 : Development package for building kernel modules to match the PAE kernel.
ovzkernel.i686 : Virtuozzo Linux kernel (the core of the Linux operating system)
ovzkernel-xen.i686 : The Linux kernel compiled for Xen VM operations
ovzkernel-xen-devel.i686 : Development package for building kernel modules to match the kernel.
ovzkernel-devel.i686 : Development package for building kernel modules to match the kernel.
[[email protected] yum.repos.d]#

从中选择适合您的内核并用如下命令安装:

yum install ovzkernel

这也应该将GRUB引导程序自动更新,但是无论如何,我们应该打开 /boot/grub/menu.lst来看看

现在,第一个内核中就包含了OpenVZ,我想你最好把这个内核的标题中写入一些与OpenVZ有关的东西来提醒自己这是OpenVZ的内核,并要保证此内核(即包含OpenVZ的内核)设定为默认启动的内核。

vi /boot/grub/menu.lst

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that

#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-53.1.19.el5.028stab053.14)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.1.19.el5.028stab053.14 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-53.1.19.el5.028stab053.14.img
title CentOS (2.6.18-92.1.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.1.1.el5.img
title CentOS (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.18-92.el5.img

现在开始安装OpenVZ的用户工具

使用这个命令:

yum install vzctl vzquota

打开目录 /etc/sysctl.conf 并保证你有和如下相同的设置:

vi /etc/sysctl.conf

[...]
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
[...]

如果你需要修改/etc/sysctl.conf 运行

sysctl -p

接下来的操作很重要,假设您的虚拟服务器和主机的IP地址来自不同的子网,如果您没有按照下列方法操作,那么您的虚拟服务器中的网络是不可用的。

打开/etc/vz/vz.conf 并设置NEIGHBOUR_DEVS 的值为all

vi /etc/vz/vz.conf

[...]
NEIGHBOUR_DEVS=all
[...]

如果你想使用OpenVZ的话,还需要关掉SELinux ,通过如下操作可以实现

vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

最后,重启您的系统

如果您的系统正常重启,恭喜您!

用uname - r 查看您的内核

uname -r

[[email protected] ~]# uname -r
2.6.18-53.1.19.el5.028stab053.14
[[email protected] ~]#

2 使用 OpenVZ

在我们创建虚拟服务器之前,需要在 /vz/template/cache 放置一个现有发行版的模板,并依据该模板来创建虚拟服务器,您可以在这里找到一些已经创建好的模板链接,http://wiki.openvz.org/Download/template/precreated.

在我们的例子中,我想使用CentOS 5 ,于是我下载相应的模板

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

现在我为您展示使用OpenVZ的基本命令:

以是刚才我们下载的CentOS 5的模板创建一个新的虚拟服务器

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

在上面的命令中,101是唯一的ID,每个服务器需要有自己的唯一 ID,您可以用虚拟服务器的IP地址最后一位来用作唯一ID,例如,您的虚拟服务器IP为 192.168.0.101,您就可以用101做您的唯一ID了。

如果您想让刚才创建的虚拟服务器开机(当然是真实的主机)时启动,输入:

vzctl set 101 ?onboot yes ?save

为虚拟服务器设置hostname和IP:

vzctl set 101 ?hostname test.example.com ?save
vzctl set 101 ?ipadd 192.168.0.101 ?save

下面我们设置端口号为120并为虚拟服务器设置名称服务器

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命令,您还可以直接编辑虚拟服务器的配置文件,假如是我们刚建立的ID为101的虚拟服务器,那么它的配置文件则位于:/etc/vz/conf/101.conf

启动虚拟服务器:

vzctl start 101

为虚拟服务器设置root密码

vzctl exec 101 passwd

你可以用ssh访问您的虚拟服务器,也可以使用如下命令:

vzctl enter 101

如果要离开虚拟服务器控制台,键入:

exit

停止一台虚拟服务器:

vzctl stop 101

重启虚拟服务器:

vzctl restart 101

从硬盘上删除一台虚拟服务器(删除之前务必做停止的操作)

vzctl destroy 101

得到当前主机上虚拟服务器的列表:

vzlist -a

[email protected] cache]# vzlist -a
VEID       NPROC STATUS   IP_ADDR          HOSTNAME
101          18 running 192.168.0.101    test.example.com
[[email protected] cache]#

显示虚拟服务器占用资源

[[email protected] cache]# vzlist -a
VEID       NPROC STATUS   IP_ADDR          HOSTNAME
101          18 running 192.168.0.101    test.example.com
[[email protected] cache]#

To find out about the resources allocated to a vm, run

vzctl exec 101 cat /proc/user_beancounters

[[email protected] cache]# vzctl exec 101 cat /proc/user_beancounters
Version: 2.5
        uid   resource            held     maxheld     barrier       limit     failcnt
       101:   kmemsize         1508202     1661695    11055923    11377049           0
lockedpages            0           0         256         256           0

privvmpages         5430        7102       65536       69632           0
shmpages             381         381       21504       21504           0
dummy                  0           0           0           0           0
numproc               19          21         240         240           0
physpages           2489        2775           0 2147483647           0
vmguarpages            0           0       33792 2147483647           0
oomguarpages        2489        2775       26112 2147483647           0
numtcpsock             5           5         360         360           0
numflock               3           4         188         206           0
numpty                 0           1          16          16           0
numsiginfo             0           2         256         256           0
tcpsndbuf          44720           0     1720320     2703360           0
tcprcvbuf          81920           0     1720320     2703360           0
othersockbuf       13144       14356     1126080     2097152           0
dgramrcvbuf            0        8380      262144      262144           0

numothersock          11          13         120         120           0
dcachesize             0           0     3409920     3624960           0
numfile              503         531        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
[[email protected] cache]#

要特别注意failcnt 栏,它的值应该为0,如果不是,则表示虚拟服务器需要得到更多的资源,打开配置文件 /etc/vz/conf 并增加适当的资源,然后重启虚拟服务器。

寻求更详细的 vzctl 命令帮助,请使用:

man vzctl

鼎峰小胡
QQ.2881064155
[email protected]

时间: 2024-10-12 20:13:59

CentOS系统如何安装配置OpenVZ VPS的相关文章

如何在CentOS系统中安装配置SNMP服务

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长.网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题.本文主要介绍如何在CentOS系统中安装配置SNMP服务. 工具/原料 CentOS操作系统 方法/步骤 使用SNMP服务前

CentOS系统下安装配置ftp服务

安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置文件 里面一共有四个配置文件: vsftpd.conf 为主配置文件, ftpusers为黑名单用户配置文件,通常我们的系统用户还有根用户都是放在这个配置文件里面的,因为这些用户的权限很大,如果使用ftp服务可能造成一些问题, user_list为用户列表文件(可以通过在配置文件vsftpd.con

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)

CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: 1 /etc/init.d/iptables stop #关闭防火墙 2 关闭SELINUX 3 vi /etc/selinux/config 4 #SELINUX=enforcing #注释掉 5 #SELINUXTYPE=targeted #注释掉 6 SELINUX=disabled #增加 7 :wq 8 shutdown -r now #重启系统 二.安装篇 1.安装nginx 1 yum re

CentOS 7.0安装配置Vsftp服务器步骤详解

安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止

CentOS 7.x安装配置

简述 VMware可以创建多个虚拟机,每个虚拟机上都可以安装各种类型的操作系统.安装方法也有很多种.下面,主要以ISO镜像安装为例,介绍CentOS 7.x的安装过程及相关的参数设置. 简述 创建虚拟机 安装CentOS 重启 更多参考 创建虚拟机 打开VMware,单击右侧的[创建新虚拟机]选项,开始创建虚拟机. 选择[稍后安装操作系统],单击[下一步]按钮. 选择要在虚拟机上安装的[客户机操作系统]及对应的[版本],选择"Linux"与"CentOS"(注意:如

CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)

一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ip

CentOS 系统中安装 ArcGIS Server10.1 一些问题及解决

由于工作中主要使用RoR开发,所以就把这个帖子发在这里了 本人由于从事GIS相关工作,因此工作中经常用到ArcGIS及相关软件,开发使用RoR,为了部署和服务器配置方便,故采用Linux作为服务器操作系统.ArcGIS Server为地图发布的重要工具,平常大多部署在Windows环境下,ESRI官网提供了Linux下安装的教程,同时google上也能搜到一些安装的教程,这里就在安装过程中遇到了一些问题与解决方法,分享出来与大家共同进步. 参考文档:http://www.cnblogs.com/

Linux Centos 系统上安装BT客户端 Transmission

Linux Centos 系统上安装BT客户端 Transmission Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和GNU通用公共许可证双许可证授权,因此是一款自由软件,还被众多linux发行版,包括Ubuntu.Mandriva.Mint.Fedora.Puppy.openSUSE 选作默认BT下载工具:Imageshack的服务使用其技术. 上面已经提到了很多种Linux系统都内置了这软件,可是使用最广的Cento

Centos 6.x 安装配置senginx

一.软件模块依赖性: [[email protected]] # yum -y install gcc+ gcc-c++ gcc* make* libpcre.so* openssl* pcre* zlib* libtool* libxml2* libxslt* gd* lua* 二.安装GeoIP 安装 MaxMind 的 GeoIP 库 MaxMind 提供了免费的 IP 地域数据库(GeoIP.dat),不过这个数据库文件是二进制的,需要用 GeoIP 库来读取,所以除了要下载 GeoIP