Revealing Gluster command options

It must be silly to have Gluster command options as a title of a blog, but this options are not explained in the anywhere at all. These options are only known if you open the source code or any part in the Gluster site ”accidentally” use it.

  • --version
    Print the current Gluster version
  • --print-logdir
    Print the location of log directory
  • --print-statedumpdir
    Print the location of state dumping directory
  • --xml
    Print the interactive script command result in xml format
  • --mode=[script|interactive]
    Gluster mode options
  • --remote-host=[hostname]
    IP address of Gluster node that will run Gluster command
    Warning: This option doesn't work if you use it with volume start/stop command.
    (i.e gluster --remote-host=X.X.X.X volume [start/stop])
  • --log-file=[location]
    Desired log file location
  • --timeout=[duration]
    I haven't really look up the use of this option. But I guess this option is for the timeout in remote conection (--remote-host).
    from redhat documentation
  • --glusterd-sock=[string]
    I don't know this is for
  • --secure-mgmt=[(1, on, yes, true, enable)|(0, off, no, false, disable)]
    I don't know this is for

The file location specifying these options is in “cli/src/cli.c”.


Why I build Gluster Dashboard

I had interest in file system since I was able to finish a campus project about FUSE. I thought by having a distributed file system for my final project, I will learn more about it along the way. So my professor suggest me Gluster File system project which I have never heard before as my final project. It turns out it is not easy as it seems. It is really different with the usual web project. The knowledge of Linux File system and C language is a big deal in this part. Reading the code is different with understanding the architecture. Having Jeff Darcy’s Blog and readthedocs as references are no use at all.

I was ready to give up already when I tried to contact the Gluster developers (Raghavendra Gowdappa, Pranith Kumar Karampuri and Shyam). Thank god they are really helpful. They are willing to help me (even sent me a document which is supposed to help with my implementation). Although even with that help, I still couldn’t do it. I still couldn’t understand where I am supposed to start from. I hope I don’t disappoint them too much.

Finally, I try to create a dashboard for Gluster. I hope by building this Gluster, I can understand architecture Gluster more. I even find many bugs/options from Gluster command line. (I haven’t report it, I just put it in TODO comment in my project). I am going to post about Gluster in this blog, hoping some of the developers (or ANYONE!) can correct me.

Gluster Filesystem Dashboard

I created an Gluster Filesystem which is inspired by Aravinda’s GDash. This project is also still very young (I tried to build the architecture more flexible so it will be easier to maintain later on). Anyone who is interested in the project can clone it from my Github. The reason I build this project will be explained in the next post. These are the following screenshots:

Gluster Dashboard
There is a volume start feature, to allow you start without from terminal
Gluster Dashboard-2
There is a brick layout feature, which allows you to know which brick takes the hash range

Steps to use the dashboard:

  1. Clone from the github.
  2. Go inside the cloned folder and install the requirements
    pip install -r requirements.txt
  3. Go inside the gdash folder and run
    sudo python
  4. The dashboard should run in localhost:5000 by default

For anymore help you can run the following command to get running options.

sudo python -h

I would love to find any feedback/issue/suggestion from anyone. I am open to any suggestion.