# Clustering

LXD supports clustering. There is only one cluster object.

## Cluster object

The `Cluster` object represents the json object that is returned from GET /1.0/cluster.

There is also a `ClusterMember` and object that represents a cluster member at GET /1.0/cluster/members. Note that it should be accessed from the cluster object. For example:

    client = pylxd.Client()
    cluster = client.cluster.get()
    member = cluster.members.get('node-5')

Note

Please see the pylxd API documentation for more information on storage pool methods and parameters. The following is a summary.

### Cluster methods

A cluster can be queried through the following client manager methods:

> - get() - Returns the cluster.

### Cluster Object attributes

For more information about the specifics of these attributes, please see the LXD Cluster REST API documentation.

> - server_name - the name of the server in the cluster

> - enabled - if the node is enabled

> - member_config - configuration information for new cluster members.

## Cluster Members

Cluster Members are stored in a cluster. On the pylxd API they are accessed from a cluster object:

    cluster = client.cluster.get()
    members = cluster.members.all()
    named_member = cluster.members.get('membername')

### Methods available on <cluster_object>.members

The following methods are accessed from the members attribute on the cluster object.

> - all - get all the members of the cluster.

> - get - a get a single named member of the cluster.

### Cluster Member Object attributes

For more information about the specifics of these attributes, please see the LXD Cluster REST API documentation.

> - server_name - the name of the server in the cluster

> - url - the url the lxd endpoint

> - database - if the distributed database is replicated on this node

> - status - if the member is off or online

> - message - a general message