热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CentOS系统如何安装配置OpenVZVPS

在这份指南中我将向您说明怎样在CentOS5.2server中安装和部署OpenVZ,利用OpenVZ您可以在一台服务器上部署多台VPS(即VirtualPrivateServers虚拟服务器),类似的产品还有Xen和LinuxVserverproject,OpenVZ是Virtuozzo(大多数虚拟服务器供应商使用

 在这份指南中我将向您说明怎样在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 可以帮助您显示可用的内核:

[root@server1 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.
[root@server1 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

[root@server1 ~]# uname -r
2.6.18-53.1.19.el5.028stab053.14
[root@server1 ~]#

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

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

显示虚拟服务器占用资源

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

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

vzctl exec 101 cat /proc/user_beancounters

[root@server1 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
[root@server1 cache]#

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

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

man vzctl 


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
author-avatar
小森林
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有