Cluster discovery

On startup, you will need to specify whether a StorageOS node should bootstrap a new cluster or join an existing cluster.

Cluster initialization

StorageOS offers a public etcd discovery service, which is a convenient way to pass clustering information to the StorageOS node.

# Create a cluster discovery token. This token is not used after initialization
$ storageos cluster create

# Supply the returned cluster ID token to each node via JOIN

Alternatively, you can specify the IP addresses explicity.

# Specify a node to connect to in an existing cluster

# Specify a list of nodes to attempt to connect to, in left-to-right order

# Specify both the discovery service and IP addresses, tried left-to-right

The JOIN command line argument is always required, even in clusters with only one node. A blank JOIN variable will result in a non-functional cluster. This is to prevent non-obvious split-brain scenarios in multi-node clusters, where JOIN was mistakenly omitted.

# Create a one-node cluster; note that replicas are unavailable.