Starfish QuickStart TutorialFrom DBWiki
[edit] System RequirementsIf you want to run a Starfish storage peer, you must have the following packages installed:
If you are running Debian or Ubuntu, you can run the following command to retrieve all of these packages: apt-get install python2.5 python2.5-pysqlite2 If you want to mount a Starfish storage network, you must have the following packages installed:
If you are running Debian or Ubuntu, you can run the following command to retrieve all of these packages: apt-get install python fuse-utils python-fuse [edit] Configuring FUSEYou should not run the Starfish Storage Client or the Starfish Storage Peer software under the administrator account. Therefore, you will have to modify the default configuration for FUSE to be able to run Starfish under a safe user account. After you have installed the fuse-utils package, you will have to make sure that the user that you want to mount the FUSE file system has access to the fusermount program. To do so, run the following commands as root: useradd -G fuse USERNAME chown root:fuse /usr/bin/fusermount chmod 4754 /usr/bin/fusermount You will have to log out and log back in as the user to be able to mount a FUSE file system as USERNAME. [edit] Installing the PackagesOn the storage peer, install the following packages: On the storage client, install the following packages: [edit] Using StarfishStarfish is intended to be as simple as possible to use. You can have a storage network up and running with a few simple commands. The following tutorial assumes two storage peers and one storage network client. [edit] Initializing the Storage PeersTo initialize a storage peer, you must create a directory for the storage peer and use the storage peer software to initialize the directory. You must give the storage peer a unique name to use on the network and a directory to initialize. For our example, let us initialize two storage peers. user@server1$ mkdir sp1-storage user@server1$ starfishd -i -v -n sp1 -k mega-storage sp1-storage/ user@server2$ mkdir sp2-storage user@server2$ starfishd -i -v -n sp2 -k mega-storage sp2-storage/ Let us examine what we did:
[edit] Starting the Storage PeersStarting the storage peers is easy, just run the following commands on each respective machine. The second storage peer will join the first automatically. user@server1$ starfishd -v sp1-storage/ user@server2$ starfishd -v sp2-storage/ Let us examine what we did:
[edit] Mounting the Starfish FilesystemTo mount the Starfish filesystem, you must specify the storage network to join as well as a unique storage network client name, the default user ID and group ID of the file system, and the mountpoint location: user@client3$ mkdir sf-mountpoint
user@client3$ mount.starfish -f -v -n snc1 -k mega-storage \
-o default_permissions,uid=`id -u`,gid=`id -g` sf-mountpoint/
Let us examine what we did:
[edit] CompatabilityThe Starfish Filesystem is a POSIX-compatible filesystem, thus you should be able to use a very large number of programs with Starfish. Starfish is also compatible with many programming languages, for example: PHP, Python, Java, Ruby, Perl, C, C++, C#, Fortran. |

