现在多数的主机虚拟系统是基于管理程序的(hypervisor-based),而基于容器的虚拟化(container-based)技术提供了另外一种虚拟化的途径。通过在一台物理机上创建并运行多个独立的容器,所有的容器都运行在预先安装的主操作系统之上,管理员可以在容器中创建虚拟机(VM)。每个虚拟机的运行都是独立于其他容器中的虚拟机,通过这样的方式保障虚拟机的安全性。开源程序OpenVZ使用的就是这种虚拟机技术。
OpenVZ实现虚拟化的方式完全不同于其他的开源虚拟化产品(如Xen和KVM)。跟其他虚拟化技术相比而言,OpenVZ有一点限制要求:宿主机(host)和子系统(guest)都必须运行Linux,子系统可以支持不同版本的Linux。基于容器虚拟化技术的商业化产品Parallels Virtuozzo Containers就是在OpenVZ的原理基础上实现的。
这种实现方式最大的优势就是它的性能。在OpenVZ中,所有通讯都是在Linux系统之间完成的,因此不需要复杂的翻译和转化过程。同时,它的安装方式也从根本上保证了高安全性,因为在不同的容器之间实现了完全的独立性。
一 安装
# 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.i686 vzctl.i386 vzquota.i386
# vim sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.proxy_arp = 0
完成后,查看grub.conf, 确认以openvx的内核重启机器
二 创建虚拟机
首先下载openvz 的模板,要放在/vz/template/cache下
# cd /vz/template/cache
# wget http://download.openvz.org/template/precreated/centos-5-x86.tar.gz
# vzctl create 239 --ostemplate centos-5-x86 --config vps.basic
# vzctl set 239 --hostname ww.example.com
--save
# vzctl set 239 --ipadd 192.168.1.239
--save
# vzctl start 239 启动刚才新建的虚拟机
# 设置root密码 vzctl exec 239 passwd
可以使用远程软件登陆新建的虚拟机了