1)项目建设目标云网盘管理系统可以实现资料、历史方案、素材、档案等企业文档资料的安全存储、备份和查询,同时可为员工提供一个方便、快捷的文件共享及查询工具。系统上线后不但可以减少文件传输、整理、查找等工作消耗的时间,也可以实现资源的有效互通,让各种资料和素材得以充分利用,并且,通过APP或微信等移动设备摆脱时间和空间的限制,实现出差人员异地协作和移动办公,最终实现存、查、看、传一站解决。2)项目建设原则企业云网盘的建设应遵循先进,经济,安全、可靠,可扩展,易管理和保密的总体原则。先进:要求系统的方案设计、功能融合体现领先的信息技术和先进的管理思想;经济:保证与其它系统之间的互联与互通,同时节约总体投资;安全、可靠:保证数据的安全性,并具有防病毒、防入侵能力;保证平台的持续稳定的运行;可扩展:具有良好的垂直和水平可扩展性,易于维护和扩展升级;易管理:便于管理,操作界面应直观友善;保密:应提供稳定可靠的安全框架管理访问和严格的权限设置,确保系统数据的安全性和完整性。3)项目需求分析a、管理需求权限/角色灵活配置动态添加删除用户用户容量控制用户网络速度保障用户副本灵活配置b、性能需求响应时间IOPS(Input/OutputOperationsPerSecond)指标吞吐量指标c、稳定性24小时无故障服务大数据量情况IOPS指标无明显变动大数据量下吞吐量指标无明显变化系统负载在一定阀值下服务监控系统完善主要是对CPU,内存,网络,IOd、容错高可用在无自然灾害性的真个机房出现故障的情况下24小时服务系统崩溃后可自动恢复服务容灾备份e、可扩展性支持在线横向扩容支持在线纵向扩容节点自动感知f、数据格式支持二进制小文件图片文件视频文件大文件大文件随机读大文件随机写g、分布式存储系统多地分布式部署分布式存储系统是必要的解决方案,主要为两个方面考虑,一是:自动进行冗余备份,二是:提供动态扩容的方便h、大文件存储需求副本数个性设置多用户请求支持随即读支持,支持客户端请求文件内任意位置任意长度的数据断点续传功能校验功能i、需求功能项分解需要多地分布式部署需要灵活的权限管理需要动态可扩展的空间;需要考虑负载和冗余;需要与域环境集成,同步相关人员信息;需要实现企业内部账户管理系统(如AD域)集成;需要支持WEB、客户端的访问方式;需要支持虚拟盘符,Android系统和苹果系统;需要支持离线访问;需要支持断点续传;需要外部访问(如外链方式,但需要考虑连接数的控制。);需要满足权限细分;海量数据存储,有效管理重要数据;高速访问数据、快速共享数据;可对文件分类、分部门存储,可设定不同文件夹的访问权限及文件加密,即保障数据保密性;子账户个人空间:管理员可以设置为每位员工分配独立的云网盘空间;临时空间:每个员工都可以访问到,但所有人都可以上传、下载、删除其中的数据,应用于非重要数据的快速共享和分发;共享空间:由管理员向员工指派访问权限,权限包括预览、上传、下载、上传及下载、全部。可以根据企业业务需要,快速建立和企业组织架构相对应的部门或项目组,以实现团队协作;有效的系统安全机制,保障数据完整性及安全性;对数据全称监控;实时同步数据更新;全局考虑可靠性、系统性能、性价比、数据备份、无缝扩容等方面。4)系统设计方案a、总体设计联想云网盘系统分为对象存储系统和系统服务两大部分,对外提供简单易用的接口,最终用户可以使用Web、windows、mac、iOS、Android客户端来使用服务。对象存储系统(Object-BasedStorageSystem)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。系统服务为客户端提供元数据服务、传输服务、权限管理服务、预览的服务。基于上述系统的体系架构优势,联想云网盘系统逻辑上文件个数和容量不存在上限,可以无限扩展。b、数据可靠性保障为了最大限度的保证数据可靠性,每块数据被冗余复制至少三次,并且物理上分散在不同数据中心。同时元数据实时备份到slave数据库中,保证没有单点,数据可靠性达到99.9999999999%。c、运维监控系统支撑联想云网盘系统的运维监控系统采用业界领先的主被动结合监控策略。对于每台被监控设备,监控系统定时模拟真实用户请求进行服务巡查,发现服务不可用或响应时间过长时自动报警并向管理员发送短信。当被监控设备硬件资源占用异常时,监控agent将自动上报异常情况并通知管理员。为了防止同时跨数据中心检测掩盖接入网络问题,运维监控系统同时跨数据中心进行服务巡查,最大程度模拟普通用户的访问模式。d、权限控制联想云网盘系统采用基于角色的访问控制(Role-BasedAccessControl)权限模型。该模型支持三个著名的安全原则:最小权限原则,责任分离原则和数据抽象原则。(1)最小权限原则之所以被RBAC所支持,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集。(2)责任分离原则可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现,比如要求一个计帐员和财务管理员共参与统一过账。(3)数据抽象可以通过权限的抽象来体现,如财务操作用借款、存款等抽象权限,而不用操作系统提供的典型的读、写、执行权限。RBAC的关注点在于Role和User,Permission的关系。称为Userassignment(UA)和Permissionassignment(PA).关系的左右两边都是Many-to-Many关系。就是user可以有多个role,role可以包括多个user。为了兼顾RBAC权限模型的严谨性和用户进行权限控制的易用性,联想云网盘系统抽取了RBAC的关键概念结合企业用户的典型场景构成了独具特色的权限控制体系。e、安全策略分层的逻辑架构,每层具有相对独立的安全控制体系,可将安全风险控制在本层内:接入层通过https协议和用户密码身份验证保证接入安全;业务层通过容器隔离、会话隔离、进程隔离保证多租户间数据安全;数据层连接需要额外的基于用户名密码验证,且账户体系独立于业务系统,保证数据访问安全;元数据、实际数据块分离的数据架构,单独获取元数据或数据块都无法读取完整数据,且系统支持数据RC4加密,没有密码即使还原完整数据也无法解密。文件数据按照4M分块,每块冗余3份,保存在不同的数据中心,保证数据不会丢失。元数据双机热备,同时定期冷备并进行异地转储,保证元数据完整性。业务上支持高强度用户密码策略,管理员可强制用户使用高安全密码,避免弱密码风险。5)系统运行环境配置要求a、网络架构建议系统模块划分联想云网盘系统主要的部署模块有以下几部分组成。License:该模块负责软件许可管理。Portal:该模块负责状态监控、运维管理。HA:该模块功能包括负载均衡、授权管理、运维管理等。Application:该模块为业务逻辑主体,主要提供元数据接口服务和web客户端服务。DB:该模块提供关系数据库服务和Key-Value缓存服务。Datacenter:该模块提供数据块操作接口服务。Chunk:该模块负责数据块操作的底层读写逻辑。b、部署节点需求宿主机3台服务节点3个存储节点3个IP地址4个(3个实IP、1个虚IP做负载均衡访问入口)高可用性高数据可靠性高用户账号1500平均每人分配空间按需分配副本数2存储量**GB/人×1500人×2副本=**TBc、网络拓扑三节点部署网络拓扑图如下图所示。注:云网盘系统所有模块均可独立部署,且每个模块均可负责均衡至多节点,实现完全高可用架构。节点可横向无缝扩展,节点数量可根据需求进行动态增减,当出现应用访问或存储容量无法满足应用需求的情况下,云网盘系统只需横向增加应用或存储节点即可满足扩展的需求。d、模块部署说明三台部署方案为生产环境标准高可用方案,提供“访问层—业务层—数据层”整体高可用方案,负载均衡、应用服务、数据库均提供多活架构,并提供两副本存储,保证数据可靠性和线上业务连续性。模块部署如下:数据库模块分布式部署在节点1至节点3上,提供联想专属数据库高可用集群能力;应用服务模块部署在节点2和节点3上,提供完全负载均衡的应用访问服务支撑;负载均衡模块部署在节点2和节点3上,利用主从模式实现故障自动切换的HA冗余能力;存储模块部署在所有节点上,提供数据存储服务。此部署集群架构可完全满足高并发量高存储量高可用性的云网盘应用需求。e、数据流向及模块协作关系说明用户对云网盘系统进行业务访问及数据交互请求,数据流程及模块间协作关系如下:首先由HA模块进行资源的负载均衡及分发;应用访问请求交至Application模块处理,Application将操作信息读/写至DB数据库;数据交互请求交至Datacenter模块处理,Datacenter将文件切片,按定义好的存储方式将数据推送至Chunk模块进行数据存储处理。6)软硬件配置建议a、硬件环境要求服务器数量3设备类型双路2U机架式服务器处理器处理器类型IntelXeon处理器型号E5-2609v31.9GHz(四核)处理器数量2处理器缓存15MB内存内存类型ECCRDIMMDDR42133MHz内存数量16GB×2硬盘硬盘类型SATA硬盘尺寸3.5''硬盘转数7200硬盘数量系统盘:1TB×2RAID1RAID控制器Raid710i网络网卡类型AnyFabric千兆以太网络适配器网口数量4光驱DVD视频控制VGA视频口或DP转VGA转换头电源电源类型80+铂金电源数量2额定功率750W风扇5+1热插拔冗余风扇b、软件环境要求操作系统CentOS7操作系统软件包InfrastructureServer+DevelopmentTools+PerformanceTools额外软件包Docker1.2、jdk1.7c、网络环境要求千兆以太网各模块间网络可达开放端口:Portal80、443、10081、10021Datacenter80、10081、10023Application80、10022DB3306、24011、6379、10024Chunk80各宿主机ssh可达ntp服务7)高可用建设方案详解业界领先的高可用解决方案联想云网盘事业部已经提供了近10年安全稳定的线上公有云的互联网式服务,覆盖全国25万家企业客户,服务于全国500强企业中的200多家。同时,在为大型企业提供云网盘产品时,我们充分考虑到了“互联网—企业”的需求及场景调整,在待升级的新版本中,增加了高度适用于中国企业用户内部使用的高可用云网盘部署架构及规格,保证企业数据的可靠性,保证线上业务的连续性。网络拓扑架构联想企业云网盘系统在汇聚层可基于企业用户的设施储备情况,灵活配置汇聚层VRRP负载均衡或者硬件F5的负载均衡方案。如选取VRRP方案,则可提供双活方案,保证汇聚层系统高可用。在交换机层面,系统支持多台交换机冗余的架构,交换机集群链接汇聚层及服务器集群,并在多台交换机内部可支持STP冗余链路设计,保证系统整体网络机构的高可用性。逻辑架构图联想企业云网盘系统在逻辑架构方面实现如下设计:访问层接入外部设备,并通过keepalived监控负载均衡,并提供可视化部署界面业务层设置各应用服务模块集群,用于提供系统前端文件预览、写入、搜索等功能。集群具备可灵活弹性扩展特性。数据层设置数据库集群,保证数据库多主架构,并通过多个数据访问服务模块,连接底层对象存储集群。同时,数据库集群和数据访问服务都具备弹性扩展特性。应用高可用在联想企业云网盘系统结构中,应用模块承载着提供线上应用服务(例如文件下载、预览、检索等)的任务,因此我们为了保证用户线上功能使用不中断,在多台机器中对应各功能模块部署了多个应用服务,并且多个应用服务之间是多主的关系,通过HAProxy负载均衡。也就是说,任意一个应用服务在系统中都不存在单点,即使有一个服务模块出现故障,也不影响线上服务的正常提供。数据库高可