Title: SAN-Clustering Load Blancing and Examining GFS
By Su Li
What is included in this presentation:
1. Introduction.
2. Basic architecture of the Global File System (GFS) in comparison
with other Distributed File Systems.
3. Brief summary of results.
4. Conclusion and possible future work related to GFS.
5. Acknowledgements.
6. Reference.
Introduction:
Traditional client/server distributed computing is limited in that it simply
provides a mechanism for a client machine to access data on a remote server
through the client's local file system. Through useful, this approach limits
the potential storage efficiency and speed that can be realized by distributed systems.
The Global File System (GFS) is a distributed file system in which cluster nodes
physically share storage devices connected through a network like Fibre Channel.
GFS distributes the file system responsibilities across the processing nodes,
storage across the devices, and file system resources across the entire storage pool.
Literature Review
1. Message-based versus Shared Storage Distributed File Systems
The architecture of the distributed systems can be categorized as
message-based (shared nothing) and shared storage (shared disk).
Message-based architectures share data by communication between
Machines across a network with the data stored locally on devices within each machine.
Machines in the shared storage architecture access all storage devices directly.
Examples of message-based distributed file systems are :
SUN NFS (network file system) and Coda File Systems
GFS is an example of shared storage Distributed File System.
2. Global File System (GFS)
GFS is a distributed file system based on shared network attached storage.
Network attached storage devices are physically shared by the cluster nodes.
GFS caches data in the nodes' main memories only during I/O request processing.
GFS informs the devices on each request what data is appropriate to cache.
Consistency is established by using a locking mechanism maintained by
the storage device controllers to facilitate atomic read-modify-write operations.
3. Key Components of GFS
Network Storage Pool (NSP)
GFS views storage as a Network Storage Pool (NSP) - a collection of network
attached storage devices logically grouped to provide node machines with a
unified storage space.
File Systems Structure
Similar to any other Unix file system, each file has a unique number or
handle called inode number, and each inode has a corresponding dinode
located on the physical storage device which maintains information
about file owner, permissions, number of links, access times, size and
pointers to the location of the file's data blocks on the physical storage
devices. An inode is the in-memory data structure corresponding to the
dinode, which is unique in GFS. The file system stores the dinodes, known as
metadata, along with the actual file data.
Metadata and Data
The GFS structure and internal algorithms differ from traditional file systems,
emphasizing sharing and connectivity rather than caching. GFS, unlike
typical file systems, distributes its metadata throughout the network storage
pool rather than concentrating it all into a single superblock
Device Locks
Device Locks are the mechanisms for node machines to maintain mutual
exclusion of file system data.
Consistency and Caching
The disk maintains consistency between its media and cache while the GFS
file system uses disk-based locks to implement atomic operations on metadata
to maintain consistency between multiple clients and disk devices.
Brief Summary of Results
Performance
Both read and write tests show the GFS speedups for each machine for different
file size with varying request sizes. File creates are slower than reads
because the creates require additional I/O requests to allocate the dinodes,
allocate data blocks, and build the metadata tree.
Load Balancing
The shared storage approach has the advantage that every machine has nearly
uniform access to all storage devices and freedom from servicing data requests
from other machines. Also, failures of a machine have little impact on the rest of
the systems except possibly increasing their load.
Conclusion and Possible Future Work
The GFS approach to a distributed file system using shared storage devices seems
promising given the high bandwidth natures of new networks. The architecture
places more responsibilities on storage devices than message-based architectures.
Modern devices are able to cache, perform mutual exclusion, and schedule
requests freeing these burdens from the node machines.
Based on my literature review, the following are identified as the areas
where more studies may need to be done:
1. Failure recovery. A single shared device in a GFS could be a single point
of failure, and the failure of any client could leave metadata in an
inconsistent state.
2. Device lock. The mechanisms for device lock can be improved to link to
failure recovery. More complicated algorithm to control device lock
such as timing for device lock can be improved.
3. Hardware configuration. Throughout performance of GFS can be improved by
adjusting hardware configuration such as disk stripping and data partitioning to
meet particular application requirement.
4. Algorithm. Algorithm and policies for caching used by storage devices and
using metadata can be improved.
Acknowledgements
I thank Dr. Chow for his advice for selecting the term paper topic and his
guideline. I also appreciate Liliya Kaplan for spending time and showing me
the Coda system.
Reference
1. G. Pfister. In Search of Clusters. Upper Saddle River, NJ: Prenticc-Hall
2. N. Kronenberg, H. Levy, W. Strecker. "VAXClusters: A Closely-couped
Distributed System". ACM Transactions on Computer Systems, Vol.4, No.3, pp130-146
More Reference in the term paper