OpenVZ安装指南,一种操作系统级别的虚拟化技术
鼎鼎大名的 OpenVZ 谁不知道?在主机行业被使用(滥用)很多年,依然在茁壮发展。作为一种操作系统级别的虚拟化技术,运行 OpenVZ 没有硬性的硬件要求。OpenVZ 能够创建被称为容器(containers)的虚拟化环境。这些虚拟机没有完全隔离(因语言习惯不同,还是将“容器”翻译成“虚拟机”比较通俗易懂)。OpenVZ 其中的一项功能就是:它简单并且几乎没有任何硬性开销。有使用资源限制的虚拟机(如内存或硬盘),但这些限制都并不是死板的。所以,你可以分配更多的资源给实际可用的虚拟机。这也是 OpenVZ 的弱点之一,它很容易超售。
不管你喜欢与否,OpenVZ是一项很好的技术,它完美的创建了一种虚拟的环境,几乎没有任何硬性开销。但是,你会用它做为 VPS 提供商吗?
本教程就是安装 OpenVZ 的指南:你需要在一台最小化安装CentOS 64位(RedHat)操作系统的独立服务器上来安装 OpenVZ,至少2个IP地址(同一子网),还有一些时间。
1、安装 OpenVZ
建议为虚拟机(默认是/vz目录)分配一个单独的分区上,并格式化为ext4文件系统。
下载 openvz.repo 文件到/etc/yum.repos.d/ 目录下
wget -P /etc/yum.repos.d/ http://ftp.openvz.org/openvz.repo
导入 OpenVZ GPG key 用于签名 RPM 包
rpm --import http://ftp.openvz.org/RPM-GPG-Key-OpenVZ
开始安装
OpenVZ 现已支持 Linux 3.x内核,但目前仍在用着2.6.x的内核。
yum -y install vzkernel
至此,OpenVZ 就已经安装完毕了。这时候,不能重启机器。
确认 /etc/sysctl.conf 配置文件中的内容跟下列的一致:
# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.default.proxy_arp = 0 # Enables source route verification
net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key
kernel.sysrq = 1 # We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
同时,禁止SELinux,运行命令:
echo "SELINUX=disabled" > /etc/sysconfig/selinux
还需要安装一些额外的软件包:vzctl,用于管理虚拟机;vzquota,用于控制硬盘容量分配;ploop,用于 OpenVZ 的文件系统管理。
执行以下命令:
yum -y install vzctl vzquota ploop
到这一步完成后,重启机器。系统会自动加载 OpenVZ 内核(默认选择),启动完成后,检查是否正确安装内核:
uname -a
会输出类似以下结果:
Linux hostname 2.6.32-042stab081.8 #1 SMP Mon Nov 05 17:50:24 MSK 2013 x86_64 GNU/Linux
其中字符串“042stab081.8”代表着 OpenVZ 版本号,理应是 OpenVZ 官网上的最新版。
2、创建虚拟机(container)
创建一个虚拟机并不难,不过在这之前,需先下载 OpenVZ 官网上的一些操作系统的模版放在/vz/template/cache/下,请注意,下载回来的文件以tar.gz结尾,无需解压。
OpenVZ 官网提供的模版下载地址:
http://openvz.org/Download/template/cache
这些模板包括:CentOS、Debian、Fedora、openSUSE、Ubuntu,都是常见的 Linux 发行版。
创建并启动一个虚拟机,只需运行以下命令:
vzctl create CTID --ostemplate osname
vzctl set CTID --ipadd a.b.c.d --save
vzctl set CTID --nameserver a.b.c.d --save
vzctl start CTID
这里的 CTID 是一个正整数ID,osname 是系统模版的名称,a.b.c.d是分配的 IP 地址,nameserver 是域名服务器(通常用Google的公共DNS服务器8.8.8.8)。
举例如下:
vzctl create 101 –ostemplate centos-6-x86
vzctl set 101 –ipadd 192.0.2.1 –save
vzctl set 101 –nameserver 8.8.8.8 –save
vzctl start 101
到这里,一个虚拟机(container)就创建好了。
刷新已创建的虚拟机,执行:
vzctl exec CTID ps ax
进入虚拟机,执行:
vzctl enter CTID
退出虚拟机,输入exit即可。
停止虚拟机,执行:
vzctl stop CTID
删除虚拟机,执行:
vzctl destroy CTID
对虚拟机的使用资源进行限制,则编辑/etc/vz/conf/CTID.conf即可。每个已创建的虚拟机都会有各自的配置文件。一般默认配置是256MB内存,512MB vSwap,2GB硬盘空间。
参考链接:
http://openvz.org/Quick_installation
http://wiki.openvz.org/Quick_Installation_CentOS_6
http://openvz.org/Basic_operations_in_OpenVZ_environment
http://lowendbox.com/blog/tutorial-getting-started-with-openvz/
转载请注明:秋水逸冰 » OpenVZ安装指南
OpenVZ安装指南,一种操作系统级别的虚拟化技术的更多相关文章
- Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍
一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM( ...
- 虚拟化技术比较 PV HVM
很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ.Xen.KVM.Xen和HVM与PV.在XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于L ...
- 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...
- 虚拟化技术KVM
1>虚拟化技术: 计算机虚拟化技术是多种技术的综合实现,它包括硬件平台,操作系统,存储以及网络等,简单地说,虚拟化技术就是在单台主机上可以虚拟多个虚假主机,并可以在这些虚拟主机上运行不同的操作系 ...
- 3.Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件
先说和虚拟化技术的区别 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降.容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和names ...
- VMware 虚拟化技术 创建虚拟机
原文地址:https://www.linuxidc.com/Linux/2017-03/141972.htm 云最成熟的架构是IaaS(Infrastructure as a Service),其中用 ...
- VPS的虚拟化技术—-XEN,KVM,OPENVZ
市场上的VPS商家主要有 Xen ,KVM 和 OpenVZ 三种开源的虚拟化技术 Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达 100个满特征的操作系统.操作系 ...
- 四种主要网络IO虚拟化模型
本文主要为大家简要介绍VMware.Redhat.Citrix.Microsoft主要虚拟化厂商使用的4种主要的虚拟化IO模型 (emulation.para-virtualization.pass- ...
- 虚拟化–操作系统级 LXC Linux Containers内核轻量级虚拟化技术
友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/288 软 ...
随机推荐
- Loadrunner11--输入license后提示违反许可证安全,禁止操作
安装中文补丁包后,重新把mlr5lprg.dll.lm70.dll覆盖LR11安装目录下“bin”文件夹下mlr5lprg.dll.lm70.dll.运行deletelicense.exe.重新用管理 ...
- [Javascript] Safer property access with Lodash's 'get' method
Property access in Javascript can be problematic - especially when dealing with nested Objects and A ...
- 【BZOJ 3998】弦论
[链接]h在这里写链接 [题意] 给你一个长度为n的子串; 让你求出第k小的子串是什么; 输出答案的类型分两种; 第一种,重复的算两次,第二种,重复的算一次. ...
- 关于idea新建子目录时往父目录名字后叠加而不是树形结构的解决方法(转)
我们在IDEA中创建子目录时,子目录总是在父目录后面叠加而不是树形,如下 我们可以打开项目窗口的右上角的设置标志, 将红圈选项的√先去掉,创建好子目录后再将它选中就可以
- PDO中获取结果集
fetch()方法 fetch()方法用于获取结果集的下一行.语法例如以下: mixed PDOStatement::fetch([int fetch_style][,int cursor_orien ...
- WPF中实现验证码
原文:WPF中实现验证码 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/79563449 W ...
- 【转】移动Web开发-点击事件及页面滚动
点击事件 移动端浏览器点击事件默认有300ms的延迟 移动端实现弹性滚动 安卓局部滚动 滚动条出现bug,解决方案:Android只是用全局滚动 模拟全局滚动,加上padding-top及paddin ...
- Html表单中遇到的问题
原文 https://www.jianshu.com/p/4466b8294007 大纲 1.表单提交的方式GET和POST的区别 2.js无法对input的file类型的值进行赋值 3.js获取in ...
- Mariadb配置文件优化参数(仅供参考)
[client]#password= your_passwordport= 3306 socket= /tmp/mysql.sock!includedir /opt/local/mys ...
- 因权限引起的svn提交失败的错误及其解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 前段时间,一个网友发邮件向我请教一个svn提交失败的错误.他的具体错误是这样的: 在配置svn强制输入日志时候遇到一个 ...