这种文件系统通常至少有三部分组成,存储节点,访问节点,管理节点。不同的系统叫法不同,但其原理相同。
存储节点,负责数据存储,数据通过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服务器作为访问节点。这种系统非常适合多媒体数据存储。通过负载均衡可能实现横向与纵向灵活扩展