1、理论知识
1.1、云计算的概念
“云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展。
1.2、云计算用户需求分析
1.2.1、降低成本
降低IT系统的整体运维费用与拥有成本
1.2.2、提升性能和效率
满足服务质量 (QoS)、性能、可扩展性、安全性和管理优点(公有云与私有云)
1.2.3、安全可靠
拥有像传统数据中心的可控、可信、可靠和安全特性(私有云)
1.3、云系统的特点
1.3.1、技术角度
高扩展性 - 分布式架构带来的弹性主机资源分配和在线部署方式
高可用性 - 云主机基于庞大的服务器集群,抗灾容错能力强,避免单点故障
强虚拟化能力 - 虚拟化实现了IT资源的逻辑抽象和统一表示
1.3.2、商业(成本与效率)角度
高密度 - 规模化提升效率同时降低采购成本、管理成本
资源复用性 - 提高资源的分配和管理效率
灵活性 - 即需即用、灵活高效
可控性 - 减少服务资源的交付周期
1.4、云的主要模块
1.4.1、Nova模块(计算)
NASA开发的虚拟服务器部署和业务计算模块;
1.4.2、Swift(存储)
Rackspace开发的分布式云存储模块
1.4.3、网络
云网络分类参考规划
- 管理网段
- 公网交换网段
- 内部交换网段
- 存储网段
1.5、云的参考架构
1.5.1、物理基础架构
1)该层由运算服务器、网络、存储组成的资源池构成
2)该层的资源应当被统一管理
3)该层设备之间、设备与上层不存在紧耦合关系(紧耦合,模块或者系统之间关系太紧密,存在相互调用)
1.5.2、虚拟化层
1)虚拟化层应与物理层采用松耦合部署,物理资源状态变更不影响虚拟化层。
2)物理层的横向扩展可提升整体架构的性能
1.5.3、服务器自动化层
1)该层可定制服务模板,为下一层(云API)提供服务自动化部署和配置的能力
2)该层可集中监控目前整体资源的状态(性能、可用性、故障、事件汇总等等)
3)对监控的事件进行预定的自动化工作流处理。
1.5.4、云API
1)该层为下层(服务门户层)提供与上层(服务器自动化层)交付的接口(API)
2)该层接口实现不同地方的计算机资源接入
1.5.5、服务门户
1)该层向用户提供服务目录并调用上层的接口
2)服务目录提供申请、变更、退回等计算机申请流程
1.5.6、安全体系
1)该层实现物理资源、虚拟化平台、系统、应用和用户访问的安全
2)对每层进行安全的监控和控制,确保最终用户的应用稳定可靠。
1.5.7、集成
1)扩展更多的功能,满足最终用户的需求(计量、收费等)
1.6、云提供商需具备的条件
1)丰富的运营经验
2)具备一定的资金投入
3)具备先进技术的云计算服务器研发团队
注:灵活良好的售后是竞争力
1.6.1、云需要的技术
1)虚拟化技术
将一台计算机虚拟为多台逻辑计算机,每个逻辑计算机可运行不同操作系统并相互独立
2)分布式海量数据存储
冗余方式通过任务分解和集群,用低配机器替代超级计算机的性能来降低成本,该方式保证分布式数据的高可用、高可靠和经济性,即为同一份数据存储多个副本。
3)海量数据管理技术
云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。
4)编程方式
云计算需要分布式编程实现分布式的计算,采用了一种思想简洁的分布式并行编程模型Map—Reduce。Map— Reduce是一种编程模型和任务调度模型。主要用于数据集的并行运算和并行任务的调度处理。在该模式下,用户只需要自行编写Map函数和Reduce函数即可进行并行计算。其中,Map 函数中定义各节点上的分块数据的处理方法,而Reduce函数中定义中间结果的保存方法以及最终结果的归纳方法。
5)云计算平台管理技术
云计算系统的平台管理技术能够使大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营
1.7、云服务器
1.7.1、云服务器的作用
面向用户提供公用化的互联网基础设施服务
1.7.2、云服务器的特点
按需使用(租用)
按需即时付费
1.7.3、云服务的产品
面向中小企业用户与高端个人用户的云服务器租用服务;
面向大中型互联网用户的弹性计算平台服务
1.7.4、云主机租优点
云主机可以有效的解决传统物理租机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
在实际应用中的云主机具有三个方面的弹性能力:
1)主机服务配置与业务规模可根据用户的需要进行配置,并可灵活的进行调整;
2)用户申请的主机服务可以实现快速供应和部署,实现了集群内弹性可伸缩;
3)计费方式灵活,用户无需支付押金,且有多种支付方式供用户选择。
1.7.5、用户选择云的原因
1)稳定性 - 企业云服务器与传统服务器不同,它是集群服务器,即使其中一台服务器因网络***而瘫痪,也不会影响到其他服务器。
2)省力省心 - 云服务器会帮助企业进行数据的有效备份,即使硬件损坏,也不会导致数据的丢失。
3)升级更方便 - 云服务器的硬件配置,可以在线升级,无需重装系统,也不会影响用户使用。
4)价格便宜 - 服务器相对于其他的服务器,价格相对来说是便宜的,租金低于传统服务器租用。
2、云技术平台
2.1、openStack的简介
OpenStack是由网络主机服务商Rackspace和NASA(美国宇航局)联合推出的一个开源项目,目的是制定一套开源软件标准,任何公司或个人都可以搭建自己的云计算环境(IaaS),从此打破了Amazon等少数公司的垄断。OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。
OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
运行范围:
OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。
此外,OpenStack也用作建立防火墙内的“私有云”(Private Cloud),提供机构或企业内各部门共享资源。
2.2、OpenStack的概念
OpenStack是由Rackspace和NASA共同推出的云计算平台
OpenStack是由互联网高新技术公司组成的社区
OpenStack是一个类亚马逊云的IaaS解决方案
OpenStack是一个提供部署云操作品台的工具集
OpenStack的主要代码由Python开发
OpenStack是开源免费项目
注:IBM、RedHat和VMWare均提供有偿技术支持
2.3、Red Hat OpenStack项目介绍
2.3.1、RDO(Red Hat deploy OpenStack)项目
1)面向开发和测试人员
2)Bug多且同版本Bug修复慢
3)界面为标准OpenStack Dashbord
4)没有在线技术支持
5)安装包依赖关系复杂
6)新技术新特征跟随紧密
7)软件仓库选择EPEL和FedoraPeople
安装源:
https://repos.fedorapeople.org/repos/openstack
2.3.2、RHOSP(Red Hat Enterprise Linux OpenStack Platform)项目
1)面向企业应用
2)Redhat商业支持
3)稳定但不是最新版本
4)使用Redhat定制的Dashboard界面
5)与Redhat其他产品结合度高
6)软件仓库RHN
7)企业私有云Iaas的推荐选择
项目主页:
https://access.redhat.com/products/red-hat-enterprise-linux-openstack-placform
2.4、OpenStack的核心功能套件(特点:可插入、可替换)
2.4.1、虚拟化套件(Nova)
1)提供部署和管理虚拟机的功能(包括Xen、KVM、VMWare、OpenVZ等)
2)通过WEB接口查看和管理虚拟硬件资源运行情况
2.4.2、分布式对象存储套件(Swift)
1)提供分布式存储大数据功能(虚拟机、镜像、文件、图片、虚拟磁盘等)
2)常见的分布式存储套件有本地磁盘、GFS2、HDFS
3)特点是扩展性强、高性能、高可靠、跨平台
2.4.3、块设备存储套件(Cinder)
1)为OpenStack的虚拟机提供附加虚拟硬盘
2)支持开源存储技术(包括ISCSI、FCoE、LVM等)
3)支持商业化的企业存储(包括NetApp、EMC、Nexenat等)
2.4.4、虚拟网络套件(Neutron旧称Quantum)
1)为云提供虚拟网络套件(模拟交换层或路由层、可扩展、即插即用、可API管理)
2)虚拟网络方案包括(OpenvSwitch、Cisco UCS/Nexus、Linux Bridge、NEC OpenFlow等)
3)虚拟机之间跨物理服务器的虚拟网络
4)跨虚拟网络与虚拟网络之间数据交换
5)为云平台提供DHCP动态地址分配协议
2.4.5、身份认证套件(Keystone)
1)云平台的核心认证组件
2)提供中央目录的集中认证服务
3)提供LDAP、令牌(Token)、Kerberos、本地账号密码等认证方式
2.4.6、镜像存储套件(Glance)
1)提供虚拟机镜像文件(虚拟磁盘、ISO文件、其他OS文件等)的注册、查找、交付功能
2)提供虚拟机模板(批量快速部署)和安装源
3)支持分布式存储、本地存储
2.4.7、WEB操作接口套件(Horizon)
1)提供图形化网页接口(开源、可扩展)
2)统一了部署、管理云服务和资源的方式(RDO等由Horizon二次开发而来)
3)提供管理集群和虚拟化应用的API
2.4.8、数据采集和自动化部署套件(Ceilonmeter)
1)提供物理以及虚拟硬件运行数据采集功能
2)为监控数据以及按需计费提供依据
3、OpenStack应答文件安装
3.1、安装操作系统
安装"rhel-server-7.1-x86_64"操作系统(最小化安装)
下载地址:http://vault.centos.org/7.1.1503/isos/x86_64/
3.2、环境要求
hostname=openstack.cmdschool.org
ipaddress=10.168.0.145
vim /etc/hosts
配置hosts解析如下:
10.168.0.145 openstack.cmdschool.org openstack
3.3、yum源安装
yum -y install ntp yum-utils
3.4、时间相关配置
时区配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
NTP配置
ntpdate 0.centos.pool.ntp.org crontab -e
输入如下内容:
*/30 * * * * ntpdate 0.centos.pool.ntp.org
3.5、创建一个独立的VG
fdisk /dev/sda ##create new partition partprobe ls -l /dev/sda* pvcreate /dev/sda3 vgcreate ciner-volumes /dev/sda3 vgs ##lvcreate -L 45G -n cinderDB ciner-volumes
注:不需要创建LV
3.6、配置openstack源
指定yum源:
yum-config-manager --add-repo=http://vault.centos.org/7.1.1503/cloud/x86_64/openstack-kilo/
vim编辑/etc/yum.repos.d/xxxpenstack-kilo.repo
增加参数:
gpgcheck=0
注:不增加无法安装
3.7、配置自动应答安装
安装自动应答包
yum -y install openstack-packstack
安装并创建自动应答文件
packstack --allinone --provision-demo=n --nagios-install=n
--allinone 本地安装使用
--provision-demo=n 不设置demo
--nagios-install=n 不安装nagios
如果出错请使用如下指令继续:
packstack --answer-file=packstack-answers-xxx.txt
获取帮助:
packstack -h #帮助
3.8、网络配置
查看网络状态:
ovs-vsctl show
配置网桥ifcfg-br-ex
vim /etc/sysconfig/network-scripts/ifcfg-br-ex
内容如下:
DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=10.168.0.145 NETMASK=255.255.255.0 GATEWAY=10.168.0.1 DNS1=202.96.128.86 DNS2=202.96.128.86 ONBOOT=yes NM_CONTROLLED=no
配置网卡设备ifcfg-enoxxxx
vim /etc/sysconfig/network-scripts/ifcfg-enoxxxx
ifcfg-enoxxxx
内容如下:
TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes NAME=enoxxxx DEVICE=enoxxxx NM_CONTROLLED=no
重启服务
systemctl restart NetworkManager systemctl restart network
3.9、将物理网卡关联到网桥
ovs-vsctl show ovs-vsctl add-port br-ex enoxxxx service restart network ovs-vsctl show
3.10、重启服务器
reboot
3.11、测试
ping 10.168.0.1 openstack-status
浏览器测试:
http://10.168.0.145
--------------------------------------------------------
参阅资料:
1)云项目源代码:
http://git.oschina.net/openstack
2)RDO项目首页:
https://www.rdoproject.org
3)openStack的RDO安装
openStack官方文档:
http://docs.openstack.org/liberty/install-guide-rdo/
红帽官方文档:
https://www.rdoproject.org/documentation/
非官方文档
http://www.linuxidc.com/Linux/2013-08/88186.htm
4)架构介绍:
http://www.enet.com.cn/article/2013/0702/A20130702294145_2.shtml
http://os.51cto.com/art/201205/336386_all.htm
5)开源云架构剖析:
https://www.ibm.com/developerworks/cn/opensource/os-cloud-anatomy/#resources
6)云的优势劣势:
http://www.wtoutiao.com/p/t3fFax.html
http://jingyan.baidu.com/article/cbf0e500e85d5f2eab289363.html
http://bbs.51cto.com/thread-1161283-1.html
7)云技术:
http://baike.baidu.com/link?url=f80uq5lEQx3pEqNt8Gc6TKe__uEqpDiMrGc7YO36dneuCHe4i-v4CKZyhW1UwL2s4rQvoQVXMPfYa3uKHVdJ-a
8)分布式海量数据存储:
http://blog.sina.com.cn/s/blog_6c5cffe30100p837.html?tj=1
9)云计算海量数据管理技术:
http://www.ccidnet.com/2010/0809/2147119.shtml
10)云计算技术管理平台:
http://book.51cto.com/art/201012/236789.htm
11)供应商:
http://www.redhat.com/zh/technologies/linux-platforms/openstack-platform
https://www.awcloud.com/
12)红帽的云介绍:
http://wenku.baidu.com/link?url=ONlUA7fxmaQlY7dzIORDo3rxJMCQRPBHGuvZ05wFTUYN7DWulARONziPrXuyNvnGskx65tC--z5Vaj_3JklbDP-FOnPUEIxp0o_OT1bwLui
13)案例分享:
小米:http://www.csdn.net/article/2015-06-29/2825070
14)云计算解决方案模板:
http://wenku.baidu.com/link?url=_KX3NsjXDgp88Eim81G27SGcB1xRxZ-FdEm1v7MSu7KouKR2KX1EMsX-ye8qt0Ky24JwiBtsXXJz4oSaAR7u16wbXJzGKyDFU5YPIOfcNpm
15)分布式集群GFS2:
http://dreamfire.blog.51cto.com/418026/1219221/
http://www.ibm.com/developerworks/cn/cloud/library/1402_chenhy_openstackstorage/