-
Notifications
You must be signed in to change notification settings - Fork 48
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.
cd /path/to/your/sources
git clone https://github.com/rozofs/rozofs.git
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
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
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
Using the basic configuration, the exportd daemon is not to protected against fault-tolerance. This can be done with Corosync and Pacemaker.
Documentation ToBeDone.