[Gluster-users] How Does Gluster Failover
Joe Julian
joe at julianfamily.org
Wed Aug 31 15:34:27 UTC 2022
By that same token, you can also use a hostname with multiple A records
and glusterd will use those for failover to retrieve the vol file.
On 8/31/22 8:32 AM, Joe Julian wrote:
>
> Kind-of. That just tells the client what other nodes it can use to
> retrieve that volume configuration. It's only used during that initial
> fetch.
>
> On 8/31/22 8:26 AM, Péter Károly JUHÁSZ wrote:
>> You can also add the mount option: backupvolfile-server to let the
>> client know the other nodes.
>>
>> Matthew J Black <duluxoz at gmail.com> 于 2022年8月31日周三 17:21写道:
>>
>> Ah, it all now falls into place: I was unaware that the client
>> receives that file upon initial contact with the cluster, and
>> thus has that information at hand independently of the cluster nodes.
>>
>> Thank you for taking the time to educate a poor newbie - it is
>> very much appreciated.
>>
>> Cheers
>>
>> Dulux-Oz
>>
>> On 01/09/2022 01:16, Joe Julian wrote:
>>>
>>> You know when you do a `gluster volume info` and you get the
>>> whole volume definition, the client graph is built from the same
>>> info. In fact, if you look in
>>> /var/lib/glusterd/vols/$volume_name you'll find some ".vol"
>>> files. `$volume_name.tcp-fuse.vol` is the configuration that the
>>> clients receive from whichever server they initially connect to.
>>> You'll notice that file has multiple "type/client" sections,
>>> each establishing a tcp connection to a server.
>>>
>>> Sidenote: You can also see in that file, how the microkernels
>>> are used to build all the logic that forms the volume, which is
>>> kinda cool. Back when I first started using gluster, there was
>>> no glusterd and you have to build those .vol files by hand.
>>>
>>> On 8/31/22 8:04 AM, Matthew J Black wrote:
>>>>
>>>> Hi Joe,
>>>>
>>>> Thanks for getting back to me about this, it was helpful, and I
>>>> really appreciate it.
>>>>
>>>> I am, however, still (slightly) confused - *how* does the
>>>> client "know" the addresses of the other servers in the cluster
>>>> (for read or write purposes), when all the client has is the
>>>> line in the fstab file: "gfs1:gv1 /data/gv1 glusterfs
>>>> defaults 0 2"? I'm missing something, somewhere, in all of
>>>> this, and I can't work out what that "something" is. :-)
>>>>
>>>> Your help truely is appreciated
>>>>
>>>> Cheers
>>>>
>>>> Dulux-Oz
>>>>
>>>> On 01/09/2022 00:55, Joe Julian wrote:
>>>>>
>>>>> With a replica volume the client connects and writes to all
>>>>> the replicas directly. For reads, when a filename is looked up
>>>>> the client checks with all the replicas and, if the file is
>>>>> healthy, opens a read connection to the first replica to
>>>>> respond (by default).
>>>>>
>>>>> If a server is shut down, the client receives the tcp messages
>>>>> that close the connection. For read operations, it chooses the
>>>>> next server. Writes will just continue to the remaining
>>>>> replicas (metadata is stored in extended attributes to inform
>>>>> future lookups and the self-healer of file health).
>>>>>
>>>>> If a server crashes (no tcp finalization) the volume will
>>>>> pause for ping-timeout seconds (42 by default). Then continue
>>>>> as above. BTW, that 42 second timeout shouldn't be a big deal.
>>>>> The MTBF should be sufficiently far apart that this should
>>>>> still easily get you five or six nines.
>>>>>
>>>>> On 8/30/22 11:55 PM, duluxoz wrote:
>>>>>>
>>>>>> Hi Guys & Gals,
>>>>>>
>>>>>> A Gluster newbie question for sure, but something I just
>>>>>> don't "get" (or I've missed in the doco, mailing lists, etc):
>>>>>>
>>>>>> What happens to a Gluster Client when a Gluster Cluster Node
>>>>>> goes off-line / fails-over?
>>>>>>
>>>>>> How does the Client "know" to use (connect to) another
>>>>>> Gluster Node in the Gluster Cluster?
>>>>>>
>>>>>> Let me elaborate.
>>>>>>
>>>>>> I've got four hosts: gfs1, gfs2, gfs3, and client4 sitting on
>>>>>> 192.168.1.1/24 <http://192.168.1.1/24>, .2, .3, and .4
>>>>>> respectively.
>>>>>>
>>>>>> DNS is set up and working correctly.
>>>>>>
>>>>>> gfs1, gs2, and gfs3 form a "Gluster Cluster" with a Gluster
>>>>>> Volume (gv1) replicated across all three nodes. This is all
>>>>>> working correctly (ie a file (file1) created/modified on
>>>>>> gfs1:/gv1 is replicated correctly to gfs2:/gv1 and gfs3:/gv1).
>>>>>>
>>>>>> client4 has an entry in its /etc/fstab file which reads:
>>>>>> "gfs1:gv1 /data/gv1 glusterfs defaults 0 2". This is also
>>>>>> all working correctly (ie client4:/data/gv1/file1 is
>>>>>> accessible and replicated).
>>>>>>
>>>>>> So, (and I haven't tested this yet) what happens to
>>>>>> client4:/data/gv1/file1 when gfs1 fails (ie is turned off,
>>>>>> crashes, etc)?
>>>>>>
>>>>>> Does client4 "automatically" switch to using one of the other
>>>>>> two Gluster Nodes, or do I have something wrong in clients4's
>>>>>> /etc/fstab file, or an error/mis-configuration somewhere else?
>>>>>>
>>>>>> I thought about setting some DNS entries along the lines of:
>>>>>>
>>>>>> ~~~
>>>>>>
>>>>>> glustercluster IN A 192.168.0.1
>>>>>>
>>>>>> glustercluster IN A 192.168.0.2
>>>>>>
>>>>>> glustercluster IN A 192.168.0.3
>>>>>>
>>>>>> ~~~
>>>>>>
>>>>>> and having clients4's /etc/fstab file read:
>>>>>> "glustercluster:gv1 /data/gv1 glusterfs defaults 0 2", but
>>>>>> this is a Round-Robin DNS config and I'm not sure how Gluster
>>>>>> treats this situation.
>>>>>>
>>>>>> So, if people could comment / point me in the correct
>>>>>> direction I would really appreciate it - thanks.
>>>>>>
>>>>>> Dulux-Oz
>>>>>>
>>>>>>
>>>>>> ________
>>>>>>
>>>>>>
>>>>>>
>>>>>> Community Meeting Calendar:
>>>>>>
>>>>>> Schedule -
>>>>>> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
>>>>>> Bridge:https://meet.google.com/cpu-eiue-hvk
>>>>>> Gluster-users mailing list
>>>>>> Gluster-users at gluster.org
>>>>>> https://lists.gluster.org/mailman/listinfo/gluster-users
>>>>
>>>> width=
>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>>>> Virus-free.www.avast.com
>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>>>>
>>>>
>>>> <#m_-4861399478586633768_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>> ________
>>
>>
>>
>> Community Meeting Calendar:
>>
>> Schedule -
>> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
>> Bridge: https://meet.google.com/cpu-eiue-hvk
>> Gluster-users mailing list
>> Gluster-users at gluster.org
>> https://lists.gluster.org/mailman/listinfo/gluster-users
>>
>
> ________
>
>
>
> Community Meeting Calendar:
>
> Schedule -
> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC
> Bridge:https://meet.google.com/cpu-eiue-hvk
> Gluster-users mailing list
> Gluster-users at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20220831/a171a356/attachment.html>
More information about the Gluster-users
mailing list