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

CentOS5.X系统中安装OpenVZ虚拟过程记录

为了安装OpenVZ,我们需要配置OpenVZ的YUM库cd/etc/yum.repos.dwgethttp://download.openvz.org/openvz.reporpm-importhttp://download.openvz.org/RPM-GPG-Key-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 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

修改为1

在尾部增加

#Add

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

最后,重启您的系统

init 6

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

用uname - r 查看您的内核

uname -r

[root@server1 ~]# uname -r

2.6.18-53.1.19.el5.028stab053.14

2 使用 OpenVZ

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

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

cd /vz/template/cache

wget -c 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 // --config vps.basic 指定要哪个 vps的配置文件 配置文件在 cd /etc/sysconfig/vz-scripts/目录下面的 自己可以指定

如果出现如下报错

[root@centos5 cache]# vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic

File /etc/vz/conf/ve-vps.basic.conf-sample is not found

Creation of container private area failed

[root@centos5 cache]# vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic

File /etc/vz/conf/ve-vps.basic.conf-sample is not found

Creation of container private area failed

只需要把

cd /etc/vz/conf/

[root@centos5 conf]# cp ve-basic.conf-sample ve-vps.basic.conf-sample

[root@centos5 conf]#

[root@centos5 conf]#

[root@centos5 conf]# vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic

Creating container private area (centos-5-i386-default)

Performing postcreate actions

Container private area was created

在上面的命令中,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 10.0.2.200 --save

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

vzctl set 101 --numothersock 120 --save

vzctl set 101 --nameserver 202.96.128.86 --nameserver 202.96.128.143 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --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

vzctl create 102 --ostemplate centos-5-i386-default --config light.conf-sample --ipadd 10.0.2.201 --hostname test2.example.com

light.conf-sample 这个模板文件高度简化的 只有 30M内存 500 硬盘

/usr/sbin/vtonfd -f /etc/vtonf/vtonf.conf

安装Vtonf web vps 控制面板

yum -y install vzpkg expect

wget -c http://mesh.dl.sourceforge.net/sourceforge/vtonf/vtonfinstaller.1.0-beta1.tar.gz

(此软件包比较大,一定要在wget后加-c参数,这样在下载停顿的时候可以按Ctrl+C结束,再续传!)

tar zxvf vtonfinstaller.1.0-beta1.tar.gz

cd vtonfinstaller.1.0-beta1

./install

会问你是否开始安装程序,输入yes

Do you wish to start the installation procedure (y/n)? : y

Starting installation

Please wait…………

安装完成。

打开vtonf控制面板:http://服务器ip:8001/

输入安装过程中你设置的用户名和密码

Login Name : admin

Password :

属于你自己的VPS已经呈现在你的眼前。

5、安装Vtonf汉化包(可选)

wget http://download.linuxzh.org/xyj/Downloads/vtonf-cn-1.0.tar.bz2

tar xvfj vtonf-cn-1.0.tar.bz2

cd vtonf-cn

./vtonf-cn.sh /usr/local/vtonf

汉化完成,打开登录界面会出现简体中文语言选择。

启动 /usr/sbin/vtonfd -f /etc/vtonf/vtonf.conf

关闭 killall -9 vtonfd


推荐阅读
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 构建个人多节点Linux环境(CodeSheep)
    本文介绍如何通过虚拟机搭建一个多节点的Linux环境,这对于学习、实验和项目部署都具有重要意义。文章详细讲解了网络IP设置、节点间通信等关键步骤。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文介绍了在 CentOS 7 系统中如何查看所有活动进程及其运行时间。通过使用 `netstat` 和 `ps` 命令,您可以轻松获取进程的详细信息,包括启动时间、用户、终端和命令等。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
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社区 版权所有