Go to file
2017-04-14 16:16:53 -07:00
deploy Send unnecessary error message to /dev/null 2017-04-14 14:55:00 -07:00
LICENSE Initial commit 2017-04-14 12:57:02 -07:00
README.md Update README.md 2017-04-14 16:16:53 -07:00

Longhorn

Longhorn is a microservice based distribution storage system.

It's in experimental stage now. Comments are welcome!

See wiki for more details.

Requirements

Longhorn requires one or more hosts running the following software:

  1. We have tested with Ubuntu 16.04. Other Linux distros, including CentOS and RancherOS, will be tested in the future.
  2. Make sure open-iscsi package is installed on the host. If open-iscsi package is installed, the iscsiadm executable should be available. Ubuntu Server install by default includes open-iscsi. Ubuntu Desktop doesn't.

Single node setup

You can setup all the components required to run Longhorn on a single Linux host. In this case Longhorn will create multiple replicas for the same volume on the same host. This is therefore not a production-grade setup.

You can setup Longhorn by running a single script:

git clone https://github.com/rancher/longhorn
cd longhorn/deploy
./longhorn-setup-single-node-env.sh

The script will setup all the components required to run Longhorn, including the etcd server, longhorn-manager, and longhorn-ui automatically.

After the script completes, it produces output like this:

Longhorn is up at port 8080

Congratulation! Now you have Longhorn running on the host and can access the UI at http://<host_ip>:8080.

Setup example NFS server for backupstore

Longhorn's backup feature requires an NFS server or an S3 endpoint. You can setup a simple NFS server on the same host and use that to store backups.

# Make sure you have nfs-kernel-server package installed.
sudo apt-get install nfs-kernel-server
./deploy-example-nfs.sh

This NFS server won't save any data after you delete the container. It's for development and testing only.

After this script completes, you will see:

Use the following URL as the Backup Target in the Longhorn UI:
nfs://10.0.0.5:/opt/backupstore

Open Longhorn UI, go to Setting, fill the Backup Target field with the URL above, click Save. Now you should able to use the backup feature of Longhorn.

Test volume creation and use

You can now create a persistent Longhorn volume from Docker CLI using the Longhorn volume driver and use the volume in Docker containers.

Docker volume driver is longhorn.

You can run the following on any of the Longhorn hosts:

docker volume create -d longhorn vol1
docker run -it --volume-driver longhorn -v vol1:/vol1 ubuntu bash