Installing Gluster on CentOS 7
-
In my example here, I use LVM as the block device. This is a case where, in production, you would likely not use LVM as there are already several abstraction layers going on and the goal is a lean storage cluster. But LVM provides some flexibility should we want to grow this in the future.
-
Using this with a system like a Scale HC3 or another form of cluster, you would want to be absolutely sure that you "pin" or set node affinity to ensure that individual nodes run only on independent pieces of underlying hardware.
-
You probably want a way to see what is going on with your Gluster storage. The info command will tell us the status, like in this example:
# gluster volume info Volume Name: gv0 Type: Replicate Volume ID: fc3d20d9-d65e-47ab-93b3-3598e1c9b751 Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 192.168.1.80:/export/glusterdata/brick Brick2: 192.168.1.81:/export/glusterdata/brick Options Reconfigured: performance.readdir-ahead: on
-
Aside from the size of the drives, what would you change if you were putting this into production?
Ideally, you would have a way to prevent split-brain type problems.
-
This will be helpful. We have a few servers at work that the RAID cards have failed. We are planning to put software RAID and test some things out. One was either Ceph or Gluster. This will help a lot.
-
@dafyre said:
Aside from the size of the drives, what would you change if you were putting this into production?
Ideally, you would have a way to prevent split-brain type problems.
For production I would have at least three nodes and pretty typically would not have this on a shared infrastructure but on dedicated hardware. Because this is a full cluster on its own, I would expect that I would have resources for nothing but this, custom build for the purpose.
If Raspberry Pi 3 had SATA connections, I would totally build a cluster that way for fun. That would be neat. You need very low CPU power for Gluster.
I would likely remove LVM in production as well. Just use the raw disk and all of it.
-
I'm firing up a couple VMs on my KVM box to test it.
Does Ceph have any advantages? I don't think I can count object storage as an advantage based on what we would be using it for.
-
@johnhooks said:
I'm firing up a couple VMs on my KVM box to test it.
Does Ceph have any advantages? I don't think I can count object storage as an advantage based on what we would be using it for.
Not a lot.
http://www.networkcomputing.com/storage/gluster-vs-ceph-open-source-storage-goes-head-head/8824853
Now that CEPH and Gluster are both inside the RH fold, if you don't want the object flexibility of CEPH, Gluster might be for you.
-
@scottalanmiller said:
@johnhooks said:
I'm firing up a couple VMs on my KVM box to test it.
Does Ceph have any advantages? I don't think I can count object storage as an advantage based on what we would be using it for.
Not a lot.
http://www.networkcomputing.com/storage/gluster-vs-ceph-open-source-storage-goes-head-head/8824853
Now that CEPH and Gluster are both inside the RH fold, if you don't want the object flexibility of CEPH, Gluster might be for you.
Ya we would be using it pretty much as a giant NAS. That's what we are experimenting with is older 24 drive servers that were NAS boxes.
-
@scottalanmiller said:
@johnhooks said:
I'm firing up a couple VMs on my KVM box to test it.
Does Ceph have any advantages? I don't think I can count object storage as an advantage based on what we would be using it for.
Not a lot.
http://www.networkcomputing.com/storage/gluster-vs-ceph-open-source-storage-goes-head-head/8824853
Now that CEPH and Gluster are both inside the RH fold, if you don't want the object flexibility of CEPH, Gluster might be for you.
Ha I just read that article like 10 minutes ago.
-
So the next question would be... which IP address do you use for connecting to the Gluster system? the IP address of Brick 1 or Brick 2... or Brick N... ?
Or do you set up some kind of master IP address with Pacemaker / Heartbeat, et al?
-
@dafyre said:
So the next question would be... which IP address do you use for connecting to the Gluster system? the IP address of Brick 1 or Brick 2... or Brick N... ?
Great question. The Gluster client actually handles this. Mount from Server1 and that server fails, the client automatically attaches to Server2. It's not 100% transparent, there is some noticeable delay during the failover but it takes care of itself. It's self healing.
At mount time, you can't do that, if Server1 is down and that's what is in your mount command it can't find the second server. So either you accept that limitation or you put backup servers into the mount command itself and then it handles it at boot time as well.
-
Basically, when mounting, the client appears to query the first node, ask it where the other nodes are, and then is ready to reach out to them as needed. The systems remains able to read and write without any intervention even if an individual node fails.
-
@dafyre said:
So the next question would be... which IP address do you use for connecting to the Gluster system?
Any or all.
-
You forgot
gluster start volume gv0
before you mount the volume to
/data
-
@scottalanmiller
No package glusterfs-server available ???I tried other articles as well
I can install = centos-release-gluster
but not glusterfs-serve = not available
Oh nvm they changed the url of their repo
Connecting to download.gluster.org (download.gluster.org)|23.253.208.221|:443... connected.
HTTP request sent, awaiting response... 404 Not FoundThis worked for me:
yum search centos-release-gluster #check LTS version number (centos-release-gluster310)
yum -y install centos-release-gluster310 -y
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Gluster-3.10.repo
yum --enablerepo=centos-gluster310,epel -y install glusterfs-server
systemctl start glusterd
systemctl enable glusterd -
@emad-r said in Installing Gluster on CentOS 7:
@scottalanmiller
No package glusterfs-server available ???I tried other articles as well
I can install = centos-release-gluster
but not glusterfs-serve = not available
Oh nvm they changed the url of their repo
Connecting to download.gluster.org (download.gluster.org)|23.253.208.221|:443... connected.
HTTP request sent, awaiting response... 404 Not FoundThis worked for me:
yum search centos-release-gluster #check LTS version number (centos-release-gluster310)
yum -y install centos-release-gluster310 -y
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Gluster-3.10.repo
yum --enablerepo=centos-gluster310,epel -y install glusterfs-server
systemctl start glusterd
systemctl enable glusterdIt's in the storage SIG too. So if you use a mirror local to you, you should be able to find it under storage.
-
I was thinking about doing Gluster Storage for my three KVM Hosts and keep my KVM VMs there. So if I made a virtual machine for the Gluster that used all the storage on each machine and then mounted the Gluster store in each KVM host for storage, would there be any disadvantage to that?
-
@penguinwrangler said in Installing Gluster on CentOS 7:
I was thinking about doing Gluster Storage for my three KVM Hosts and keep my KVM VMs there. So if I made a virtual machine for the Gluster that used all the storage on each machine and then mounted the Gluster store in each KVM host for storage, would there be any disadvantage to that?
Yes, good plan.
That's essentially how many commercial offerings operate today, they just hide the complexity from you.
-
@penguinwrangler said in Installing Gluster on CentOS 7:
I was thinking about doing Gluster Storage for my three KVM Hosts and keep my KVM VMs there. So if I made a virtual machine for the Gluster that used all the storage on each machine and then mounted the Gluster store in each KVM host for storage, would there be any disadvantage to that?
That's Red Hat's HCI model.