这种文件系统通常至少有三部分组成,存储节点,访问节点,管理节点。不同的系统叫法不同,但其原理相同。
存储节点,负责数据存储,数据通过hash散列
访问节点,用户通过该节点访问数据,做数据上传下载。访问方式分为点对点与三角方式
管理节点,服务数据Mirror,Strip等,元数据同步等等...
点到点系统只提供一个访问入口,如:MooseFS
+--------------------------------+ | User | +--------------------------------+ | mount ip_address => /mnt/test | +--------------------------------+ | V ------------------ 1Gbps Ethernet --------------------- | | V V +-------------------------+ +----------------------+ | Manager Node | | Access node | +-------------------------+ +----------------------+ | Mirror | Strip | ... | | Index | +-------------------------+ +----------------------+ | V --------------------- 1Gbps Ethernet --------------------- | | | netkiller.sf.net | V V +---------------------+ +--------------------+ | Data Node | | Date Node | +---------------------+ +--------------------+ | 01 02 03 ... 10 | | 01 02 03 ... 10 | +--------------------+ | 0A 0B 0C ... 0F |<-- Mirror -->| 0A 0B 0C ... 0F | | Design by neo chen | | FA FB FC ... FF | | FA FB FC ... FF | +--------------------+ +---------------------+ +--------------------+
三角链路
+--------------------------------+ | Server Load Balancing | +--------------------------------+ | V ------------------ 1Gbps Ethernet ---------------------------------- | | | V V V +-------------------------+ +-------------+ +-------------+ | Manager Node | | Access Node | | Access Node | +-------------------------+ +-------------+ +-------------+ | Mirror | Strip | ... | | Index | | Index | +-------------------------+ +-------------+ +-------------+ | V --------------------- 1Gbps Ethernet --------------------- | | | netkiller.sf.net | V V +---------------------+ +--------------------+ | Data Node | | Date Node | +---------------------+ +--------------------+ | 01 02 03 ... 10 | | 01 02 03 ... 10 | +--------------------+ | 0A 0B 0C ... 0F |<-- Mirror -->| 0A 0B 0C ... 0F | | Design by neo chen | | FA FB FC ... FF | | FA FB FC ... FF | +--------------------+ +---------------------+ +--------------------+
这种文件系统的特点是,当用户访问文件系统时,首先访问管理节点,管理节点会返回一个数据地址,用户再从访问节点的地址取得数据。
以MogileFS为代表
某些系统甚至直接使用反向代理或者WEB服务器作为访问节点。这种系统非常适合多媒体数据存储。通过负载均衡可能实现横向与纵向灵活扩展
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。