Skip to content
Mathieu Parent edited this page Aug 22, 2013 · 3 revisions

Installation

RozoFS is mainly tested on Debian wheezy. The Debian packages should build and work smoothly on Debian and derived distributions (including Ubuntu). Packaging for other distributions is welcome.

Getting sources

cd /path/to/your/sources
git clone https://github.com/rozofs/rozofs.git

Compiling Debian package

Install the required packages:

cd rozofs
sudo apt-get install build-essential git-buildpackage
dpkg-checkbuilddeps
#... and install the missing build dependencies

Build:

git-buildpackage

Installing from Debian packages

Use dpkg or apt-get (if you have setup a repository).

Install :

  • rozofs-exportd on the exportd node (or several nodes if your are using Corosync+Pacemaked)
  • rozofs-storaged on the storaged nodes
  • rozofs-rozofsmount on the client nodes
  • rozofs-manager-agent and rozofs-manager-cli on all nodes (optionnal)

NB: a node can have exportd+storaged+rozofsmount

Basic configuration

Edit /etc/default/rozofs-manager-agent and change AGENTS to match locally installed daemons. Example:

AGENTS="exportd storaged rozofsmount"

Then restart:

service rozofs-manager-agent restart

On all storaged nodes, create a raw storage filesystem. Example:

mkfs.ext4 /dev/vg01/storage
mkdir -p /srv/rozofs/storage
mount -o noatime /dev/vg01/storage /srv/rozofs/exports

On all storaged nodes, start storaged:

service rozofs-storaged start

On the exportd node, create the raw export filesystem. Example on a Pacemaker setup (ext4 parameters are tuned with the expected data):

mkfs.ext4 -b 1024 -I 256 -i 4096 /dev/drbd2
mkdir -p /srv/rozofs/exports
mount -o noatime /dev/drbd3 /srv/rozofs/exports

On the exportd node, start exportd:

service rozofs-exportd start

Read export.conf(5) man page, and eventually change layout. Example:

rozo layout -E <ip_of_exportd> 1

Declare a volume using all storaged nodes:

rozo expand -E <ip_of_exportd> --vid 1 <ip_of_storaged1> <ip_of_storaged2> <ip_of_storaged3> ...

Declare an export (FS) using all storaged nodes (using volume created above with vid=1):

rozo export -E <ip_of_exportd> 1

Create mountpoint, add to fstab and mount on all (FS) using all storaged nodes (using volume created above with vid=1):

rozo mount -E <ip_of_exportd> -e 1

Test :

df -t fuse.rozofs
touch /mnt/rozofs@<ip_of_exportd>/export_1/test
ls -l /mnt/rozofs@<ip_of_exportd>/export_1

Advanced: Corosync/Pacemaker configuration

Using the basic configuration, the exportd daemon is not to protected against fault-tolerance. This can be done with Corosync and Pacemaker.

Documentation ToBeDone.