REX-Ray provides a vendor agnostic storage orchestration engine. The primary
design goal is to provide persistent storage for
It is additionally available as a Go package, CLI tool, and Linux service which enables it to be used for additional use cases.
You will find complete documentation for REX-Ray at rexray.readthedocs.org, including
Documentation provided at RTD is based on the latest stable build. The
directory in this repo will refer to the latest or specific commit.
REX-Ray is available as a standalone process today and as a distributed
model of client-server. The
client performs a level abstraction of local
host processes (request for volume attachment, discovery, format, and mounting
of devices) while the
server provides the necessary abstraction of the
control plane for multiple storage platforms/
Storage Provider Support
The following storage providers and platforms are supported by REX-Ray.
|GCE Persistent Disk||✓||✓||✓|
|Microsoft||Azure Unmanaged Disk||✓|
Operating System Support
The following operating systems are supported by REX-Ray:
|OS X Yosemite+||✓|
The following command will install the REX-Ray client-server tool. If using
Ubuntu the necessary service manager is used
to bootstrap the process on startup
curl -sSL https://dl.bintray.com/emccode/rexray/install | sh -
Runtime - CLI
REX-Ray can be run as an interactive CLI to perform volume management capabilities.
$ export REXRAY_SERVICE=ebs $ export EBS_ACCESSKEY=access_key $ export EBS_SECRETKEY=secret_key $ rexray volume ls ID Name Status Size vol-6ac6c7d6 attached 8
Runtime - Service (Docker)
Additionally, it can be run as a service to support
Mesos, and other
platforms that can communicate through
$ export REXRAY_SERVICE=ebs $ export EBS_ACCESSKEY=access_key $ export EBS_SECRETKEY=secret_key $ rexray service start Starting REX-Ray...SUCCESS! The REX-Ray daemon is now running at PID XX. To shutdown the daemon execute the following command: sudo /usr/bin/rexray stop $ docker run -ti --volume-driver=rexray -v test:/test busybox $ df -h /test
Runtime - Docker Plugin
Starting with Docker 1.13, Docker now supports a new plugin architecture in which plugins can be installed as containers.
$ docker plugin install rexray/ebs EBS_ACCESSKEY=access_key EBS_SECRETKEY=secret_key Plugin "rexray/ebs:latest" is requesting the following privileges: - network: [host] - mount: [/dev] - allow-all-devices: [true] - capabilities: [CAP_SYS_ADMIN] Do you grant the above permissions? [y/N] y latest: Pulling from rexray/ebs 2ef3a0b3d192: Download complete Digest: sha256:86a3bf7fdab857c955d7ef3fb94c01e350e34ba0f7fd3d0bd485e45f1592e1c2 Status: Downloaded newer image for rexray/ebs:latest Installed plugin rexray/ebs:latest $ docker plugin ls ID NAME DESCRIPTION ENABLED 450420731dc3 rexray/ebs:latest REX-Ray for Amazon EBS true $ docker run -ti --volume-driver=rexray/ebs -v test:/test busybox $ df -h /test
REX-Ray is a container storage orchestration engine that enables persistence for cloud-native workloads.
Source Files ¶
Package libstorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations.
|Package libstorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations.|
Package registry is the central hub for Drivers and other types that follow the init-time registration.
|Package registry is the central hub for Drivers and other types that follow the init-time registration.|
Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go.
|Package filters is a piece of thievery as the LDAP filter parsing code was lifted serepticiously from https://github.com/tonnerre/go-ldap/blob/master/ldap.go.|
Package linux is the OS driver for linux.
|Package linux is the OS driver for linux.|
Package scripts includes scripts that are embedded in REX-Ray during the build process that is driven by the make file.
|Package scripts includes scripts that are embedded in REX-Ray during the build process that is driven by the make file.|