第 5章 分布式文件管理东北大学信息学院于 戈
2002年 7月
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
2
主要内容
5.1 文件模型
5.2 分布式文件服务
5.3 分布式目录服务
5.4 分布式文件系统的实现
5.5 习题
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
3
5.1 文件模型
文件:信息在磁盘或其它持久介质上的存储单位
文件名:文件的标识,由字串组成( 8-255)
文件属性:描述信息,如大小、创建时间、
授权
目录:保存文件系统的结构
路径:目录树上的一段路经
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
4
文件结构
1、二进制序列; 2、记录序列; 3、树
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
5
文件类型举例
1、可执行文件
2、归档文件
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
6
典型的文件扩展名
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
7
文件的属性
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
8
文件基本操作
1,Create
2,Delete
3,Open
4,Close
5,Read
6,Write
7,Append
8,Seek
9,Get attributes
10.Set Attributes
11.Rename
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
9
文件操作举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
10
文件操作举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
11
5.2 分布式文件服务
文件服务:文件系统为客户提供的功能,
如读、写
文件服务器:实现文件服务的进程
文件的保护:
– 权能:用户对文件的访问权限
– 存取控制表:每个文件上可访问它的用户列表如,UNIX的 mode,Windows的属性
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
12
远程文件服务
– 上载 /下载模式
c
2.在客户端进行访问客户机服务器 老文件新文件
1.文件移动到客户端
3.当客户端工作完毕后,文件又移回服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
13
远程文件服务
远程访问模型服务器客户机客户请求访问远程服务器上的文件文件保存在服务器上
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
14
5.3 分布式目录服务
目录服务
– 创建、删除
– 命名,重命名文件
– 移动文件
分层文件系统
– 子目录,目录树
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
15
目录图目录的维护:
引用计数,指向该目录的连接数
仅当目录为空时或 引用计数 >1时,
才能删除指向该目录的连接。
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
16
文件服务器方式
相同系统
不同系统
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
17
命名透明性
位置透明性:文件路径名与存储位置无关
– 例,/server/dir1/dir2/x
位置独立性:文件可移动到其它场地,而无需改变名字
– /server1/dir1/dir2/x变为 /server2/dir1/dir2/x
分布式系统中文件和目录的命名方法:
– 机器名 +路径名,如 /machine/path
– 将远地文件安装到本地目录中
– 全局统一的命名空间
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
18
两级命名法
符号名字:外部名字,供用户使用
二进制名字:内部名字,供系统使用
名字映射:由目录完成
符号链接:一个路径名,映射到(服务器,
文件名)字串上的目录项
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
19
文件共享的语义
UNIX语义
会话语义
a b
a b c
A
B
单处理器
1.写,c” 初始文件
2.读出,abc”
( a)
a b
a b c
A
a b
a bB
客户 1
2.写
“c”
1.读,ab”
文件服务器
3.读出,ab”客户 2
( b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
20
共享文件的处理方式方法 说明
UNIX语义 文件上的每个操作对所有进程来说,立即可见会话语义 文件关闭后,其它进程才可见文件的变化不可变文件 不能修改。简化了共享和复制控制事务 所有变化具有 all-or-nothing
性质
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
21
5.4 分布式文件系统的实现
文件系统的特点
– 大多数文件是小型的(少于 10KB)
– 多操作要显著多于写操作
– 通常是顺序的读写。很少见随机读写
– 大多数文件是短命的
– 文件共享很少有
– 进程一般只使用几个文件
– 存在具有不同特性的文件类
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
22
UNIX文件系统结构举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
23
系统结构
a/b/c迭代查找
自动查找文件 文件客户客户
a
b
c
a
b
c
服务器 1上的目录服务器 2上的目录服务器 3上的目录查找
a/b/c
查找 b/c
查找 c
带着 c
响应查找
a/b/c
查找 b/c
查找 c
带着 c
响应
( a) ( b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
24
无状态服务器与有状态服务器无状态服务器优点 有状态服务器优点容错 短小的请求消息无需 open/close调用 好的性能不浪费服务器空间 可以预读无打开文件个数限制 容易有等幂性客户崩溃不会导致问题 可对文件加锁
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
25
缓存区
存储文件的四个位置
3 24 1
网络客户内存客户磁盘(可选)
服务器内存服务器磁盘
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
26
缓存( caching)实现方式
1.无缓存
2.进程设置
3.内核设置
4.缓存进程用户
cacheCache
命中 内核
Cache
未命中服务器用户进程内核服务器
(a) (b)
内核
cache
内核
cache
服务器
(c)
服务器
(d)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
27
缓存的一致性维护
直接写( write_through)
延迟写
关闭时写( write_on_close)
方 法 描 述直接写 有效,但不影响写流量延迟写 效率较高,但可能语义关闭时写 与会话语义相配集中控制 UNIX语义,但不健壮,不能规模化
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
28
文件复制管理
复制透明性
复制方式
1,显性复制
2,惰性复制
3,组复制文件
prog.c
1.14
1.21
2.16
2.43
3.19
3.41
符号名 S1,S2,S3地址
(a)
S1
S2
S3
C
1
2
3
S1
S2
S3
C
组
(c)
S1
S2
S3
C
客户服务器现在 以后以后(b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
29
文件更新协议
主拷贝复制法:
– 主服务器,指定的一个服务器
– 从服务器,除主服务器之外的其它服务器
– 所有更新操作首先在 主服务器 上进行
– 主服务器 更新后,再更新各 从服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
30
文件更新协议
版本号:记录文件更新的版本
表决法:读 /写一个复制文件时需一定数量服务器的同意
– 读法定数 Nr:读一个已有 N个复制存在时,客户需要获得一个读法定数( read quorum),它是任何 Nr个或更多服务器的任意集合。
– 写法定数 Nw:修改一个文件需要一个至少 Nw个服务器的写法定数( write quorum),
满足约束条件,Nr+Nw>N
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
31
表决算法举例
1,读锁半数,写锁半数加 1
2,读锁一个,写锁全体
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
32
SUN NFS系统
虚拟文件系统( VFS)
– V-节点(虚拟 i节点)
– 远程安装程序系统调用层虚拟文件系统层本地操作系统 NFS客户发往服务器的消息本地磁 盘虚拟文件系统层本地操作系统
NFS服务器客户端发来的消息 本地磁 盘网络客户 服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
33
分布式文件系统设计原则尽可能利用工作站处理能力使用缓存技术利用文件使用特性减少全局知识和变化,使用分层控制信任最少的实体,提高安全性尽可能运用批处理方式
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
34
习 题
1,使用上载 /下载模式的文件服务系统与使用远程访问模式的文件服务系统之间有什么区别?
2,在无状态服务器中,每个请求为什么要包括一个文件位移( offset)?在有状态服务器中是否也需要?
3,为什么文件缓存技术可以使用 LRU而虚拟存储页算法不可以? 试以适当图形进行说明
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
35
习 题
4,假设客户缓存使用的是 write-through算法,
缓存的仅是个别块而不是整个文件 。 如果客户顺序地读取整个文件,某些块存放在
cache中而有一些没有,会出现什么问题,
又如何解决呢?
5,某 些分布式文件系统 提供 延迟回写算法或关闭时写 算 法的 客户缓存,除了语义问题,
该系统存在哪些问题? ( 提示,如可靠性 )
6,一个文件在 10个服务器上复制,试列举投票表决算法所有允许的读法定数与写法定数 。
2002年 7月
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
2
主要内容
5.1 文件模型
5.2 分布式文件服务
5.3 分布式目录服务
5.4 分布式文件系统的实现
5.5 习题
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
3
5.1 文件模型
文件:信息在磁盘或其它持久介质上的存储单位
文件名:文件的标识,由字串组成( 8-255)
文件属性:描述信息,如大小、创建时间、
授权
目录:保存文件系统的结构
路径:目录树上的一段路经
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
4
文件结构
1、二进制序列; 2、记录序列; 3、树
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
5
文件类型举例
1、可执行文件
2、归档文件
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
6
典型的文件扩展名
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
7
文件的属性
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
8
文件基本操作
1,Create
2,Delete
3,Open
4,Close
5,Read
6,Write
7,Append
8,Seek
9,Get attributes
10.Set Attributes
11.Rename
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
9
文件操作举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
10
文件操作举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
11
5.2 分布式文件服务
文件服务:文件系统为客户提供的功能,
如读、写
文件服务器:实现文件服务的进程
文件的保护:
– 权能:用户对文件的访问权限
– 存取控制表:每个文件上可访问它的用户列表如,UNIX的 mode,Windows的属性
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
12
远程文件服务
– 上载 /下载模式
c
2.在客户端进行访问客户机服务器 老文件新文件
1.文件移动到客户端
3.当客户端工作完毕后,文件又移回服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
13
远程文件服务
远程访问模型服务器客户机客户请求访问远程服务器上的文件文件保存在服务器上
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
14
5.3 分布式目录服务
目录服务
– 创建、删除
– 命名,重命名文件
– 移动文件
分层文件系统
– 子目录,目录树
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
15
目录图目录的维护:
引用计数,指向该目录的连接数
仅当目录为空时或 引用计数 >1时,
才能删除指向该目录的连接。
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
16
文件服务器方式
相同系统
不同系统
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
17
命名透明性
位置透明性:文件路径名与存储位置无关
– 例,/server/dir1/dir2/x
位置独立性:文件可移动到其它场地,而无需改变名字
– /server1/dir1/dir2/x变为 /server2/dir1/dir2/x
分布式系统中文件和目录的命名方法:
– 机器名 +路径名,如 /machine/path
– 将远地文件安装到本地目录中
– 全局统一的命名空间
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
18
两级命名法
符号名字:外部名字,供用户使用
二进制名字:内部名字,供系统使用
名字映射:由目录完成
符号链接:一个路径名,映射到(服务器,
文件名)字串上的目录项
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
19
文件共享的语义
UNIX语义
会话语义
a b
a b c
A
B
单处理器
1.写,c” 初始文件
2.读出,abc”
( a)
a b
a b c
A
a b
a bB
客户 1
2.写
“c”
1.读,ab”
文件服务器
3.读出,ab”客户 2
( b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
20
共享文件的处理方式方法 说明
UNIX语义 文件上的每个操作对所有进程来说,立即可见会话语义 文件关闭后,其它进程才可见文件的变化不可变文件 不能修改。简化了共享和复制控制事务 所有变化具有 all-or-nothing
性质
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
21
5.4 分布式文件系统的实现
文件系统的特点
– 大多数文件是小型的(少于 10KB)
– 多操作要显著多于写操作
– 通常是顺序的读写。很少见随机读写
– 大多数文件是短命的
– 文件共享很少有
– 进程一般只使用几个文件
– 存在具有不同特性的文件类
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
22
UNIX文件系统结构举例
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
23
系统结构
a/b/c迭代查找
自动查找文件 文件客户客户
a
b
c
a
b
c
服务器 1上的目录服务器 2上的目录服务器 3上的目录查找
a/b/c
查找 b/c
查找 c
带着 c
响应查找
a/b/c
查找 b/c
查找 c
带着 c
响应
( a) ( b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
24
无状态服务器与有状态服务器无状态服务器优点 有状态服务器优点容错 短小的请求消息无需 open/close调用 好的性能不浪费服务器空间 可以预读无打开文件个数限制 容易有等幂性客户崩溃不会导致问题 可对文件加锁
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
25
缓存区
存储文件的四个位置
3 24 1
网络客户内存客户磁盘(可选)
服务器内存服务器磁盘
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
26
缓存( caching)实现方式
1.无缓存
2.进程设置
3.内核设置
4.缓存进程用户
cacheCache
命中 内核
Cache
未命中服务器用户进程内核服务器
(a) (b)
内核
cache
内核
cache
服务器
(c)
服务器
(d)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
27
缓存的一致性维护
直接写( write_through)
延迟写
关闭时写( write_on_close)
方 法 描 述直接写 有效,但不影响写流量延迟写 效率较高,但可能语义关闭时写 与会话语义相配集中控制 UNIX语义,但不健壮,不能规模化
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
28
文件复制管理
复制透明性
复制方式
1,显性复制
2,惰性复制
3,组复制文件
prog.c
1.14
1.21
2.16
2.43
3.19
3.41
符号名 S1,S2,S3地址
(a)
S1
S2
S3
C
1
2
3
S1
S2
S3
C
组
(c)
S1
S2
S3
C
客户服务器现在 以后以后(b)
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
29
文件更新协议
主拷贝复制法:
– 主服务器,指定的一个服务器
– 从服务器,除主服务器之外的其它服务器
– 所有更新操作首先在 主服务器 上进行
– 主服务器 更新后,再更新各 从服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
30
文件更新协议
版本号:记录文件更新的版本
表决法:读 /写一个复制文件时需一定数量服务器的同意
– 读法定数 Nr:读一个已有 N个复制存在时,客户需要获得一个读法定数( read quorum),它是任何 Nr个或更多服务器的任意集合。
– 写法定数 Nw:修改一个文件需要一个至少 Nw个服务器的写法定数( write quorum),
满足约束条件,Nr+Nw>N
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
31
表决算法举例
1,读锁半数,写锁半数加 1
2,读锁一个,写锁全体
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
32
SUN NFS系统
虚拟文件系统( VFS)
– V-节点(虚拟 i节点)
– 远程安装程序系统调用层虚拟文件系统层本地操作系统 NFS客户发往服务器的消息本地磁 盘虚拟文件系统层本地操作系统
NFS服务器客户端发来的消息 本地磁 盘网络客户 服务器
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
33
分布式文件系统设计原则尽可能利用工作站处理能力使用缓存技术利用文件使用特性减少全局知识和变化,使用分层控制信任最少的实体,提高安全性尽可能运用批处理方式
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
34
习 题
1,使用上载 /下载模式的文件服务系统与使用远程访问模式的文件服务系统之间有什么区别?
2,在无状态服务器中,每个请求为什么要包括一个文件位移( offset)?在有状态服务器中是否也需要?
3,为什么文件缓存技术可以使用 LRU而虚拟存储页算法不可以? 试以适当图形进行说明
2002-7-5
东北大学软件所 于戈 第五章 分布式文件管理
35
习 题
4,假设客户缓存使用的是 write-through算法,
缓存的仅是个别块而不是整个文件 。 如果客户顺序地读取整个文件,某些块存放在
cache中而有一些没有,会出现什么问题,
又如何解决呢?
5,某 些分布式文件系统 提供 延迟回写算法或关闭时写 算 法的 客户缓存,除了语义问题,
该系统存在哪些问题? ( 提示,如可靠性 )
6,一个文件在 10个服务器上复制,试列举投票表决算法所有允许的读法定数与写法定数 。