gluster / cockpit-gluster

Easy to use management console for Gluster Storage with glusterd2 support.
Apache License 2.0
33 stars 8 forks source link
cockpit cockpit-plugin gluster glusterd glusterd2 glusterfs storage

Note: This project is not currently being maintained.

cockpit-gluster

A cockpit plugin that provides a status view and volume actions for a gluster cluster with glusterd2(GD2) based bricks.

It runs on any of the brick nodes (where glusterd2 is running).

Contents:

Features:

Building from source

Install Build Dependencies

sudo yum install -y npm
npm install

Build the project

./node_modules/.bin/webpack

Developing with vagrant:

After building run these commands in the repo folder:

#install vagrant
sudo yum install vagrant -y
sudo vagrant up

and browse to localhost:9091. Congratulations, you're up!

After making any changes to the code you can run npx webpack && sudo vagrant rsync to build and copy the plugin to the VMs. Refresh the browser to see your changes.

Make an rpm

make rpm

Setup your brick servers with GD2

As GD2 is in development, it is recommended to build it from the master branch and deploy it with an external etcd. See GD2 Resources for more information, and automated setup.

Installing (on one of the GD2 nodes)

Install gluster-ansible and its dependencies:

gluster-ansible is hosted in a copr repo

Install the repo:

Operating System Install Command
Centos 7 sudo curl -o /etc/yum.repos.d/gluster-ansible.repo https://copr.fedorainfracloud.org/coprs/sac/gluster-ansible/repo/epel-7/sac-gluster-ansible-epel-7.repo
Fedora 27+ sudo dnf copr enable sac/gluster-ansible

Install the packages from the repo:

sudo yum install gluster-ansible python-gluster-mgmt-client

Install cockpit-gluster

yum install -y cockpit-gluster-x.x.x-x.noarch.rpm

Browse to the cockpit port:

http://your-cockpithost.domain:9090

Creating volumes

Setup passwordless ssh from the managing host (where cockpit-gluster is installed) to all the other nodes:

Run these commands on the managing host:

ssh-keygen

ssh-copy-id root@host1.example.com
ssh-copy-id root@host2.example.com
ssh-copy-id root@host3.example.com

Click on:

Screenshots

Dashboard

Dashboard Image

Volume Creation Wizard

Wizard Hosts Image Wizard Volumes Image Wizard Bricks Image Wizard Review Image

GD2 Resources

GD2 developement guide: https://github.com/gluster/glusterd2/blob/master/doc/development-guide.md

GD2 quickstart guide: https://github.com/gluster/glusterd2/blob/master/doc/quick-start-user-guide.md

A two command cluster setup with ansible and bash (for CentOS machines): https://github.com/rohantmp/gd2-testing