Skip to content

Instantly share code, notes, and snippets.

@killfill
Created May 9, 2015 17:21
Show Gist options
  • Save killfill/f5a83b2b619587d41fd0 to your computer and use it in GitHub Desktop.
Save killfill/f5a83b2b619587d41fd0 to your computer and use it in GitHub Desktop.
LeoFS instalation tips
#Based on https://gist.github.com/kevinmeziere/18f20f4f1df6a42eefa8
<create leofs zone>
<indide leofs zone>
VERSION=rel
LEO_VER=1.2.7
MGR1=192.168.10.53
MGR2=192.168.10.52 #fifo zone
NEW_COOKIE=`openssl rand -base64 32 | fold -w16 | head -n1`
echo export COOKIE=$NEW_COOKIE
#export COOKIE=bz9jGbA06luzAmQT
cp /opt/local/etc/pkgin/repositories.conf /opt/local/etc/pkgin/repositories.conf.original
echo "http://release.project-fifo.net/pkg/${VERSION}/" > /opt/local/etc/pkgin/repositories.conf
pkgin -fy up
pkgin -y in leo_storage leo_gateway leo_storage leo_manager
===> MANAGER - MASTER
pkg_add http://release.project-fifo.net/pkg/rel/leo_manager-${LEO_VER}.tgz
CONF=/opt/local/leo_manager/etc/leo_manager.conf
sed -e "/^[^;]*distributed_cookie/s/=.*$/= ${COOKIE}/" -i.bak ${CONF}
sed -e "/^[^;]*manager.partner/s/=.*$/= \manager_1@${MGR2}/" -i.bak ${CONF}
#Default n/r/w/d values are 1/1/1/1 ...
svcadm enable epmd
svcadm enable leofs/manager
===> MANAGER - SLAVE (different host than the master...)
pkg_add http://release.project-fifo.net/pkg/rel/leo_manager-${LEO_VER}.tgz
CONF=/opt/local/leo_manager/etc/leo_manager.conf
sed -e "/^[^;]*distributed_cookie/s/=.*$/= ${COOKIE}/" -i.bak ${CONF}
sed -e "/^[^;]*manager.partner/s/=.*$/= \manager_0@${MGR1}/" -i.bak ${CONF}
#This sed wont work, as default config doesnt have manager.mode.. just manually add manager.mode = slave above manager.partner...
#sed -e "/^[^;]*manager.mode/s/=.*$/= \slave/" -i.bak ${CONF}
svcadm enable epmd
svcadm enable leofs/manager
#leofs-adm status should not show problems with mnesia ...
===> STORAGE
pkg_add http://release.project-fifo.net/pkg/rel/leo_storage-${LEO_VER}.tgz
CONF=/opt/local/leo_storage/etc/leo_storage.conf
sed -e "/^[^;]*distributed_cookie/s/=.*$/= ${COOKIE}/" -i.bak ${CONF}
sed -e "/^[^;]*managers/s/=.*$/= \[manager_0@${MGR1}, manager_1@${MGR2}]/" -i.bak ${CONF}
svcadm enable epmd
svcadm enable leofs/storage
===> GATEWAY
pkg_add http://release.project-fifo.net/pkg/rel/leo_gateway-${LEO_VER}.tgz
CONF=/opt/local/leo_gateway/etc/leo_gateway.conf
sed -e "/^[^;]*distributed_cookie/s/=.*$/= ${COOKIE}/" -i.bak ${CONF}
sed -e "/^[^;]*managers/s/=.*$/= \[manager_0@${MGR1}, manager_1@${MGR2}]/" -i.bak ${CONF}
sed -e "s|http.port = 8080|http.port = 80|" -i.bak ${CONF}
sed -e "s|## http.ssl_port = 8443|http.ssl_port = 443|" -i.bak ${CONF}
svcadm enable epmd
svcadm enable leofs/gateway
===> Start up!
leofs-adm start
leofs-adm status # should show storage and gateway nodes
===> Config
leofs-adm add-endpoint s3.domain.com
leofs-adm create-user user pass
#Setup dns to resolve *.s3.domain.com to the leofs gateway(s)...
===> For Fifo
leofs-adm add-bucket fifo $access_key
leofs-adm add-bucket fifo-images $access_key
leofs-adm add-bucket fifo-snapshots $access_key
sniffle-admin config set storage.s3.port 443
sniffle-admin config set storage.general.backend s3
sniffle-admin config set storage.s3.host s3.domain.com
sniffle-admin config set storage.s3.access_key $key
sniffle-admin config set storage.s3.secret_key $pass
sniffle-admin config set storage.s3.image_bucket fifo-images
sniffle-admin config set storage.s3.general_bucket fifo
sniffle-admin config set storage.s3.snapshot_bucket fifo-snapshots
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment