分布式系统的问题

Q & A

1、如果一些商业用户有很多的小文件在分布式文件系统上,这些文件只被用户自己使用,从用户的桌面登录,需要对文件进行频繁地读和写。哪一种文件系统会需要更多的沟通?NFSv3 或者是 AFS2?

An: AFS2。理由为如果在客户端有缓存并且有效的话,那么就不会和文件系统进行沟通。NFS3就会调用RPC给服务器确认cache是否有改变。并且在写文件的时候,NFS3会每次写回都调用一次RPC,AFS2不会,直到所有的都写了,close的时候才写回。

2、如果Data Realm Corp公司想要配置他们的备份系统,他们需要这个系统能保证:(a)数据每天都有备份并且保持至少7天以上的时间;(b)单个用户的目录能够在5分钟内恢复备份;一共有1000个人,每个人有50G的空间,每个人每天会修改10G的内容。他们的备份系统能够访问数据在400MB/s(24GB/min),能够存储170TB的数据。

P1:设计一个全备份和增量备份系统能够满足需求,以最少的存储容量。
一共有170TB的数据,那么每个用户就有170G的空间可以使用,并且同时5min要恢复,那么需要使用的数据不能超过120G,并且要保留至少7天的数据。所以在这种限制条件下,第一次需要全备份就是50G,接下来就是使用增量备份,那么就是6天,就是60G,接下里再进行一次全备份,在接下来就是增量备份。所以总的就是1天全备份+6天增量备份。

P2:如果在deduplicate的作用下,使用全备份,至少7天以上,那么每次备份的大小应该是多少?

An:应该是50+60+10。

3、Joe喜欢GFS,他想把GFS里面的replication改成RAID-6,已达到减少空间的目的。他想把每个trunck进行stripe到不同的服务器上面,但是它又担心并发更新同步问题,所以他把更新发给的trunk发给了Master Server,这样会有什么问题?如何解决这个问题?

An:那么这会导致master server的负载过大,Master Server主要是管理metadata这种小规模数据,这样直接把trunk这种大文件发给master会占用master server的带宽,另外一方面,master server还需要进行计算redundancy这些东西,又是占用了计算资源。总之这样的做法会使整个系统性能下降,Master Server成为bottleneck。可以选择一个chunkserver做这样的工作更合适。

4、在目前proj中实现的是单线程的cloud-ssd hybrid file system,如果要变成多个用户使用,你觉得最大的问题是什么?

An:metadata和小文件是存在本地的,大文件才在云端。所以第二个用户无法获取数据,在云端的数据有个问题就是数据一致性的问题。

5、如果有一个操作叫做“duplicate”,语义定义为“duplicate f1 f2”会使得有一个f2生成,并且f2如果已经存在,就会被覆盖。这种操作是idempotent的操作么?

An:是的,因为重复操作结果都是一样的。

6、在HTTP协议中,客户端会缓存数据,每次使用缓存的时候还会去调用服务器来确认缓存是否是最新的。但是Jill觉得这是一个很浪费带宽的操作,觉得不如NFSv3的保存数据一致性的方法,你同意么?

An:不同意,如果访问一个页面超过30s的话,那么浏览器就会发送请求给服务器看是否有更新,而HTTP协议中只有在取缓存的时候会进行访问。如果数据没有更新,使用NFSv3会每30s访问一次,这极大浪费带宽。并且NFSv3是对每个block进行一次读取数据,HTTP是一次性把整个文件读回来。

7、Joe觉得GFS中的Replica操作使得其中一个chunkserver发生错误以后,整个chunk就丢失了。所以呢他觉得使用RAID group更能够使数据更稳定。一共是900个chunk server,改成了300 3个chunkserver的组合。这样改进的设计有什么缺点?

An:在恢复和某个磁盘坏之后的负载不均衡。原本的GFS是随机取的三个,负载均衡,而且chunk放在哪个server上不是固定的映射。现在改变以后,使得坏掉的server的请求全部加载了在另外两个server上面。

8、Joe又在想他在维护三个NFSv3文件系统,每个都是一个NFSv3的文件系统。他注意到某个文件系统太慢了,需要把某些文件转移到另外一个地方,并且不改变命名。Jill告诉他需要在创建一个新的NFSv3文件系统。你同意么?

An:在另外两个服务器上再创建一个新的NFSv3,并且挂载在比较满的文件系统的对应目录下。这样就不会改变命名,而且缓解了这个服务器的负载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值