分布式存储概述
研究重点
主要成果
经典文献
系统架构
C/S体系结构 共享存储SAN架构 基于集群的分布式架构 P2P对称式体系结构 其他系统架构
带内 VS 带外 有状态 VS 无状态 专用服务器 VS 无专用服务器
C/S体系结构
NFS是典型的客户-服务器体系结构 远程访问模型,有别于上传/下载模型 通过远程过程调用RPC实现 文件系统模型参考POSIX API实现
YFS pNFS Ivy
Sector
文件系统层次
单处理器单用户本地文件系统 多处理器单用户本地文件系统 多处理器多用户本地文件系统
多处理器多用户分布式文件系统
什么是分布式文件系统?
分布式文件系统(Distributed File System)
存储资源非本地直连,通过网络连接 NFS, AFS,包括集群/并行文件系统
共享语义
语义
UNIX语义 会话语义 不可改变的文件 事务
说明
一个文件上的每个操作对所有进程是 即时可见的 在文件关闭前,所有改动对其他进程 是不可见的 不允许更新文件,简化了共享和复制 所有改动都以原子方式发生
共享锁
锁类型 说明
文件锁 记录锁 无锁
对整个文件文件加锁,大锁简化设计 对一定范围的字节加锁,提高并发性 Lock-free,锁开销影响并行程序扩展 性,避免死锁和性能下降。设计原则: 采用类似事务机制、原子提交、无锁 数据结构
系统扩展性
扩展性需求
规模:元数据管理、存储服务器数、客户端数 地域:LAN、MAN、WAN 性能:容量、IOPS/吞吐量、并发访问数 系统管理:部署、配置、监控、安全、QoS
扩展技术
异步通信:隐藏通信等待时间、提高并发性 分布(Distribution):分而治之 复制/缓存:提高可用性和性能
优点
缺点
典型代表
分布式元数据服务模型
概念
使用多台服务器构成集群协同为分布式文件系统提供 元数据服务 分为全对等和全分布两种模型
解决了性能瓶颈和单点故障问题 提高系统扩展性
优点
缺点
增加系统设计复杂性 引入系统开销和元数据一致性问题
ISILON, LoongStore, PanFS, GPFS, Ceph
关键设计目标
名字空间与名字解析 资源可访问(协议、接口、性能) 透明性(访问、位置、迁移、重定位、复制、并 发、故障) 开放性(标准、接口、互操作性、可移植性) 可扩展性(异步、分布、复制、缓存) 可用性(复制、RAID、纠删码) 一致性(复制、缓存、CAP理论) 安全性(实体认证、访问控制、安全传输、加密)
主要成果
经典文献
面向对象并行文件系统(2000s)
历史背景
高速网络发展 存储系统扩展性需求 突破容量和性能瓶颈 对象存储 并发访问 元数据管理 PVFS, Panasas, Lustre, Ceph, GFS PVFS:Parallel Virtual File System Scalable Performance of the Panasas Parallel File System. Luster file system Ceph: A Scalable, High-Performance le File System
培训提纲
分布式文件系统概念 分布式文件系统发展史 分布式文件系统设计目标
分布式文件系统一览
MooseFS FastDFS FileStore Ceph HDFS GFS2 SFS IBRIX CFS PanaFS ZFS Btrfs PVFS StorNext ISILONAFS OrangeFS OCFS2 Panasas GPFS OneFS NFS CIFS Coda Exanet GFarm GirdFS Castor Lustre TFS S3 DFS dCache HPSS BWFS CZSS MogileFS TerraGrid Glusterfs Loongstor InterMezzo GFS KFS
研究重点
主要成果
经典文献
共享SAN文件系统(1990s)
历史背景
研究重点
存储系统开始独立于计算机 系统快速发展 存储区域网络SAN兴起 解决存储系统的可扩展性 面向SAN的共享文件系统
IBM研制的GPFS(General Parallel File System) 目前由Redhat支持的GFS(Global File System) GPFS: A Shared-Disk File System for Large Computing Clusters.
典型代表
无元数据服务模型
概念
摒弃元数据服务,使用在线算法替代
消除专用元数据服务模型的不足 显著提高系统扩展性、并发性、性能 数据一致性更加复杂 文件目录遍历操作效率低下 缺乏全局监控管理功能 Ivy, Farsite, GlusterFS
优点
缺点
典型代表
数据分布模式
算法分布(Load, RR, Hash)
复制(Replication)
负载优先算法 RoundRobin算法 Hash算法
条带(Stripe)
RAID1镜像、多路复制 RAID0
网络RAID
纠删码(Erasure code)
RAID5、RAID6
阵列纠删码、RS码、LDPC编码
发展简史
大致分为三个发展阶段: 网络文件系统(1980s) 共享SAN文件系统(1990s) 面向对象的并行文件系统(2000s)
网络文件系统(1980s)
历史背景
以太网技术蓬勃发展 实现网络环境下的文件共享 解决client与文件服务器的交互问题 1981年,IBM发布第一款PC机; 1982年,CMU和IBM合作,启动面向PC机资源共享的ITC(Information Technology Center)项目,研制出了著名的网络文件系统AFS; 1983年,Novell发布了网络操作系统Netware;同年,Berkeley发布了支持 TCP/IP的BSD4.2操作系统; At&T推出RFS网络文件系统 [H. Chartock, “RFS in SunOS”, USENIX Conference Proceedings, Summer 1987, 281-290.] 1985年,Sun 发布了NFS文件系统 . The ITC distributed file system: principles and design. Scale and Performance in a Distributed File System Design and Implementation of the Sun Network Filesystem (NFS).
集群文件系统(Cluster File System)
由多个服务器节点组成的DFS ISLION, LoongStore, Lustre, Glusterfs, GFS, HDFS
并行文件系统(Parallel File System)
所有客户端可以同时并发读写同一个文件 支持并行应用(如MPI) GPFS, StorNext, BWFS, GFS, Lustre, Panasas
安全层次
Q&A
系统可用性
可用性
提高可用性方法
系统处于正常功能状态的时间比例 可用性 = MTTF/(MTTF + MTTR)
避错、容错、除错、差错预测 以容错为主,冗余技术实现 复制:镜像RAID1、多路复制 RAID:RAID5、RAID6 纠删码:阵列纠删码、RS码、LDPC编码
可用性技术
元数据服务模型
元数据服务功能
提供名字空间 记录数据逻辑名字与物理信息的映射关系 记录文件属性和访问控制信息 集中式元数据服务模型 分布式元数据服务模型 无元数据服务模型
三种主流模型
集中式元数据服务模型
概念
由单一中央元数据服务器负责元数据服务 设计实现简单,复杂性低 容易兼容整合遗留系统 性能瓶颈 单点故障问题 StorNext, BWFS, Lustre, PVFS
CAP/BASE理论
CAP原理与一致性
NoSQL系统中的CAP理论
安全性
安全性三要素CIA
安全机制
机密性(Confidentiality) 完整性(Integrity) 可用性(Availability)
加密:实现机密性和完整性,DES、RSA 身份认证:检验实体所声明的身份 授权:授予实体执行所请求操作的权限 审计:追踪实体的访问内容和访问行为 冗余:提供可用性 安全通道:身份认证、消息的完整性和机密性 访问控制:访问授权、防火墙 安全管理:密钥管理、授权管理