minio/FreeBSD.md

2.7 KiB

Minio with ZFS backend - FreeBSD

This example assumes that you have a FreeBSD 10.x running

Step 1

As root on the FreeBSD edit /etc/rc.conf

zfs_enable="YES"

Start ZFS service

# service zfs start
# dd if=/dev/zero of=/zfs bs=1M count=4000

Configure a loopback device on the /zfs file.

# mdconfig -a -t vnode -f /zfs

Create zfs pool

# zpool create minio-example /dev/md0
# df /minio-example
Filesystem    512-blocks Used   Avail Capacity  Mounted on
minio-example    7872440   38 7872402     0%    /minio-example

Verify if it is writable

# touch /minio-example/testfile
# ls -l /minio-example/testfile
-rw-r--r--  1 root  wheel  0 Apr 26 00:51 /minio-example/testfile

Now you have successfully created a ZFS pool for futher reading please refer to ZFS Quickstart Guide

However, this pool is not taking advantage of any ZFS features. To create a dataset on this pool with compression enabled:

# zfs create minio-example/compressed-objects
# zfs set compression=gzip minio-example/compressed-objects

To keep monitoring your pool use

# zpool status
  pool: minio-example
 state: ONLINE
  scan: none requested
config:

	NAME        STATE     READ WRITE CKSUM
	minio-example  ONLINE       0     0     0
	  md0       ONLINE       0     0     0

errors: No known data errors

Step 2

Now start minio server on the /minio-example/compressed-objects, change the permissions such that this directory is accessibly by a normal user

# chown -R minio-user:minio-user /minio-example/compressed-objects

Now login as minio-user and start minio server.

$ curl https://dl.minio.io/server/minio/release/freebsd-amd64/minio > minio
$ chmod 755 minio
$ ./minio server /minio-example/compressed-objects

AccessKey: X3RU3Q6B4T20TYB281W5  SecretKey: bvp0DF8c+6MzL60UxFqOZGlA5Z8UPfIAATUQuzLS  Region: us-east-1

Minio Object Storage:
    http://159.203.234.49:9000
    http://10.12.0.5:9000
    http://127.0.0.1:9000

Minio Browser:
    http://159.203.234.49:9000
    http://10.12.0.5:9000
    http://127.0.0.1:9000

To configure Minio Client:
    $ wget https://dl.minio.io/client/mc/release/freebsd-amd64/mc
    $ chmod 755 mc
    $ ./mc config host add myminio http://localhost:9000 X3RU3Q6B4T20TYB281W5 bvp0DF8c+6MzL60UxFqOZGlA5Z8UPfIAATUQuzLS

Point your browser to http://localhost:9000 and login with the credentials displayed on the command line.

Now you have a S3 compatible server running on top of your ZFS backend which transparently provides disk level compression for your uploaded objects.

Thanks for using Minio, awaiting feedback :-)