| 由社区会员“liujinlong”分享
为了满足业务发展的需要,有效地办理资源利用率以及业务快速上线需求、集中管控、降低运维本钱、快速部署、节能环保等题目。搭建云计算平台,通过虚拟化、主动化等互联网相关技术来办理现有数据中心的各种挑衅,随着虚拟化及云计算的日益成熟,将应用服务器等部署在基于私有云的平台上,以告竣如下建设目标。
- 使数据中心 IT 资源池化,统一以服务的方式提供给用户。
- 根据业务负载,云平台主动弹性的分配计算,存储,网络资源给用户,快速帮助搭建业务应用。
- IT 资源可以快速部署,从月 / 天提升到分钟 / 秒级别,提高创新效率。
- 主动化运维管理企业数据中心 IT 资源,提高企业 IT 管理职员的运维效率。
1 总体方案设计
1.1 技术门路选择
随着云计算技术的不断成熟及用户对云计算技术的不断实践,目前大多数利用云计算技术的单位都已经从最初的虚拟化体系转向真正的云计算体系,实现了业务发放的主动化和服务化,以是云管理平台的紧张性逐步体现,并得到快速发展。目前云管理平台技术发展有下面几个大的趋势:
从软、硬件装备兼容性以及体系快速成熟的角度思量,各厂家开始放弃早期封闭研发的私有云管理平台,开始从私有平台转向接纳开放架构的云管理平台,如 IBM 、 HP 等公司都开始推开放架构云管理方案。云计算体系的构建是需要多厂家软、硬件共同参与、逐步搭建的体系,私有云管理平台很容易在装备兼容性上遇到限制,重要是各厂家如果没有统一的标准,产品很难互相兼容,终极会限制用户云体系的功能,如果接纳主流 IT 厂家支持的开放架构,各厂家装备在统一的架构下比较容易实现相互间的兼容。
本次项目需要选择具有技术前瞻性、架构稳固的云管理平台产品息争决方案,基于现有的软件、硬件和应用环境来统一集成,构建出统一平台底子环境,既能完全满足行业当前的业务诉求,又能在可预见的将来内持续可靠的支撑行业业务发展。
基于以上思量,在本项目中,选择了目前技术发展方向主流的云管理方案 OpenStack 举行商用化增强形成完整的云管理办理方案,实现底子设施资源池的云运维管理功能和运营管理功能。
1.2 技术架构规划
本次总体设计架构基于开放云技术 OpenStack 、 KVM 虚拟化以及分布式存储技术,对各个功能组件经过深度优化开辟,为业务体系提供底子承载平台。
本项目通过购置云计算服务所需硬件、软件装备,对底层服务器硬件及存储硬件举行统一规划部署,并举行资源整合,通过在硬件之上构建虚拟化平面,提供统一的计算资源池,网络资源池,存储资源池。其中计算支持 KVM 、 VMware 、裸机管理;网络通过 Linux bridge 、 OpenvSwitch 实现,底层网络可以是 VLAN 、 VXLAN 、 GRE ;存储可通过 CEPH 、贸易存储实现。
IAAS 层通过 OpenStack Nova 、 Cinder 、 Neutron 、 ironic 、 Keystone 组件实现虚拟机/物理机管理、存储管理、网络管理、镜像管理,日记管理、用户管理,并实现云主机 HA , QoS 、弹性伸缩、负载平衡等功能,满足用户各类资源需求。
智能运维:实现主动批量装机、应用部署、任务主动化、资产管理等运维服务,使管理员获取高于手工运维几十倍的速率,大大提高了运维效率。
1.3 资源池设计
计算资源池
云平台的计算服务设计参考开源 OpenStack 的 Nova 实现,为终极用户提供计算资源服务, Nova 在计算节点侧,通过 libvirt 的方式,对本地的虚拟机举行管控,底层利用基于硬件的全虚拟化技术 KVM 。思量到部分业务无法部署在虚拟机中,比如高性能数据库,可以利用物理资源独享的裸机来承载。为了实现裸机部署功能,利用 Nova 底层的驱动 ironic 来启动裸机节点,基于 ironic 驱动,用户可以像原来的虚拟机一样,对一台裸机实例举行整个生命周期的管理。
存储资源池
云平台的块存储服务设计参考开源 Openstack 的 Cinder 实现,为终极用户提供块存储资源。
云平台的各个服务区域有不同的存储要求,公共服务区域需要分布式存储的支持,内网和外网区域需要 FC 集中存储的支持,通过灵活的插件方式,提供不同驱动的支持。
Cinder 在存储节点侧,对于分布式存储,通过 librbd 开源驱动,和 Ceph 分布式存储集群通讯,举行块装备的管理;对于集中式存储,通过贸易存储的插件提供的贸易驱动与集中式存储通讯,举行块装备的管理。
针对特殊紧张的数据,用户可以选择在云平台上利用这种共享存储。FC-SAN 接纳高可用连接,保证每个 LUN 有 4 个 Active Path 。
网络资源池
与传统办理方案不同,云平台的 SDN (软件定义网络)网络利用户的虚机的网络不再是一个扁平化、无法自定义的固定的网络结构,而是一个可以提供丰富的网络功能并能够灵活配置的网络。
基于 Neutron 、 OVS 、 VXLAN 、 NameSpace 等技术, SDN 网络将所有物理世界的网络装备都被设计成了可操作的网络对象。只需要在管理面板点击配置,就可以根据业务需要灵活快速地构建复杂的网络环境,使网络管理更加智能,仅仅利用传统交换机等网络装备,而无需网络装备支持 SDN ,支撑了更灵活便捷的网络扩展。
云平台允许不同项目 ( 租户 ) 创建属于自己的网络,并通过项目 ( 租户 ) 的界限路由器连接到外网。不同项目 ( 租户 ) 之间的网络是允许重叠,即不同项目 ( 租户 ) 都可以创建了 10.10.1.0/24 这个网段,都有一个 10.10.1.1 的网关。为了实现这样的逻辑,就需要在底层实现对不同项目 ( 租户 ) 网络之间的隔离。
云平台网络功能由 OpenStack 的 Neutron 提供,接纳 ML2 Plugin 。二层接纳 Ovs Agent ,由它提供二层的虚拟互联,来实现统一扁平的网路结构。
不同物理节点之间上的虚拟机通过 Ovs 的 GRE 虚拟隧道举行互联,网络之间的隔离是通过在物理节点的内部网桥 br-int 上,利用本地 vlan 的方式来实现隔离。
起首,不同项目 ( 租户 ) 创建不同的 private network ,为了在虚二层上对网络举行隔离,创建 private network 时,需要指定 segment id
在不同项目 ( 租户 ) 的 private network 上创建的虚拟机,连接到 br-int 上的时候都是带 vlan tag ,即 local vlan tag ,以是不同 tenant 的虚拟机,即便连接到同一个 br-int 上,因为 tag 不同,也是不能相互通讯的。同一个呆板上的 local vlan tag ,是局部有效的,即仅在本机有效。
一个计算节点上的 br-int 上的 vlan tag 1 和另一台计算节点上的 br-int 的 vlan tag1 很可能是不一样。而创建 private network 的时候指定的全局唯一 segment id ,它是在虚拟网卡 br-tun 上利用, openvswitch 会在 br-tun 上,根据 setment id ,将数据包的 local vlan id 转换成与 segment id 等值的 tun id ,通过建立好的 GRE 隧道发送出去。
总之, br-int 内部的网络流量隔离是通过设置数据包的 local vlan id 来实现, br-int 之间的网络流量隔离是通过设置数据包全局唯一的 segment id 来实现。虚拟机所有能直接看到的东西,仅在 br-int 上,它看不到打通 br-int 之间所要利用的 segmentid 。数据包流程如下:
2 云平台功能规划
2.1 管理员运营管理
图形化显示全部的资源统计信息,包罗了资源概况信息、计算资源统计信息、网络资源统计信息。
涵盖了物理主机个数信息统计、可分配内核信息统计、可分配内存统计信息、项目个数统计信息、用户数目统计等信息。
涵盖了云主机统计信息、虚拟内核统计信息、虚拟利用内存信息、快照信息、云硬盘数量统计信息、云硬盘快照信息、硬盘容量信息、镜像个数统计信息、体系比例信息与安全组策略文件等信息。
涵盖了虚拟网络信息统计、外网 IP 信息统计及虚拟路由器等网络资源的统计信息。
包罗了对于用户名称、邮箱、密码、用户的角色信息、形貌、每个用户对于资源利用的配额比例以及对于用户角色的权限修改添加的操作信息以及对于每页可显示虚拟条目数量的页数信息等信息。
可以对全部的计算资源和网络资源举行维护和管理,查询每个硬件节点的资源利用情况举行信息汇总与统计并且显示整个可用域内可以举行利用的物理主机数量,对于不同用户角色举行不同可用域的分别,对于每个域的利用举行了详细的统计与显示。
通过资源配额设置可以设定用户组,并且针对此用户组中的不同用户角色对其可以利用的虚拟内核个数、云主机数量、云硬盘大小、云硬盘数量、云硬盘快照个数、卷大小、可用内存大小、安全组规则个数、外网 IP 可利用个数、虚拟网络个数、可利用的虚拟路由器个数、可利用的子网个数等资源信息举行额度选择,从而控制每个用户角色对于平台资源利用的限制性权限。
2.2 镜像管理
可以对全部镜像资源举行创建、查看、更新镜像等操作,并且针对于自有镜像举行上传服务同时对于每个用户角色的镜像名称、容量、状态、格式等信息举行统计与显示、并可根据相应镜像创建云主机等动作信息汇总、方便云主机对于镜像方面的需求。
支持对已存在的云主机举行快照转镜像功能,减少镜像与云主机部署时间,提升部署效率。
2.3 云主机服务
可对云主机举行创建与管理,功能如下:
创建云主机:指定主机模版、配置、网络、主机名、密码后创建虚拟机等信息。
云主机详情:显示云主机 ID 、名称、状态、网络、配置等基本信息。
云主机性能监控:监控处理器和内存的资源利用率等信息。
云主机网卡举行实时热添加。
云主机远程访问:提供 Remote Console ,用户从界面直接登陆主机举行操作。
云主机安全访问:SSH 提供给用户快捷安全的登陆方式。
增加/减少主机磁盘:通过挂载和删除云硬盘的操作调整云主机的硬盘。
远程控制主机状态:远程关闭、重启、挂起、开启等操作。
修改主机信息:可以删除云主机,修改云主机名称等信息。
2.4 块存储服务
分布式存储技术将离散的存储资源举行抽象管理,按需为用户或云主机提供长期块存储服务;云存储具有独立的生命周期,基于网络举行分布式访问,为用户提供大并发数据访问、海量数据存储、高可靠和可扩展的弹性存储空间。针对不同的 I/O 性能要求,云平台可以通过设置 QOS 提供不同档次的存储资源给用户选择。
2.5 快照服务
云计算平台支持云主机的全量快照,用户及其管理员可以在平台中对相关云主机举行快照。
云平台 Snapshot ,其工作原理是对云主机的镜像文件(体系盘)举行全量备份,生成一个范例为快照的 image ,然后将其生存到分布式存储 Glance pool 存储池中。
2.6 弹性服务
由于业务在不同时段会出现不同业务压力的形式,云平台为了保证业务能够在业务高峰期对于相应服务与业务功能可以正常运行,减少运维职员的工作难度,推出弹性伸缩的功能,在业务高峰期间,针对不同云主机的压力参数,通过智能的监控平台,对高消耗的云主机举行主动弹性扩容,当业务压力减小时,主动举行相应资源接纳,使得运维相比传统的方式更为简洁,平台利用方面更为便捷与安全。
弹性策略可为用户提供资源和服务,用户可以根据体系参数设置,随时增加和缩减 IT 底子设施资源规模,实时满足业务发展的需要,节约本钱。
用户可以根据 CPU 平均负载举行阈值设置,当集群平均负载达到阈值时会根据规则举行资源弹性分配。
弹性分配分为弹性扩展和弹性紧缩。当集群 CPU 平均负载大于用户设置的扩展阈值时,体系举行资源的弹性扩展;当集群 CPU 平均负载小于用户设置的紧缩阈值时,会根据规则举行资源弹性紧缩。
2.7 监控功能
运维监控支持对体系整体的运行保障,包罗对物理服务器、云主机、存储、网络资源等利用情况的统一监控。云平台提供监控管理功能,为运维职员提供监控管理的界面;
对运维职员来说,运维监控应包含整个平台内资源的运行情况与性能,以及非常变乱的监控与告警;
对用户来说,应提供对整个体系所申请资源的监控和管理;
对用户来说,应提供对服务实例的查询和操作界面,可以监控自己的实例的运行情况和性能指标。
以曲线图的形式显现云主机的 CPU 、内存、硬盘、网卡资源实时利用情况等信息,并且针对不同监控周期显示不同监控内容,方便管理员对现有物理主机资源举行利用与维护
CPU :可选择显现物理主机 CPU 利用率或 CPU 负载的实时监控信息曲线图
内存:显现物理主机当前内存利用率统计监控信息曲线图
硬盘:可显现当前物理主机所有硬盘利用率 , 硬盘读写速率或硬盘 iops 监控信息曲线图
网络流量:显现当前物理主机所有网卡上行流量和下行流量监控信息曲线图。
以曲线图的形式显现物理主机的 CPU 、内存、硬盘、网卡资源汗青利用情况等信息。
CPU :可选择显现物理主机 CPU 利用率或 CPU 负载的汗青监控信息曲线图
内存:显现物理主机内存利用率汗青统计监控信息曲线图
硬盘:可选择显现物理主机所有硬盘利用率 , 硬盘读写速率或硬盘 iops 监控信息曲线图
网络流量:显现物理主机所有网卡上行流量和下行流量监控信息曲线图
以曲线图的形式显现云主机的 CPU 、内存、硬盘、网卡资源实时利用情况等信息。针对于不同时期不同选项,利用不同的处理方式显现平台所有虚拟主机的监控信息并举行汇总。
CPU :可选择显现云主机 CPU 利用率的当前监控信息曲线图
内存:显现云主机内存利用率当前统计监控信息曲线图
硬盘:可选择显现云主机所有硬盘利用率 , 硬盘读写速率或硬盘 iops 监控信息曲线图
网络流量:显现云主机所有网卡上行流量和下行流量监控信息曲线图。
以曲线图的形式显现云主机的 CPU 、内存、硬盘、网卡资源汗青利用情况等信息。
CPU :可选择显现云主机 CPU 利用率的汗青监控信息曲线图
内存:显现物理主机内存利用率云主机统计监控信息曲线图
硬盘:可选择显现云主机所有硬盘利用率 , 硬盘读写速率或硬盘 iops 监控信息曲线图
网络流量:显现云主机所有网卡上行流量和下行流量汗青监控信息曲线图
2.8 迁徙服务
云平台支持在线举行热迁徙及其冷迁徙操作,手动大概主动举行云主机迁徙操作,基于模板 VM 主动迁徙,主动感知各个节点状态,通过资源计算调度,可以主动迁徙到资源空余的节点,实现整个云平台的资源平衡。
2.9 网络服务
云平台的网络接纳 SDN 的方式,将网络控制和硬件数据转发部分解耦,满足快速创建网络,敏捷,可编程及精致化安全管理的需求,详细功能如下:
私有网络 (Subnet)-VLAN :扩大 2 层网络范围,多业务完全隔离。
网络地址转换 (NAT) :SNAT 与 DNAT 的方式,节省公网 IP 地址,确保内部服务安全
弹性 IP 池:根据不同需要,申请不同 IP 属性地址,资源灵活申请与开释
虚拟路由:根据不同业务需要,分别不同网段,灵活实现内部与外部网络通讯。
2.10 访问与安全服务
通过设定安全组相关策略,实现云主机的安全隔离,创建安全策略,包含了端口、地址范例、 IP 协议范例、端口范围及远程连接方式等参数举行设定,规定云主机的安全策略方式,保证云主机的安全性。
3 监控诉警
IAAS 层监控诉警方案包含以下内容:
- 物理硬件运行状态
- Openstack 组件服务状态
通过统一运维平台针对云平台 IAAS 的监控需求,可以实时监控物理节点运行状态、 OpenStack 服务状态和资源利用情况,同时也提供了实时的可视化监控指标展示。
主动化运维平台的监控范围包罗:
- 物理主机节点,包罗 CPU 、内存、网络流量等
- Openstack 服务,包罗服务状态、 Ceph 集群、控制器服务集群、 Rabbitmq 集群、 Mysql 集群等。
云应用层的监控诉警方案包含了以下内容:
- 虚拟机运行状态监控
- 云应用状态监控
- 虚拟机资源监控
监控软件支持丰富的用户自定义告警触发规则。并且支持多种报警方式包罗邮件、微信等。
4 主动化应用部署
运用模板规范化部署相关应用,如:Apache 、 web 应用服务、 Mysql 、云资源管理平台(云控制器、计算资源虚拟化、存储虚拟化、网络虚拟化)等。实现快速的、批量的部署。
- 主动化手动任务:手工流程的主动化减少了部署工作量。
- 减少脚本撰写和维护工作量:利用再构建集合而非撰写自己的脚本和工具有助于加快部署。
- 错误防备:手动流程是极易出错的。无论是生产中还是生产前都可以看到收益。
- 审计与可见性:能够更好地记载哪里发生了什么情况,收缩了缺陷类选的时间,可以更加顺利地开展审计工作。
- 减少发布工程师的工作时间:生产力提高,错误更少,几乎不用返工。
5 体系分发
操作体系分发,为裸机安装操作体系,初始化体系配置。支持并不限于 CentOS 、 Redhat 、 Debian 、 Ubuntu 等操作体系,操作体系分发特性如下:
- 无需在被管控主机上安装任何客户端;
- 手工流程的主动化减少了部署工作量;
- 批量快速部署;
- 批量任务执行安装操作体系;
- 无须进入服务器端,直接点击 web 页面举行安装。
觉得本文有用,请转发或点击“在看”,让更多同行看
资料/文章保举:
- 企业入云全景解读:从上云的难点、方向、策略、架构到实践步调
- 企业私有云建设需要掌握的 11 个基本知识
- 企业私有云架构的安全设计和安全运营
接待关注社区 “云计算”技术主题 ,将会不断更新优质资料、文章。地址:
http://www.talkwithtrend.com/Topic/77
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用市肆搜刮“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |