自动存储管理(ASM)(自动存储管理)
自动存储管理(ASM)
本文内容来自于互联网,分享自动存储管理(ASM)(自动存储管理)
背景 | Top |
基本原理:GFS主要由Dlock. Pool、元数据和Dinode等几个关键部分组成
1)Dlock概述
Dlock是GFS中用于同步客户机对共享元数据(metadata,通常为磁盘块)进行访问的锁机制这种锁机制在存储设备上实现,通过SCSI的锁命令(现在有一些SCSI驱动器就提供了SCSI锁命令;对于不支持锁命令的设备,GFS Dlock可以为这些设备提供相关锁命令的实现)进行操作。当元数据被多个客户机存入到各自的cache时,由于可能会同时存在对元数据的读写操作,这就可能牵涉到cache一致性和磁盘数据一致性的问题,如图所示。在GFS这样的群集文件系统中,对于一块被多个GFS客户机同时访问的磁盘数据,各个客户机都必须维护着各自的cache,而不存在公共的cache,因而同一时刻内各客户机cache中源自相同磁盘数据块的数据肯定会不尽相同。所以GFS不可能也没有必要去保酷各客户机cache 的一致性,否则对于每次数据操作,都必须验证各客户机icache的一致性,系统开销大:并随着系统规模的扩大,该系统开销也相应增大:此外GFS也不可能去提供一个集中方式来处理这种关系。所以在GFS中只可能、并且也只需要维护共享磁盘上数据的一致性就行了。
所以Dlock的主要工作,就是帮助文件系统保证共享磁盘中元数据的一致性。它是通过SCSI 设备锁命令来进行具体操作的,GFS文件系统在Dlock和文件之间建立一个映射,如果GFS客户机获得了某个锁,就获得了对于该锁相关联数据的操作能力。所以在GFS中,对数据(块)的操作主要表现为对数据块相关的锁的操作。
2)Pool概述
Pool作为GFS逻辑卷驱动程序,能将大量异种共享存储设备整合到一个单一的逻辑卷中,也就是能够为GFS客户机提供统一的、与设备无关的跨设备文件系统逻辑视图。Pol是为了提供单一逻辑设备的能力而开发的,能在SCsl驱动程序层传递Dlock命令到具体的设备。不难理解,Pol与Dlock是GFs的两大特性。Pol在GFs文件系统与驱动程序打交道的工作中扮演了一个非常重要的角色。
现状及发展方向:随着网络接口技术的发展,存储设也能利用高速网络接口,将白身作为独立的网络存储设备(共享存储设备)连接到计算机网络上,这样GFS应运而生。GFS(Global File System,全局文件系统)是一种基于Linux共享磁盘(Shared-disk)的群集文件系统。GFS支持共享存储设备,使得多台计算机可同时对这种设备上的文件进行访问,从而为数据操作带来极为复杂的同步与互斥关系在GFS中,由一个全局的锁机制Dlock(Device Lock)来处理这种关系。