OpenVZ是基于Linux内核和系统的操作系统级虚拟化技术,OpenVZ允许物理服务器运行多个操作系统,被称虚拟专用服务器(VPS,Virtual
Private Server)或虚拟环境(VE, Virtual
Environment)。
下面来简要的介绍下openvz的安装和虚拟机的部署:
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget
http://download.openvz.org/openvz.repo
[root@localhost yum.repos.d]# yum -y install ovzkernel.x86_64
ovzkernel-devel.x86_64 vzctl.x86_64
vzquota.x86_64 //安装openvz内核和客户端工具
[root@localhost ~]# grep -v '^#' /etc/grub.conf
//确认下次启动时以openvz核启动
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server
(2.6.18-194.3.1.el5.028stab069.5)
root (hd0,0)
kernel
/vmlinuz-2.6.18-194.3.1.el5.028stab069.5 ro root=LABEL=/1 rhgb
quiet
initrd
/initrd-2.6.18-194.3.1.el5.028stab069.5.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel
/vmlinuz-2.6.18-164.el5 ro root=LABEL=/1 rhgb quiet
initrd
/initrd-2.6.18-164.el5.img
[root@localhost ~]# uname
-r
//重启并确定当前内核为openvz内核
2.6.18-194.3.1.el5.028stab069.5
[root@localhost ~]# service vz status //启动vz服务
OpenVZ is running...
[root@localhost ~]# ls /vz/
dump lock private root template
openvz默认的工作目录为/vz,如何修改这个目录还有待研究,dump目录应该是存放虚拟机备份文件的位置,private和root都是存放当前虚拟机系统文件的目录,template是存放虚拟机模板的目录,lock目录何用,也需要继续研究…
openvz支持的guest操作系统版本模板下载地址:
http://download.openvz.org/template/precreated/
[root@localhost ~]# ls
/vz/template/cache/*.gz
//下载相应的模板并移动的这个目录
/vz/template/cache/centos-5-i386-afull.tar.gz
/vz/template/cache/centos-5-i386-hostinabox576.tar.gz
[root@localhost ~]# vzctl create 101 --ostemplate
centos-5-i386-afull
//创建虚拟机,101为ID号,从100开始,需要注意的是只能写模板文件的名称去掉后缀(.tar.gz)的部分,否则会报错
Creating container private area (centos-5-i386-afull)
Performing postcreate actions
Container private area was created
[root@localhost ~]# vzctl set 101 --ipadd 192.168.50.249
--save //设定虚拟机的ip参数,并保存
Adding IP address(es): 192.168.50.249
Saved parameters for CT 101
[root@localhost ~]# vzctl start 101
//启动虚拟机101
Starting container ...
Container is mounted
Adding IP address(es): 192.168.50.249
Setting CPU units: 1000
Configure meminfo: 49152
Container start in progress...
[root@localhost ~]# vzctl enter 101 //进入虚拟机
entered into CT 101
[root@localhost /]# ifconfig |grep 'inet addr'
//查看虚拟机网卡信息
inet
addr:127.0.0.1 Mask:255.0.0.0
inet
addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0
Mask:255.255.255.255
inet
addr:192.168.50.249 P-t-P:192.168.50.249
Bcast:192.168.50.249 Mask:255.255.255.255
[root@localhost /]# df -h
//查看虚拟机磁盘信息,可以看到,其实所有的虚拟机都是共享/vz目录,因而在生产环境中使用openvz的时候,最好要独立划出/vz分区,并做lvm
Filesystem
Size Used Avail Use% Mounted on
/dev/simfs
23G 501M 21G 3% /
none
96M 4.0K 96M 1% /dev
[root@localhost /]# free
//同样,共享系统内存和cpu
total
used
free shared
buffers cached
Mem:
196608 15568
181040
0
0 0
-/+ buffers/cache:
15568 181040
Swap:
0
0 0
[root@localhost /]# cat /proc/cpuinfo |less
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model :
15
model name : Intel(R) Xeon(R)
CPU
5110 @ 1.60GHz
stepping : 6
………………………………………………………………………………………
[root@localhost /]# exit //退出虚拟机101
exited from CT 101
[root@localhost ~]# cat
/vz/root/101/etc/sysconfig/network-scripts/ifcfg-venet0:1
//也可以直接编辑/vz/root下的文件修改虚拟机相关参数
DEVICE=venet0:1
OnBOOT=yes
IPADDR=192.168.50.249
NETMASK=255.255.255.255
[root@localhost ~]# ls /vz/root/
101 102 103 104 105 106
[root@localhost ~]# ls /vz/private/
101 102 103 104 105 106
总结:
1:openvz是一款独树一帜的虚拟机,同传统的虚拟机,例如xen,kvm,MS
hypev-v,VMWARE等相比,安装虚拟机操作系统变的相当的容易,且快速,这些传统的虚拟机安装都需要和真实机安装操作系统的方式一样(这里排除了使用克隆和dd的方式),openvz则使用模板这种方式,从安装上变的高效;
2:默认openvz有一张venet0网卡,虚拟机的网段和物理机的网段通过这个网卡桥接在一起,并没有提供其他的虚拟网卡,这个也有待进一步研究;
3:另外,openvz支持多种方式的管理,例如:hypervm,vtonf等...
4:对硬件没有特殊的要求,kvm需要cpu vt技术的支持,xen装windows也需要vt支持