Skip to content

CPSSD/MDFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11c7c0e · Mar 24, 2016
Mar 23, 2016
Mar 18, 2016
Mar 17, 2016
Mar 24, 2016
Mar 17, 2016
Mar 10, 2016
Mar 17, 2016
Mar 10, 2016
Feb 18, 2016
Feb 28, 2016
Mar 23, 2016
Mar 22, 2016
Mar 23, 2016

Repository files navigation

MDFS Build Status

Massively Distributed File System

Repository Layout

There are three pieces of software contained within the MDFS repository: the metadata service, the storage node and the client for interacting with the two services.

Setup

Testing

Before testing, run the entire setup using go run testing_files/testing_init.go && go run storagenode/config/stnode_init.go && go run mdservice/config/mdservice_init.go. This will create the necessary folder structure $HOME/.testing_files/. The test files will be copied to this location. This will also set up the neccessary files as mentioned below.

Storage Node

Before you begin, setup the storage node using go run configure.go. Follow the on screen steps after selecting 1 to set up the storage node. This will create the necessary folder structure $HOME/.stnode/. The server's configuration files will be copied to $HOME/.mdfs/stndode/.stnode_conf.json.

Metadata Service

Setup the metadata service using go run configure.go. Follow the on screen steps after selecting 2 to set up the metadata service. This establishes a folder to store files for the mdservice itself at $HOME/.mdservice/files. The mdservice's config files are stored under $HOME/.mdfs/mdservice/.mdservice_conf.json.

Usage

Install and run the storage node

The storage node server can then be run

go install storagenode/stnode.go
stnode

Run the metadata service

The metadata service can then be run as follows

go install mdservice/mdservice.go
mdservice

Run the client software

The client software is run as follows for the mdservice

go install client/mdfs-client.go
mdfs-client

Once the client is run, you will be prompted for a username and the connection details of your metadata service. Once complete, you will be presented with the command prompt for the mdfs-client.

thewall:2:/ >> 

Available commands

The following BASH-like commands are currently available to users.

Massively Distributed Filesystem client, version 1.0-demo
The following is a list of available commands and their usage.
All commands will require the appropriate permissions (read, write or execute) to be successful

Usage: ls               [-V] [directory...]
 
       pwd
       cd               [directory]
       mkdir            [directory...] 
       rmdir            [directory...]
      
       send             [filename] [-p [UUID...]]
       request          [filename]
       rm               [filename...]
      
       permit           [-w (directory [rwx] | filename) | -g (directory [rwx] [GID...])]
       deny             [-w (directory [rwx] | filename) | -g (directory [rwx] [GID...])]
      
       create-group     [groupname...]
       delete-group     [GID]
      
       group-add        [GID] [UUID...]
       group-remove     [GID] [UUID...]
       group-ls         [GID]
      
       list-groups      (-m | -o | -mV | -oV | -V)

       exit