头一次写博客,要是语义不通,次序胡乱还请原谅。
最近看了一本《大话存储》的书,并且结合我参与最近设计一个nas集群的功能。趁现在记录一下,以后好翻阅,同时如果有网友看到也可以指正一下。
nas:nas就是基于网络协实现数据传输。我个人觉得,其实就是应用程序写或者读数据时,会通过网络协议到服务器上的文件系统,再有文件系统到内存通信等等最后到物理磁盘上读取信息的过程(理解可能有误)。
集群:就是将多台服务器集合起来共同协作,以提高可用性、负载均衡、和高性能为目的。
设计一个相对狭义的nas集群:通过tcp/ip(网络)将不同服务器上的文件系统连接成一个整体。使得这些文件系统可以协同工作。
设计方案时思考,将高可用性放在了首位,即如果有一个或者多个服务器故障了,其它正常的服务器依然能接替坏掉的服务器的工作,使得业务能正常运行。
设计方案:1、设计4个master(master用于保存文件的元数据且每个master的元数据完全相同,真正的数据存于data中)和两个slave(存放文件真实数据).其中4个master处于平等地位共同连接到网络中。其中无论哪个接受到数据(如创建文件),都首先在本端创建文件元数据,然后再创建两个data file。其中两个data file数据完全一样,其中一个作为备份存于不同文件服务器上,以达到保护数据的作用。当在本端建立好元数据节点后通知其它服务器,也建立相同的节点,4个master的data指针均指向相同位置