[Gluster-devel] 1.4.0qa19 - readonly filter translator

Snezhana Bekova dudo at mail.bg
Thu Jun 19 12:23:43 UTC 2008



   Hi Amar,
Yes, AFR and Stripe needs support of extended attribute, so there is  
on the underlying file systems on the glusterfs servers (there are  
two). When I try mount on glusterfs client afr with volumes  
"brick-local", instead "brick-readonly" there is no problem - the  
filesystem mounted. If I change afr with volumes "brick-readonly", the  
filesystem can't mount. Last time I forgot paste server log during  
trying mount readonly. Here is the log:
"2008-06-19 12:41:56 E [tcp.c:89:__tcp_rwv] server: EOF from peer
2008-06-19 12:41:56 E [tcp.c:624:tcp_proto_state_machine] server:  
socket read failed (Transport endpoint is not connected) in state 1
2008-06-19 12:41:56 E [tcp.c:1328:fini] server: transport 0x8054090 destroyed"

   After that I moved filter translator (readonly) on client side over  
afr and there is no problem and it is working. That's fine.

    volume client-wks12
   type protocol/client
   option transport-type tcp/client
   option remote-host 10.0.0.1
   option remote-subvolume brick-readonly
   option transport-timeout 10
 end-volume

    volume client-valhalla
   type protocol/client
   option transport-type tcp/client
   option remote-host 10.0.0.2
   option remote-subvolume brick-readonly
   option transport-timeout 10
 end-volume

    volume afr
  type cluster/afr
  subvolumes client-wks12 client-valhalla
 end-volume

    volume brick-readonly
  type features/filter
  subvolumes afr
 end-volume

   What is difference where to use filter translator - on client side  
or server side?

   The reason making readonly: we planing using glusterfs on web  
servers with backend fast-cgi servers. Readonly filesystem is for  
backend fast-cgi servers.

   Many thanks for answers,

   Snezhana

   Цитат от "Amar S. Tumballi" <amar at zresearch.com>:

> Hi Snezhana,
>   The reason why its not mounting is
> "[CRITICAL]: 'client-wks12' doesn't support Extended attribute: Read-only
> file system"
>
> Currently, AFR (and Stripe) translator needs Extended attribute support in
> all of its subvolumes, and if not it will not allow you to mount. (because
> it may fail to maintain consistency otherwise).  Can you explain the reason
> behind making a Read-only filesystem as subvolume of afr? so, we can think
> of some method of making it possible?
>
> Regards,
> Amar
>
> On Wed, Jun 18, 2008 at 3:17 AM, Snezhana Bekova <dudo at mail.bg> wrote:
>
>> Hi Amar,
>> Thanks for your answer, I tested glusterfs-1.4.0tla197. On the client
>> glusterfs I can't mount the readonly volume.
>> I have posted the client logs on pastebin, when I try to mount the volume:
>> http://gluster.pastebin.org/44413[1]
>>
>> Here is the client config file:
>>
>> volume client-wks12
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.1
>>    option remote-subvolume brick-readonly
>>    option transport-timeout 10
>> end-volume
>>
>> volume client-valhalla
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.2
>>    option remote-subvolume brick-readonly
>>    option transport-timeout 10
>> end-volume
>>
>> volume afr
>>   type cluster/afr
>>   subvolumes client-wks12 client-valhalla
>> end-volume
>>
>> volume client-wks12-webtmp
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.1
>>   option remote-subvolume brick-webtmp
>>   option transport-timeout 10
>> end-volume
>>
>> volume client-valhalla-webtmp
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.2
>>    option remote-subvolume brick-webtmp
>>    option transport-timeout 10
>> end-volume
>>
>> volume afr-webtmp
>>    type cluster/afr
>>    subvolumes client-wks12-webtmp client-valhalla-webtmp
>> end-volume
>>
>> volume client-wks12-wwwroot1
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.1
>>   option remote-subvolume brick-local1
>>   option transport-timeout 10
>> end-volume
>>
>> volume client-valhalla-wwwroot1
>>    type protocol/client
>>    option transport-type tcp/client
>>    option remote-host 10.0.0.2
>>    option remote-subvolume brick-local1
>>    option transport-timeout 10
>> end-volume
>>
>> volume afr-wwwroot1
>>    type cluster/afr
>>    subvolumes client-wks12-wwwroot1 client-valhalla-wwwroot1
>> end-volume
>>
>> Here is the one server config file:
>>
>> volume brick-local
>>    type storage/posix
>>    option directory /wwwroot
>> end-volume
>>
>> volume brick-local1
>>    type storage/posix
>>    option directory /wwwroot/Advert
>> end-volume
>>
>> volume brick-readonly
>>
>>    type features/filter
>>    subvolumes brick-local
>> end-volume
>>
>> volume brick-webtmp
>>    type storage/posix
>>    option directory /var/webtmp
>> end-volume
>>
>> volume server
>>    type protocol/server
>>    option transport-type tcp/server
>>    subvolumes brick-local brick-readonly brick-webtmp brick-local1
>>    option auth.ip.brick-webtmp.allow *
>>    option auth.ip.brick-local.allow *
>>    option auth.ip.brick-local1.allow *
>>    option auth.ip.brick-readonly.allow *
>> end-volume
>>
>>
>> Thanks,
>> Snezhana
>>
>> Цитат от "Amar S. Tumballi" <amar at zresearch.com>:
>>
>> > Hi Snezhana,
>> >  The fix for this already went into the source repo. To make testing easy
>> > for you, I have created a tarball, available here:
>> >
>>>> http://gnu.zresearch.com/~amar/qa-releases/glusterfs-1.4.0tla197.tar.gz[2]<http://gnu.zresearch.com/%7Eamar/qa-releases/glusterfs-1.4.0tla197.tar.gz[3]>
>> >
>> > Let us know how the testing goes.
>> >
>> > Regards,
>> > Amar
>> >
>> > 2008/6/17 Snezhana Bekova <dudo at mail.bg>:
>> >
>> >> Many Thanks! I'll wait next release.
>> >>
>> >> --
>> >>
>> >> Snezhana
>> >>
>> >> Цитат от "Amar S. Tumballi" <amar at zresearch.com>:
>> >>
>> >>
>> >> > Well, thanks for the report. I found the bug. will be fixed in next
>> >> commit.
>> >> > Should be available in tar.gz format with next release (due in a day
>> or
>> >> > two).
>> >> >
>> >> > -amar
>> >> >
>> >> > On Mon, Jun 16, 2008 at 5:35 PM, Amar S. Tumballi <amar at zresearch.com
>> >
>> >> > wrote:
>> >> >
>> >> >> Yes! any crash is treated as bug. But I would like to see the client
>> log
>> >> >> file too. The log about extended attribute not supported is due to
>> >> having
>> >> >> filter (which doesn't allow setxattr to succeed). Anyways, it would
>> be
>> >> great
>> >> >> help if you could send the client spec file.
>> >> >>
>> >> >> Regards,
>> >> >> Amar
>> >> >>
>> >> >> 2008/6/16 Snezhana Bekova <dudo at mail.bg>:
>> >> >>
>> >> >>
>> >> >>>
>> >> >>>  Hello,
>> >> >>> I've started testing glusterfs version 1.4.0qa19. There is problem
>> with
>> >> >>> readonly filter. When I try to a make write operation on readonly
>> >> >>> brick on a
>> >> >>> glusterfs client (client side afr), the glustrefs server die.
>> >> >>>
>> >> >>> This is from the glusterfs client log messages when mounting
>> readonly
>> >> >>> volume:
>> >> >>> "2008-06-16 17:54:17 C [afr.c:6187:afr_check_xattr_cbk] afr:
>> >> [CRITICAL]:
>> >> >>> 'client-wks1' doesn't support Extended attribute: Read-only file
>> system
>> >> >>> 2008-06-16 17:54:17 C [afr.c:6187:afr_check_xattr_cbk] afr:
>> [CRITICAL]:
>> >> >>> 'client-wks2' doesn't support Extended attribute: Read-only file
>> >> system"
>> >> >>>
>> >> >>>  And this is from the glusterfs server log when die:
>> >> >>>
>> >> >>>  Here is a part of the log from glusterfs server that crashed:
>> >> >>> "TLA Repo Revision: glusterfs--mainline--3.0--patch-192
>> >> >>> Time : 2008-06-16 17:55:41
>> >> >>> Signal Number : 11
>> >> >>>
>> >> >>>  /usr/sbin/glusterfsd -f /etc/glusterfs/glusterfs-server.vol -l
>> >> >>> /var/log/glusterfs/glusterfsd.log -L
>> >> >>> WARNING --pidfile /var/run/glusterfsd.pid
>> >> >>> volume server
>> >> >>>   type protocol/server
>> >> >>>   option auth.ip.brick-readonly.allow *
>> >> >>>   option auth.ip.brick-local1.allow *
>> >> >>>   option auth.ip.brick-local.allow *
>> >> >>>   option auth.ip.brick-webtmp.allow *
>> >> >>>   option transport-type tcp
>> >> >>>   subvolumes brick-local brick-readonly brick-webtmp brick-local1
>> >> >>> end-volume
>> >> >>>
>> >> >>>  volume brick-webtmp
>> >> >>>   type storage/posix
>> >> >>>   option directory /var/webtmp
>> >> >>> end-volume
>> >> >>>
>> >> >>>  volume brick-readonly
>> >> >>>   type features/filter
>> >> >>>   subvolumes brick-local
>> >> >>> end-volume
>> >> >>>
>> >> >>>  volume brick-local1
>> >> >>>   type storage/posix
>> >> >>>   option directory /wwwroot/Advert
>> >> >>> end-volume
>> >> >>>
>> >> >>>  volume brick-local
>> >> >>>   type storage/posix
>> >> >>>   option directory /wwwroot
>> >> >>> end-volume
>> >> >>>
>> >> >>>  frame : type(1) op(27)
>> >> >>> 2008-06-16 17:55:41 C [common-utils.c:155:gf_print_bytes] : xfer ==
>> >> 27919,
>> >> >>> rcvd == 14515[0xffffe420]
>> >> >>>
>> >> >>>
>> >>
>> /usr/lib/glusterfs/1.4.0qa19/xlator/features/filter.so(filter_create+0x6c)[0xb7f77f9c]
>> >> >>>
>> >> >>>
>> >>
>> /usr/lib/glusterfs/1.4.0qa19/xlator/protocol/server.so(server_create+0x180)[0xb7584440]
>> >> >>>
>> >> >>>
>> >>
>> /usr/lib/glusterfs/1.4.0qa19/xlator/protocol/server.so(protocol_server_interpret+0xd6)[0xb7585056]
>> >> >>>
>> >> >>>
>> >>
>> /usr/lib/glusterfs/1.4.0qa19/xlator/protocol/server.so(protocol_server_pollin+0xb3)[0xb7585263]
>> >> >>>
>> >> >>>
>> >>
>> /usr/lib/glusterfs/1.4.0qa19/xlator/protocol/server.so(notify+0x51)[0xb7585351]
>> >> >>> /usr/lib/glusterfs/1.4.0qa19/transport/tcp.so[0xb757c249]
>> >> >>> /usr/lib/libglusterfs.so.0[0xb7f6d5c5]
>> >> >>> /usr/lib/libglusterfs.so.0(event_dispatch+0x21)[0xb7f6c431]
>> >> >>> [glusterfs](main+0x795)[0x804a545]
>> >> >>> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7e02450]
>> >> >>> [glusterfs][0x8049871]
>> >> >>> ---------
>> >> >>> 2008-06-16 18:13:05 W [glusterfs.c:419:glusterfs_cleanup_and_exit]
>> >> >>> glusterfs: shutting down server
>> >> >>> 2008-06-16 18:13:05 C [common-utils.c:155:gf_print_bytes] : xfer ==
>> 0,
>> >> >>> rcvd == 0"
>> >> >>>
>> >> >>> The underlying file system is ext3 and there is extended attribute
>> >> >>> support!
>> >> >>> The problem not exist on version 1.3.9.
>> >> >>> Can you tell me what is wrong? Maybe it is a bug?
>> >> >>>
>> >> >>>  Thanks,
>> >> >>> Snezhana
>> >> >>> _______________________________________________
>> >> >>> Gluster-devel mailing list
>> >> >>> Gluster-devel at nongnu.org
>> >> >>> http://lists.nongnu.org/mailman/listinfo/gluster-devel[4]
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Amar Tumballi
>> >> >> Gluster/GlusterFS Hacker
>> >> >> [bulde on #gluster/irc.gnu.org]
>> >> >> http://www.zresearch.com[5] - Commoditizing Super Storage!
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Amar Tumballi
>> >> > Gluster/GlusterFS Hacker
>> >> > [bulde on #gluster/irc.gnu.org]
>> >> > http://www.zresearch.com[6] - Commoditizing Super Storage!
>> >> >
>> >>
>> >
>> >
>> >
>> > --
>> > Amar Tumballi
>> > Gluster/GlusterFS Hacker
>> > [bulde on #gluster/irc.gnu.org]
>> > http://www.zresearch.com[7] - Commoditizing Super Storage!
>>
>
>
>
> --
> Amar Tumballi
> Gluster/GlusterFS Hacker
> [bulde on #gluster/irc.gnu.org]
> http://www.zresearch.com[8] - Commoditizing Super Storage!


Links:
------
[1] http://gluster.pastebin.org/44413
[2] http://gnu.zresearch.com/~amar/qa-releases/glusterfs-1.4.0tla197.tar.gz
[3] http://gnu.zresearch.com/~amar/qa-releases/glusterfs-1.4.0tla197.tar.gz
[4] http://lists.nongnu.org/mailman/listinfo/gluster-devel
[5] http://www.zresearch.com/
[6] http://www.zresearch.com/
[7] http://www.zresearch.com/
[8] http://www.zresearch.com/




More information about the Gluster-devel mailing list