993d87372609674ba24e5ab7126e4298.ppt
- Количество слайдов: 53
第十八届全国科学计算与信息化会议 EB级存储系统EOS介 绍与操作 中科院高能物理研究所计算中心 李海波 2016. 7. 3 威海
提纲 (一)EOS系统概述 (二)EOS 作原理剖析 (三)EOS安装与搭建 (四)EOS使用 2018/3/18 第十八届全国科学计算与信息化会议 2
(一)EOS系统概述 2018/3/18 第十八届全国科学计算与信息化会议 3
EOS是什么? • EOS是由CERN于2010年提出的面向EB级数据存储 的分布式文件系统。 • 设计目标 • 物理分析需要轻量级磁盘存储 具 • 将磁盘和磁带(冷文件和热文件)分离管理 • 目前已成为CERN主要的实验数据存储系统 2018/3/18 第十八届全国科学计算与信息化会议 4
EOS at CERN 2018/3/18 第十八届全国科学计算与信息化会议 5
EOS at CERN • 6 instances: • LHCb: ATLAS, ALICE, CMS and LHCb • PUBLIC • USER • 物理数据存储 • 用户数据存储 • ~1200 存储节点 • CERNBox use-case • ~4万磁盘 • 主要存储小文件 • ~150 PB raw capacity • 使用HTTP/FUSE方式访问 • 主要是大文件 • 延时敏感 • 使用XRoot. D访问 • 延时不敏感 2018/3/18 第十八届全国科学计算与信息化会议 6
EOS发布版本 BERYLL v. 0. 3. 0 – 0. 3. 177 AMBER v. 0. 2. 0 - 0. 2. 47 Summer 2012 – Winner 2013 2018/3/18 Summer 2013 – Summer 2016 第十八届全国科学计算与信息化会议 CITRINE v. 4. 0. 0 –. . . Summer 2016 -. . . 7
EOS at IHEP • 实例1:面向计算服务 • • 2018/3/18 文件数: 1700万 目录数: 40万 已使用空间: 180 TB 总空间: 797 TB 基于Beryl v 0. 3. 195版本 服务器数量: 5台 客户端并发:~500 • 实例2:面向IHEPBox • • • 第十八届全国科学计算与信息化会议 文件数: 4万 目录数: 4594 已使用空间: 16. 54 TB 总空间: 159 TB 服务器数量: 4台 8
(二)EOS 作原理剖析 2018/3/18 第十八届全国科学计算与信息化会议 9
EOS体系架构 • EOS由管理服务(MGM)、消息队列(MQ)和文件 存储服务(FST)组成,这三部分都是基于Xroot. D 框架实现 • MGM: 认证、授权、数据调度、元数据 管理、存储管理 • MQ: 消息代理 • FST: 文件存储、文件传输 • 元数据访问和文件访问分离 • 文件访问延迟小: • 元数据保存在内存中 • 使用WAL(write ahead logging)技术, 元数据写入磁盘的change-log中 2018/3/18 第十八届全国科学计算与信息化会议 10
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 11
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 12
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 13
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 14
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 15
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 16
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 17
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 18
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 19
EOS 作流程 2018/3/18 第十八届全国科学计算与信息化会议 20
EOS数据纠正-RAIN • EOS使用廉价冗余节点阵列RAIN实现数据错误修复 • RAIN主要应用于云存储中,如Amazon S 3, Microsoft Azure • 主要优势 • 扩展性 • 可靠性 • 廉价 • JBOD磁盘,无需RAID控制器 • 缺点 • 所有通信都经过网络传输 • 增加了非连续写入和服务器耗尽的IO和计算 作量 2018/3/18 第十八届全国科学计算与信息化会议 21
从RAID到RAIN Node A Node B Node C Node D Node E node failure = data lose RAID RAIN node failure = data still availabe 2018/3/18 第十八届全国科学计算与信息化会议 22
Erasure Code纠删码技术 • Erasure Code是一种编码技术,它可以将n份原始数据,增加m份数 据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有 任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。 • 阵列纠删码(Array Code: RAID 5、RAID 6等),RAID 5只支持一个盘失效,RAID 6 支持2个盘失效 • RS(Reed-Solomon)里德-所罗门类纠删码,可支持多个盘失效 • LDPC(Low. Density Parity Check Code)低密度奇偶校验纠删码,用于通信、音视频 领域 • Jerasure库提供Reed-Solomon和Cauchy Reed-Solomon两种编码算法 的实现 • 只有计算奇偶校验条带或重建数据条带的错误时才需要进行计算 2018/3/18 第十八届全国科学计算与信息化会议 23
EOS中RAIN支持性 • RAIN per file – 每个文件都有单独的条带化布局 • 文件在一个组内被条带化:M+K nodes • EOS 支持 • Replica:M replica of files (1 <= M<= 16) • RAID-DP: 4+2 Dual Parity Layout • RAID 6:M+2 RAIN 6 Reed Solomon Layout • Archive:M+3 RAIN 6 Reed Solomon Layout 2018/3/18 第十八届全国科学计算与信息化会议 24
EOS系统核心特性 • 元数据存储于内存设备,访问延迟低 • 提供类POSIX文件访问 • XRoot. D,grid. FTP,FUSE • 强认证模式 • strong (Kerberos 5, X 509) external clients • shared secret (sss) internal clients • Quota管理 • 支持用户/组配额 • 支持存储节点内文件系统间负载均衡及调度组内节点间负载均衡,提高系 统吞吐率及文件访问效率 • GEO基于位置的数据调度 2018/3/18 第十八届全国科学计算与信息化会议 25
LRU及负载均衡技术 • EOS支持文件从一种文件布局转为另一种 • 比如讲文件从Replica-2转为Archive(6, 3) • LRU策略引擎 • 规则 • 比如删除超过1个星期的空目录 • 转换 • 比如将超过6个月的文件转成archive • 优势 • 节约成本 • Replica-2 占 100%的空间开销,而Archive(6, 3)只有50% • 如果使用Replica-2,10 PB的数据需要20 PB空间 • 如果使用Archive(6, 3),10 PB的数据需要15 PB空间,节约 25%的成本 2018/3/18 第十八届全国科学计算与信息化会议 26
EOS与其他分布式文件系统的比较 EOS Ceph. FS Gluster. FS Lustre. FS 存储硬件 JBOD 专业磁盘阵列/JBOD 专业磁盘阵列 Metadata Server 双MDS互相备份,内存存放 元数据,不存在单点故障, 存在瓶颈 有多个MDS,不存在单 点故障和瓶颈 无MDS,动态算法替代, 双MDS互相备份,不可 不存在单点故障 扩展,存在瓶颈 冗余保护/副本 支持Replica、Archive、RAID 6 等多副本 N+M 镜像 无 数据可靠性 多副本提供可靠性 镜像提供可靠性 由存储节点上的RAID 1 或RAID 5/6提供可靠性 故障恢复 支持主备模式,数据多副本, 节点失效自动迁移数据、 系统自动处理故障 自动恢复 重新复制副本 无 扩展性 元数据服务器不可扩展、存 储节点可扩展 元数据服务器、存储节 点可扩展 存储节点可扩展,元 数据服务器不可扩展 应用场景案例 海量数据分析 CERN大规模使用 云计算环境中的块存储 多媒体应用、互联网 超级计算应用 2018/3/18 第十八届全国科学计算与信息化会议 27
EOS面临的挑战 • FUSE访问性能问题 ⇒重写EOS FUSE • 元数据纵向扩展(scale up) ⇒ 横向扩展(Scale out) • 解决方案:EOS Citrine 版本 • 优化元数据存储方式为内存数据库KV持久化存储(Quark. DB) • 提供新的元数据服务器HA • 使用XRoot. D 4 • 优化FUSE • CERN将于2017 Q 2上线 2018/3/18 第十八届全国科学计算与信息化会议 28
元数据存储优化 • 使用Redis,后端实现XRoot. D协议插件,使用 Rocks. DB作为key-value持久存储 Quark. DB 2018/3/18 第十八届全国科学计算与信息化会议 29
Namespace HA • 使用Raft一致性算法实现高可用 2018/3/18 第十八届全国科学计算与信息化会议 30
小结 • EOS是CERN当前最大的磁盘存储系统 • 基于XRoot. D框架,可提供XRoot. D, Fuse等多种访问方式 • 采用强认证模式(kerberos & certificate authentication), 数据安全性高 • EOS具有十分完备的文件管理功能,包括多副本、主备 切换、纠删码、负载均衡等 • EOS已经越来越多的被应用到高能物理计算环境中,具 有很好的发展前景 • EOS在不断演进,Citrine版本值得期待 2018/3/18 第十八届全国科学计算与信息化会议 31
相关文档及网站 • Peters A J, Janyst L. Exabyte scale storage at CERN[C]//Journal of Physics: Conference Series. IOP Publishing, 2011, 331(5): 052015. • "EOS as present and future solution for data storage at CERN", Andreas J. Peters, Elvin A. Sindrilaru, Geoffray Adde 2015 • http: //eos. cern. ch • http: //xrootd. org • https: //github. com/cern-eos/eos • https: //raft. github. io/raft. pdf • https: //gitlab. cern. ch/eos/quarkdb • https: //indico. cern. ch/event/591485/ 2018/3/18 第十八届全国科学计算与信息化会议 32
(三)系统安装与配置 2018/3/18 第十八届全国科学计算与信息化会议 33
安装 • 软件要求: • XRoot. D版本要求 • Citrine版本要求XRoot. D 4以上 • Repo文件设置 #cat /etc/yum. repo. d/eos. repo [eos-aquamarine] name=EOS 0. 3 Version baseurl=https: //dss-ci-repo. web. cern. ch/dss-ci-repo/eos/aquamarine/tag/el 7/x 86_64/ gpgcheck=0 enabled=1 2018/3/18 第十八届全国科学计算与信息化会议 34
安装方式 • 源码安装 • YUM方式安装 2018/3/18 第十八届全国科学计算与信息化会议 35
服务器端安装 • Server • yum install eos-server eos-client eos-testkeytab eos-fuse jemalloc libmicrohttpd-devel 2018/3/18 第十八届全国科学计算与信息化会议 36
配置 • 一个服务器上安装全部功能 • MGM (namespace) • FST (storage node) • MQ (message broker) • 一个服务器部署MGM,多个节点充当存储节点 • MGM (namespace) • FST (storage node) • MQ (message broker) 2018/3/18 第十八届全国科学计算与信息化会议 37
MGM配置 • 以一个服务器上配置全部功能为例 • vi /etc/sysconfig/eos • XRD_ROLES="mq sync mgm fed global-mq fst" • export EOS_BROKER_URL=root: //pvm 043. ihep. ac. cn: 1097//eos/ • export EOS_MGM_MASTER 1=pvm 043. ihep. ac. cn • export EOS_MGM_ALIAS=pvm 043. v. ihep. ac. cn • vi /etc/xrd. cf. mgm • # Example disable krb 5 and gsi • #sec. protocol krb 5 • #sec. protocol gsi • sec. protbind * only sss unix 2018/3/18 第十八届全国科学计算与信息化会议 38
FST配置 • vi /etc/sysconfig/eos • export EOS_BROKER_URL=root: // pvm 043. ihep. ac. cn: 1097//eos/ • export EOS_MGM_MASTER 1=pvm 043. ihep. ac. cn • export EOS_MGM_MASTER 2=pvm 043. ihep. ac. cn • export EOS_MGM_ALIAS=pvm 043. ihep. ac. cn • 添加磁盘 • EOS Console [root: //localhost] |/ > node set pvm 043. ihep. ac. cn on • EOS Console [root: //localhost] |/ /> fs add -m 1 ece 3 cb 34 -1946 -4334 -a 7 f 7 e 7 cd 7 c 3 d 3 daf pvm 043. ihep. ac. cn: 1095 /data/edata 01 • EOS Console [root: //localhost] |/> vid enable sss • EOS Console [root: //localhost] |/> vid enable unix 2018/3/18 第十八届全国科学计算与信息化会议 39
FST配置 • FUSE设置 • vid set map -tident "*@pvm 043" vuid: 0 • vid set map -tident "*@pvm 043" vgid: 0 • 访问控制 • vid add gateway vm* unix #设置哪些节点可以有权限读写EOS • 必须启动sss认证,否则下一步无法启动 • EOS Console [root: //localhost] |/> fs boot 1 • EOS Console [root: //localhost] |/ > fs config 1 configstatus=rw • EOS Console [root: //localhost] |/> group set default on 2018/3/18 第十八届全国科学计算与信息化会议 40
服务器端启动服务 • service eos start • 查询服务 • service eos status • 停止服务 • service eos stop 2018/3/18 第十八届全国科学计算与信息化会议 41
防火墙端口 • Make the firewall settings persistent: • 1094: XRoot. D MGM port (only on MGMs) • 1095: XRoot. D FST port (only on FSTs) • 1096: XRoot. D SYNC port (only on MGMs) • 1097: XRoot. D MQ port (only on MGMs) • 443: https X 509 port (only on HTTPS gateways or MGM) • 8443: https KRB 5 port (only on HTTPS gateways or MGM) • 8000: http port (only on MGMs) 2018/3/18 第十八届全国科学计算与信息化会议 42
客户端安装 • 登录vlogin节点,以root身份进入test虚拟机 • 执行安装脚本 • sh /local/eos_client. sh • cat /local/eos_client. sh • yum -y install jemalloc xrootd* eos-client eos-fuse 2018/3/18 第十八届全国科学计算与信息化会议 43
客户端配置 • 配置文件:/etc/sysconfig/eos • export EOS_FUSE_MGM_ALIAS=pvm 043. ihep. ac. cn • export EOS_FUSE_MOUNTDIR=/eos/ • export EOS_FUSE_REMOTEDIR=/eos/ • 设置环境变量 • 参见/etc/profile • export EOS_MGM_URL="root: //pvm 043. ihep. ac. cn” 2018/3/18 第十八届全国科学计算与信息化会议 44
客户端配置 • 启动服务 • service eosd start • 查看服务状态 • service eosd status • 查看挂载 • df -h /eos • Filesystem • eosmain 2018/3/18 Size Used Avail Use% Mounted on 174 G 27 G 147 G 16% /eos 第十八届全国科学计算与信息化会议 45
EOS命令 • 保持root身份 • 查看eos空间:eos -b space ls • 查看组情况:eos -b group ls • 查看节点情况:eos -b node ls • 查看文件系统情况:eos -b fs ls 2018/3/18 第十八届全国科学计算与信息化会议 46
安装配置文档 • EOS Manual • https: //eos. readthedocs. org/en/latest/configuration. html • EOS Webpage http: //eos. cern. ch • EOS External User List & Bugs • Get informed about releases, ask question to the community • Subscribe via e-groups. cern. ch : eos-operation-external@cern. ch • Bugs: https: //savannah. cern. ch/projects/eos/ 2018/3/18 第十八届全国科学计算与信息化会议 47
(四)EOS使用 2018/3/18 第十八届全国科学计算与信息化会议 48
EOS客户端使用 • FUSE方式访问 • ROOT方式访问EOS文件 • EOS quota查询 2018/3/18 第十八届全国科学计算与信息化会议 49
FUSE方式访问 • 切换成weih[01 -80]用户 • su - weihxx • 查看 • ls /eos • 像使用本地文件系统一样访问 • cd /eos/user/weih[01 -80] • ls • touch file…. 2018/3/18 第十八届全国科学计算与信息化会议 50
ROOT访问EOS文件 • 用ROOT直接打开EOS上的root文件 • root -l root: //pvm 043. ihep. ac. cn//eos/tmp/tree 1. root • root[1]. ls 查看文件信息,发现TTree t 1 • root[2]t 1 ->Show(0) • 显示第 0个event的信息 • root[3]t 1 ->Get. Entries() 总事例数 • root[4]t 1 ->Scan() • root[5]t 1 ->Print() 2018/3/18 第十八届全国科学计算与信息化会议 51
EOS quota查询 • 使用eos quota命令,可以显示当前已使用空间、 可用空间、可用文件数等信息 2018/3/18 第十八届全国科学计算与信息化会议 52
谢谢! 2018/3/18 第十八届全国科学计算与信息化会议 53
993d87372609674ba24e5ab7126e4298.ppt