从2003年上线的第一代个人文件存储系统Portal,到2012年的jCube,再到最近上线的jBox,校园云存储在用户需求变化中不断进化……
个人云存储是受师生欢迎的服务,然而,高校个人数据文件的管理存在许多痛点,例如,文件安全性低、误操作、硬件故障等引起文件丢失;文件共享麻烦,仍然依赖于传统的FTP、Windows等方式;随着移动技术发展,教师及学生对移动办公、学习的需求越来越强烈,却无法基于文件展开讨论和任务安排;日常办公文件无法自动备份与同步;版本控制缺失导致教学文件版本的不可追溯;学校、教师、学生个人之间缺乏快速高效的交互平台;教学资源难以得到有效的利用,资源共享和查找资料起来十分费力。
学校、教师、学生之间如何建立一个高效的平台,使得教学资源能够得到更好的利用,查找起来更容易呢?看起来是一个很简单的个人云存储的需求。然而,仔细一分析,并不简单。
它需要考虑多方面的需求。首先,它具有互联网属性,所以体验是很重要的,例如访问速度快、有多客户端、多移动终端的支持,版本能快速迭代,一般一个学期可能发布一个版本。此外,还包括外链分享。
从用户要求来看,需求是文件预览、全文检索、版本管理、容量超大、应用集成。但是从管理角度来讲,安全性的要求可能更加值得关注。在部署云盘的时候,希望在内部做部署,统一身份绑定,然后进行权限管理,不同的人有不同的权限,传输过程中加密。当然最重要的还是内容监管。
从运维建设来讲,更希望不依赖开放性的要求。第一,不要依赖于底层存储技术。第二,有更多的开放API接口。现在所谓的云和以前不太一样,更多是在营造一个生态。所以我把它定位成既不是一个企业应用,也不是一个互联网应用,它是一个总互联网的应用。
上海交大使用的个人云存储发展历程,如图1所示。下文将按照不同使用阶段的存储系统进行详细的介绍。
Portal近年使用容量增长缓慢
Portal是第一代个人文件存储系统,从2003年上线运行至今。当时的用户容量是教师20G、学生2G,不过,20G也是逐步扩展的。体验其实非常差,只支持FTP、FTPS和SFTP等等,需要FTP客户端,用户使用体验不佳,权限设置和文件分享功能极弱。近三年来使用容量增长缓慢,然而,仍然还是有一些忠实的用户一直在用,为什么呢?因为老师们的课件,一直存这里十多年,即用户习惯的原因。
Portal演进的三个阶段,如图2所示。Portal现在的系统架构,通过Proftpd提供FTP、FTPS和SFTP,安装GlusterFSClient加载GlusterFS集群文件系统,基于用户名的hash将Homedir均匀分配到1万个子目录下。集群存储使用了GlusterServer3.7,4个节点都符合,并支持多副本。可用容量40Tb,可按需要动态扩容,实际只使用了9.6Tb。虽然使用不多,但是确实还在不断地使用。
jCube存储空间使用不平衡
jCube系统于2011年10月部署,2012年3月正式上线。当时的用户容量为教师20GB、学生10GB。但是实际是可以有一些超出的容量。提供的Web、Windows、Android客户端,后台有8台存储服务器,裸容量154TB,已使用43.6%,物理文件数1259万,现在上海交大1/3的师生在用这一服务。如图3。但是,活跃用户数的确也在下降,如图4。
关于jCube系统架构,它的前端是Web,加上一个调度系统,以及存储服务器。它的前后端紧密耦合,用户直接访问存储节点。用Token验证身份,能和统一身份打通。同时,它是100%PHP实现。
我们为什么要做新一代的个人云存储?因为jCube存储存在两个问题。第一,副本检查效率低。循环扫描所有Hash、检查副本完整性,每个循环耗时很长,造成新上传文件需很长时间才能复制满3个副本。怎么去优化呢?需要新增独立的任务,直接从数据库中找到副本数少于3个的Hash,生成拷贝命令,从副本循环检查中剥离。
第二,存储空间使用不均衡。文件不分片以后,故障磁盘替换(清空)等因素造成长期的一些累积,造成几台服务器空间使用率严重不均衡。优化的过程中,我们上传、副本拷贝时优先选择空间使用率最低的节点,以此取代之前完全随机的策略。其中,会有人工介入的算法,从空间较满的服务器上强制删除一部分副本数为3的文件。
jBox 6月上线
校园云的关键问题是存储,用分布式的存储,尤其是开源分布式存储。但是,企业级分布式存储的新需求,或者,校园的需求在哪里?目前存储的三个需求如下:
第一,存结构化数据,面临的是对大幅度容量增长的需求,包括对载体标准化的需求,对计算与存储融合的需求。
第二,存非结构化数据,面临的是对海量级容量增长的需求,包括对接口自适应的需求和对新业务的存储需求。
第三,对高性能的需求,即IOPS和Bandwidth的需求。
存储的选择,需要考虑所谓分布式存储的基本思想。1.是大文件被切割成多个小数据块,分布在多台存储节点上,使得存储和服务的负载均衡和可扩展。2.使用多副本提高数据持久性,需要注意定期检查数据完整性。3.元数据管理方面,是选择集中管理,还是分布式管理,还是无服务器管理,例如GlusterFS。
后来,我们从存储服务与访问接口、基本功能、高级功能、部署监控及扩展等多方面综合比较,选择Ceph作为后端存储。
对于应用层的选择主要考虑7类、87项技术指标。从系统指标来看,得考虑厂商实力、部署运维能力、数据的安全性;从管理功能来看,得考虑后台管理和监控、账户权限、用户操作审计;从Web端来看,得考虑Web用户界面的功能、用户使用体验;从协作和分享来看,得考虑协作、外链及权限控制;从桌面客户端来看,得考虑Windows/Mac端的功能、同步技术和体验;从移动客户端来看,得考虑Android/iOS端的功能、文档分享和体验;从定制开发来看,得考虑厂商定制开发能力及承诺,包括界面、单点登录、Ceph集成等等。
基于以上的考虑,上海交大云盘主要体现为安全、协作的特点。作为新一代校园云存储,jBox正在测试中,欢迎兄弟院校测试使用。云盘能为教师提供100GB、为学生提供20GB的免费空间,6月初正式上线。(责编:陶春)
(本文根据金耀辉在“2017年高等教育信息化创新论坛”上的演讲内容整理,作者为黄保青、章思宇、罗萱、金耀辉)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。