Mechanism for building Distributed file system
Distributed Systems are the systems that make a single system image to users of the networks. The failure of one system in the network will not be coming to the picture of all other uses. Here, all the systems act in a dual role such as both client as well as server.
The distributed File system provides a similar abstraction to the users of a distributed system and makes it convenient for them to use files in a distributed environment.
Characteristic of distributed file system
- Remote data/file sharing: It allows a file to be transparently accessed by processes of any node of the system irrespective of the file’s location. Example: Any process ‘A’ can create the file and share it with other processes ‘B’ or ‘C’ and the same file can be accessed/modified process running in other nodes.
- User mobility: Users in the distributed systems are allowed to work in any system at any time. So, users need not relocate secondary storage devices in distributed file systems.
- Availability: Distributed file systems keep multiple copies of the same file in multiple places. Hence, the availability of the distributed file system is high and it maintains a better fault tolerance for the system.
- Diskless workstations: Distributed file systems allow the use of diskless workstations to reduce noise and heat in the system. Also, diskless workstations are more economical than disk full workstations.
Desirable features to build distributed file system
- Scalable networks: Even with an increase in the number of users in the network, the performance should remain the same. For example, initially, 100 users are using 100 Mbps bandwidth networks and suddenly system admin increased the number of users to 150, in that case, the performance of the network remains the same.
- Replications: The services should be replicated in many systems to avoid a single point of failure. For example, an email server should be available in multiple systems to reach the service to users 24×7.
- Openness: The systems with different architecture as well as operating systems can be connected to the distributed system environment and thus message passing is possible. The person with a 32-bit system can interact with the person with a 64-bit system seamless interaction.
- Reliable and Availability: The systems should be built with 100% reliability and 100% availability for the utilization of networks.
Mechanism to build distributed file systems
- Use of FIle Models: The DFS uses different conceptual models of a file. The following are the two basic criteria for file modeling, which include file structure and modifiability. The files can be unstructured or structured based on the applications used in file systems. Also, the modifiability of the file can be categorized as mutable and immutable files.
- Use of FIle Accessing Models: A distributed file system may use one of the following models to service a client’s file access request when the accessed file is a remote file. There are two such models are there, viz., the Remote service model and the Data-caching model.
- Use of FIle sharing Semantics: A shared file may be simultaneously accessed by multiple users. The types of file-sharing semantics can be used such as Unix Semantics, Session Semantics, Immutable shared files semantics, and transaction-like semantics.
- Use of FIle -Caching Schemes: Basically following key criteria used in file caching scheme viz., cache location, modification propagation, and cache validation
- Use of FIle Replications: File replication is the primary mechanism for improving file availability in a distributed systems environment. A replicated file is a file that has multiple copies with each copy located on a separate file server.