赞
踩
一般而言,狭义的虚拟化有点类似于我们常听说到的“虚拟机”,即将一台物理机器虚拟成多台逻辑上的计算机,每个逻辑计算机相对独立,可以运行不同的操作系统,跑不同的应用,这样以达到可以更自由、灵活地分配和利用物理资源的目的。而广义的虚拟化技术是指对计算资源的抽象,这些计算资源包括CPU、内存、存储(磁盘)、网络,甚至也可以包括像GPU、FPGA这类外部设备。对计算资源做抽象的好处颇多,最显著的就是可以隐藏软硬件工作环境的复杂度,给使用方提供更简单、清晰的功能接口。
在早期,业务都是基于应用(Application),如果一台服务器上运行了两个重要的应用,其中一个应用的出错可能引起系统的奔溃,导致另外一个应用也不可提供服务,因而出于稳定性和安全方面的考虑,一台服务器上通常只运行单一应用。在这样的场景下,伴随着业务发展,业务部门如果要新增一个应用或者对原有应用做扩展,就必须采购新的服务器。很少有人能准确评估出应用在不同场景下所需的服务器资源,所以采购部门采购的服务器一般都是性能较好的服务器,正常情况下运行应用都不会超过服务器额定负载的20%。这样就会带来一个问题,服务器资源被很大程序的浪费了。20世纪60年代,IBM开发了大型机CP-40系统,CP-40支持14个虚拟机同时运行,不过CP-40从未公开发售,只被用于IBM实验室里。CP-40架构被沿用到IBM之后开发的CP-67系统上,而后者是第一个支持虚拟化的商业大型机。运行在CP-67上的操作系统也被称为CMS (Console Monitor System),是IBM首个交互式的系统。在80年代末,Insignia Solutions公司发布了SoftPC,其能
够让用户在UNIX工作站上运行DOS操作系统的应用。在90年代末,VMWare公司发布了VMWare Workstation,最早版本的VMWare Workstation只能运行在windows之上,之后的版本添加了对其他操作系统的支持。
将物理机上的操作系统称为宿主机操作系统(Host OS),将虚拟机上的操作系统称为客户机操作系统(Guest OS),则它们的层次关系如下图:
1、提升资源的利用率
2、便于管理
3、减少不可提供服务的时间
4、快速部署
5、更高的灵活性
1、虚拟化本身消耗计算资源
2、搭建和维护虚拟化环境消耗人力资源
3、安全问题
对虚拟化的分类,我们可以按在硬件层上的虚拟化、操作系统层上的虚拟化、库函数层上的虚拟化和编程语言上的虚拟化来分类。平常我们所说的虚拟化,更多的是指前两种虚拟化。一般而言,虚拟机监控程序hypervisor有两种类型
直接运行在机器硬件之上,使用该架构的虚拟机有Oracle VM,Microsoft Hyper-V,VMWare ESX和Xen。
运行在目标机器的操作系统上。使用该架构的虚拟机包括VMware Workstation,Microsoft Virtual PC、QEMU和KVM
如果只用一句话去概括虚拟化的核心含义,那就是使一个物理机器能够同时运行多个独立的系统。虚拟机是在独立的系统资源(CPU、内存、存储、网络等)上,有操作系统及应用程序。虚拟后的资源是隔离的,也就是说操作系统是感知不到在同一台物理机上其他虚拟机的。虚拟化技术的核心组件是虚拟机监控程序(Virtual Machine Monitor),简称VMM,又称为Hypervisor,它管理的是虚拟机上操作系统的系统调用到虚拟硬件的交互,以及发生在更底层的物理机器上的实际执行。
用脚本安装OpenStack常用组件
编辑openstack环境变量脚本/etc/xiandian/openrc.sh
配置各组件的帐户和登录密码,以及虚拟网络。
执行各组件对应的安装脚本。
# controller和compute节点都要做
在上次的openrc.sh脚本后面增加以下三行
- Physical_NAME=provider
- minvlan=100
- maxvlan=201
确认外网卡为ens33
INTERFACE NAME=ens33
如图所示:
# controller和compute节点都要做
执行在/usr/local/bin中的
iaas-pre-host.sh进行安装
#reboot 重启动
# controller
执行在/usr/local/bin中的
iaas-install-mysql.sh进行安装
#compute节点
执行命令
#yum -y installMySQL-python
# controller
执行在/usr/local/bin中的
iaas-install-keystone.sh进行安装
注意,若重启系统,需执行
sh /etc/keystone/admin-openrc.sh
重新获得访问所需访问所用的环境变量
#compute节点
无需安装
# controller
执行在/usr/local/bin中的
iaas-install-glance.sh进行安装
测试功能:
- # source /etc/keystone/admin-openrc.sh(执行配置授权脚本)
- # glance image-create --name "Cent0S7.0" --disk-format
- qcow2 --container-format bare --progress <
- lopt/images/CentOS_6.5_x86_64_XD.qcow2
- #compute节点
# controller
执行在/usr/local/bin中的
iaas-install-nova-controller.sh进行安装
#compute节点
执行在/usr/local/bin中的
iaas-install-nova-compute.sh进行安装
验证服务时输入控制节点root的密码,如Aa123456789
#controller节点
执行在/usr/local/bin中的
iaas-install-dashboard.sh进行安装
打开浏览器访问Dashboard
http://controller(或本机内网ip)/dashboard
注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙
# compute节点
无需操作
尝试操作:
登录系统:admin/000000
项目→资源管理→镜像
找到在Glance安装中添加的镜像,尝试熟悉管理界面
# controller节点
执行在/usr/local/bin中的
iaas-install-cinder-controller.sh进行安装
#compute节点
执行在/usr/local/bin中的
iaas-install-cinder-compute.sh进行安装
理解什么是虚拟化技术、虚拟化技术发展的方向、AWS的关键技术。了解AWS的基础架构Dynamo、开源云平台openstack等相关技术以及原理关系,并学习基础的实验操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。