Re: Question about file copy through libgfapi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

Thanks to both Soumya and Prashanth. Actually you are both right. With the approach proposed by Soumya I would avoid the FUSE overhead but, as Prashanth says, the network transfer overhead would be always present. This is particularly important for me because I deal with very big files (usually around 100 GB and even more), so that network transfer have a big impact, while I don't think the impact of the FUSE overhead is that big.
That's why what I would like to get is a "brick to brick" copy (just server side), so I would like to use the APIs to order the server to make a copy, so that the network transfer can be avoided.

As far as I understood, it is not currently possible with libgfapi. Do you think it would be difficult to implement? Are there any other ways?
Thank you and best regards,

Giacomo Fazio
IT Engineer

Tel. +41 91 910 7690
E-mail: giacomo.fazio@xxxxxxxxxxxxxxxxxxxx  |  Web: www.wcpmediaservices.com

Europe Office: Via Zurigo 35, 6900 Lugano, Switzerland
USA Office: 7083 Hollywood Boulevard Los Angeles, CA 90028


On Fri, Aug 22, 2014 at 9:36 AM, Prashanth Pai <ppai@xxxxxxxxxx> wrote:
Hi,

Even with that approach, data would still be read (over the n/w) at the client (the app using libgfapi). I think what he is looking for is a server side copy (brick to brick) or within same brick _without_ the need for data to go through client.

Swift has this feature[1] and it would be really cool for glusterfs to have it (may be as an external tool or as a API in libgfapi) :)

# gluster-copy <src> <dest>
or
glfs_copy(src,dest)

[1] http://programmerthoughts.com/openstack/server-side-object-copy-in-openstack-storage/



Regards,
 -Prashanth Pai

----- Original Message -----
From: "Soumya Koduri" <skoduri@xxxxxxxxxx>
To: "Giacomo Fazio" <giacomo.fazio@xxxxxxxxxxxxxxxxxxxx>, "John Mark Walker" <johnmark@xxxxxxxxxxx>
Cc: gluster-devel@xxxxxxxxxxx, "Giovanni Contri" <giovanni.contri@xxxxxxxxxxxxxxxxxxxx>, forge-admin@xxxxxxxxxxx
Sent: Friday, August 22, 2014 12:40:01 PM
Subject: Re: Question about file copy through libgfapi

Hi Giacomo,

If your requirement is to get away with fuse/protocol clients and do
server-side operations, I think its doable by writing a simple libgfapi
application. But since there is no libgfapi API equivalent to "cp"
command, you may need to implement that functionality using "glfs_open,
glfs_read & glfs_write" APIs.

Here are the few links which Humble has documented on how to use
libgfapi and different APIs supported by it-

http://humblec.com/libgfapi-interface-glusterfs/
https://github.com/gluster/glusterfs/blob/master/doc/features/libgfapi.md


Few sample examples (written in 'C' and 'python') are copied to -
https://github.com/gluster/glusterfs/tree/master/api/examples


Thanks,
Soumya



On 08/21/2014 08:45 PM, Giacomo Fazio wrote:
> Hi John,
>
> Thanks for your quick answer. Do you mean that my question can be
> summarized in "can we do server-only operations?"? Yes, I think so.
> Please let me know as soon as you receive any answer or provide me a
> link where I can follow directly this case.
> Thanks in advance and best regards,
>
> *Giacomo Fazio*
> IT Engineer
>
> Tel. +41 91 910 7690
> E-mail:Â giacomo.fazio@xxxxxxxxxxxxxxxxxxxx
> <mailto:giacomo.fazio@xxxxxxxxxxxxxxxxxxxx>  |  Web:Â
> www.wcpmediaservices.com <http://www.wcpmediaservices.com>
>
> Europe Office:Â Via Zurigo 35, 6900 Lugano, Switzerland
> USA Office:Â 7083 Hollywood Boulevard Los Angeles, CA 90028
>
>
> On Thu, Aug 21, 2014 at 5:04 PM, John Mark Walker <johnmark@xxxxxxxxxxx
> <mailto:johnmark@xxxxxxxxxxx>> wrote:
>
>     Thanks, Giacomo. I'm sending this to the gluster-devel list - it's
>     an interesting question. Basically, can we do server-only operations?
>
>     -JM
>
>
>     ------------------------------------------------------------------------
>
>         Hello,
>
>         I am currently using GlusterFS version 3.5 with two bricks. What
>         I currently do is mounting the whole storage in some Linux
>         clients (RedHat) through fuse.glusterfs that (I think) uses NFS
>         in the background.
>         What I would like to do is copying a file from a directory to
>         another one in the storage in the quickest way. Using a "cp
>         file1 file2" from my RedHat client is not the best option
>         because the data flows from the storage to my RedHat client
>         through the network and then back to the storage. I would like
>         instead to avoid this waste of time and copy the file directly
>         from the 1st directory to the 2nd one. So, in a nutshell, I
>         would like to have file1 -> file2  , instead of file1 ->
>         RedHatclient -> file2
>         Do you think is it possible, for example using libgfapi? Any
>         example to show me?
>         Thank you in advance and best regards,
>
>         *Giacomo Fazio*
>         IT Engineer
>
>         Tel. +41 91 910 7690 <tel:%2B41%2091%20910%207690>
>         E-mail:Â giacomo.fazio@xxxxxxxxxxxxxxxxxxxx
>         <mailto:giacomo.fazio@xxxxxxxxxxxxxxxxxxxx>  |  Web:Â
>         www.wcpmediaservices.com <http://www.wcpmediaservices.com>
>
>         Europe Office:Â Via Zurigo 35, 6900 Lugano, Switzerland
>         USA Office:Â 7083 Hollywood Boulevard Los Angeles, CA 90028
>
>
>
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel@xxxxxxxxxxx
> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
>
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux