Hi, <br> As I test, AFR can migrate file (from Server2 to Server1 )which create at Server1 down <br>time. But if a file is created when Server1 alive, then Server1 goes down (and all <br>the data lose.) And restart Server1 (as well, glusterfs process), data can <b>not </b>be <br>
replicated by AFR automatically.<br> And this case is common when we use cheap storage as glusterfs server.We have not<br>modify data at backend, but in enterprise environment , failure can not be avoid. <br> How can I deal with these cases? <br>
<br><br>Thanks & Regards<br>Baggio <br><br> <br><br><div class="gmail_quote">2008/7/4 Krishna Srinivas <<a href="mailto:krishna@zresearch.com">krishna@zresearch.com</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
AFR will take care of things as long as you dont modify the<br>
backend yourself.<br>
<br>
Regards :)<br>
<font color="#888888">Krishna<br>
</font><div><div></div><div class="Wj3C7c"><br>
On Fri, Jul 4, 2008 at 12:06 PM, baggio liu <<a href="mailto:baggioss@gmail.com">baggioss@gmail.com</a>> wrote:<br>
> Thanks for your response. :)<br>
><br>
> You mean, when some nodes failvoer, we should guarantee namespace/data<br>
> right by manually ?? afr can not work well at this case ??<br>
><br>
><br>
> Thanks<br>
><br>
> Baggio<br>
><br>
><br>
><br>
> 2008/7/4 Krishna Srinivas <<a href="mailto:krishna@zresearch.com">krishna@zresearch.com</a>>:<br>
>><br>
>> Baggio,<br>
>><br>
>> If the xattr versions are same on both the directories of AFR, then<br>
>> it assumes that contents are also same, so when you wipe the<br>
>> data on the first brick, you also need to make sure that when you<br>
>> bring it back up, the version on the brick2 is more that version<br>
>> on brick1. use "getfattr" to get version and createtime attrs<br>
>> on the directories. the xattrs are trusted.glusterfs.version and<br>
>> trusted.glusterfs.createtime.<br>
>><br>
>> Krishna<br>
>><br>
>> On Fri, Jul 4, 2008 at 11:10 AM, baggio liu <<a href="mailto:baggioss@gmail.com">baggioss@gmail.com</a>> wrote:<br>
>> > Hi,<br>
>> > I have make some tests.<br>
>> ><br>
>> > 1. AFR is up (namespace and data brick between Server1 and Server2 have<br>
>> > AFR)<br>
>> > 2. touch file f1<br>
>> > 3. Server1 crashes (remove data and namespace in Server1 )<br>
>> ><br>
>> > 4. ls on mount point, f1 exists and everything is normal (ls read from<br>
>> > Server2)<br>
>> > 5. gclusterfsd start on Server1<br>
>> > 6. ls on mount point does not show f1 anymore (ls read only from<br>
>> > brick1?)<br>
>> > 7. cat f1 on client, and content of it can be seen, but ls can not work<br>
>> > well.<br>
>> ><br>
>> > GlusterFS version 1.3.9 release<br>
>> ><br>
>> ><br>
>> ><br>
>> > Server1 spec vol:<br>
>> ><br>
>> > volume brick<br>
>> > type storage/posix<br>
>> > option directory /mnt/glusterfs/brick00<br>
>> > end-volume<br>
>> ><br>
>> > volume ns<br>
>> > type storage/posix<br>
>> > option directory /mnt/glusterfs/ns<br>
>> > end-volume<br>
>> ><br>
>> > volume server<br>
>> > type protocol/server<br>
>> > option transport-type tcp/server<br>
>> > option ib-verbs-work-request-send-size 131072<br>
>> > option ib-verbs-work-request-send-count 64<br>
>> > option ib-verbs-work-request-recv-size 131072<br>
>> > option ib-verbs-work-request-recv-count 64<br>
>> > option auth.ip.brick.allow *<br>
>> > option auth.ip.ns.allow *<br>
>> > subvolumes brick ns<br>
>> > end-volume<br>
>> ><br>
>> > Server2 spec vol:<br>
>> ><br>
>> > volume remote-ns<br>
>> > type protocol/client<br>
>> > option transport-type tcp/client<br>
>> > option remote-host [server1 ip]<br>
>> > option remote-subvolume ns<br>
>> > end-volume<br>
>> ><br>
>> > volume local-ns<br>
>> > type storage/posix<br>
>> > option directory /mnt/glusterfs/ns<br>
>> > end-volume<br>
>> ><br>
>> > volume ns<br>
>> > type cluster/afr<br>
>> > subvolumes remote-ns local-ns<br>
>> > end-volume<br>
>> ><br>
>> > volume remote-brick00<br>
>> > type protocol/client<br>
>> > option transport-type tcp/client<br>
>> > option remote-host <a href="http://172.16.208.20" target="_blank">172.16.208.20</a><br>
>> > option remote-port 6996<br>
>> > option remote-subvolume brick<br>
>> > end-volume<br>
>> ><br>
>> ><br>
>> > volume local-brick00<br>
>> > type storage/posix<br>
>> > option directory /mnt/glusterfs/brick00<br>
>> > end-volume<br>
>> ><br>
>> > volume brick00<br>
>> > type cluster/afr<br>
>> > subvolumes remote-brick00 local-brick00<br>
>> > end-volume<br>
>> ><br>
>> > volume unify<br>
>> > type cluster/unify<br>
>> > option namespace ns<br>
>> > option scheduler rr<br>
>> > subvolumes brick00<br>
>> > end-volume<br>
>> ><br>
>> > BTW, I'm not very clear about what arnulf said, but in my may, this<br>
>> > problem<br>
>> > can be seen.<br>
>> ><br>
>> ><br>
>> > Baggio<br>
>> ><br>
>> ><br>
>> > 2008/7/4 Krishna Srinivas <<a href="mailto:krishna@zresearch.com">krishna@zresearch.com</a>>:<br>
>> >><br>
>> >> >>> 1. AFR is up<br>
>> >> >>> 2. touch file f1<br>
>> >> >>> 3. brick1 crashes<br>
>> >> >>> 4. ls on mount point, f1 exists and everything is normal (ls read<br>
>> >> >>> from<br>
>> >> >>> brick2)<br>
>> >> >>> 5. file system repair removes f1 from brick1<br>
>> >><br>
>> >> Glusterfs removes f1 from brick1? Or do you manually remove it?<br>
>> >> Could you also check with a later release. As a related bug was<br>
>> >> fixed.<br>
>> >><br>
>> >> Thanks<br>
>> >><br>
>> >> >>> 6. gclusterfsd start on brick1<br>
>> >> >>> 7. ls on mount point does not show f1 anymore (ls read only from<br>
>> >> >>> brick1?)<br>
>> >> >>> 8. cat f1 on mount point replicates file and it becomes visible<br>
>> >><br>
>> >><br>
>> >><br>
>> >> On Fri, Jul 4, 2008 at 7:03 AM, baggio liu <<a href="mailto:baggioss@gmail.com">baggioss@gmail.com</a>> wrote:<br>
>> >> > Hi,<br>
>> >> > A file can't "ls " ,but can "less ".<br>
>> >> > I think this action is a little weird. If this action can not be<br>
>> >> > supp<br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br>