<div dir="ltr"><div><div><div><div><div><div><div><div>The short answer is - no there exists no script currently that can piece the shards together into a single file.<br><br></div>Long answer:<br></div>IMO the safest way to convert from sharded to a single file _is_ by copying the data out into a new volume at the moment.<br></div>Picking up the files from the individual bricks directly and joining them, although fast, is a strict no-no for many reasons - for example, when you have a replicated volume<br>and the good copy needs to be carefully selected and must remain a good copy through the course of the copying process. There could be other consistency issues with<br></div><div>file attributes changing while they are being copied. All of this is not possible, unless you&#39;re open to taking the volume down.<br></div></div><br></div>Then the other option is to have gluster client (perhaps in the shard translator itself)) do the conversion in the background within the gluster translator stack, which is safer<br></div>but would require that shard lock it until the copying is complete. And until then no IO can happen into this file.<br>(I haven&#39;t found the time to work on this, as there exists a workaround and I&#39;ve been busy with other tasks. If anyone wants to volunteer to get this done, I&#39;ll be happy to help).<br><br></div><div>But anway, why is copying data into new unsharded volume disruptive for you?<br></div><div> <br></div><div>-Krutika<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 21, 2018 at 1:14 AM, Jamie Lawrence <span dir="ltr">&lt;<a href="mailto:jlawrence@squaretrade.com" target="_blank">jlawrence@squaretrade.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
So I have a volume on a gluster install (3.12.5) on which sharding was enabled at some point recently. (Don&#39;t know how it happened, it may have been an accidental run of an old script.) So it has been happily sharding behind our backs and it shouldn&#39;t have.<br>
<br>
I&#39;d like to turn sharding off and reverse the files back to normal.  Some of these are sparse files, so I need to account for holes. There are more than enough that I need to write a tool to do it.<br>
<br>
I saw notes ca. 3.7 saying the only way to do it was to read-off on the client-side, blow away the volume and start over. This would be extremely disruptive for us, and language I&#39;ve seen reading tickets and old messages to this list make me think that isn&#39;t needed anymore, but confirmation of that would be good.<br></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The only discussion I can find are these videos[1]: <a href="http://opensource-storage.blogspot.com/2016/07/de-mystifying-gluster-shards.html" rel="noreferrer" target="_blank">http://opensource-storage.<wbr>blogspot.com/2016/07/de-<wbr>mystifying-gluster-shards.html</a> , and some hints[2] that are old enough that I don&#39;t trust them without confirmation that nothing&#39;s changed. The video things don&#39;t acknowledge the existence of file holes. Also, the hint in [2] mentions using trusted.glusterfs.shard.file-<wbr>size to get the size of a partly filled hole; that value looks like base64, but when I attempt to decode it, base64 complains about invalid input. <br>
<br>
In short, I can&#39;t find sufficient information to reconstruct these. Has anyone written a current, step-by-step guide on reconstructing sharded files? Or has someone has written a tool so I don&#39;t have to?<br>
<br>
Thanks,<br>
<br>
-j<br>
<br>
<br>
[1] Why one would choose to annoy the crap out of their fellow gluster users by using video to convey about 80 bytes of ASCII-encoded information, I have no idea.<br>
[2] <a href="http://lists.gluster.org/pipermail/gluster-devel/2017-March/052212.html" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>pipermail/gluster-devel/2017-<wbr>March/052212.html</a><br>
<br>
<br>
______________________________<wbr>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-users</a><br>
</blockquote></div><br></div></div>