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的核心功能套件(特点:可插入、可替换)

云的总结归纳_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/