<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:43:44 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-11421] DoM: manual migration OST-MDT, MDT-MDT</title>
                <link>https://jira.whamcloud.com/browse/LU-11421</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Make migration for DoM files with LFS command. This is not working out-of-box for Data-on-MDT files because it is not enough just change layout, data should be moved as well.&lt;/p&gt;

&lt;p&gt;The OST-to-MDT and MDT-MDT migrations to be supported.  Note that MDT-MDT migration might just be &quot;cp + rename&quot;, since it will be the same.&lt;/p&gt;</description>
                <environment></environment>
        <key id="53400">LU-11421</key>
            <summary>DoM: manual migration OST-MDT, MDT-MDT</summary>
                <type id="7" iconUrl="https://jira.whamcloud.com/images/icons/issuetypes/task_agile.png">Technical task</type>
                            <parent id="49050">LU-10176</parent>
                                    <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="tappro">Mikhail Pershin</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>DoM2</label>
                    </labels>
                <created>Mon, 24 Sep 2018 14:45:40 +0000</created>
                <updated>Wed, 27 Apr 2022 23:54:10 +0000</updated>
                            <resolved>Mon, 16 Sep 2019 23:30:47 +0000</resolved>
                                                    <fixVersion>Lustre 2.13.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="250257" author="gerrit" created="Fri, 28 Jun 2019 11:00:32 +0000"  >&lt;p&gt;Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/35359&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35359&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11421&quot; title=&quot;DoM: manual migration OST-MDT, MDT-MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11421&quot;&gt;&lt;del&gt;LU-11421&lt;/del&gt;&lt;/a&gt; dom: manual OST-to-DOM migration via mirroring&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 95a57898961152c2d8dc6dc6e94399b0baffa81f&lt;/p&gt;</comment>
                            <comment id="252247" author="tappro" created="Tue, 30 Jul 2019 08:13:51 +0000"  >&lt;p&gt;Add here some explanation about how OST-DOM migration works:&lt;/p&gt;

&lt;p&gt;OST layout + data on OSTs -&amp;gt; DOM layout + data on MDT&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;no sense to create volatile file, because its data will be tied to its new MDT inode, but we want to keep data with the old inode. We need to read data from OSTs stripes and write it to the inode blocks on MDT (like to the DOM file)&lt;/li&gt;
	&lt;li&gt;add new mirror with DOM component via &apos;mirror extend&apos;, the DOM component will be &apos;stale&apos; after that&lt;/li&gt;
	&lt;li&gt;do mirror resync to fill stale DOM component with data&lt;/li&gt;
	&lt;li&gt;remove old layout from mirror by &apos;mirror split&apos;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It is possible to have a DOM component with the same size in different mirrors, it is not &apos;mirrored&apos; in that case but since we are considering MDT inode exists always that is not a problem I think. Technically it can be different size even - MDT inode will store the largest DoM stripe in that case but more work will be needed to return MDT stripe size to the client correctly in that case. Now it is just inode size, but should be limited by DOM component size depending on chosen mirror layout.&lt;/p&gt;

</comment>
                            <comment id="252248" author="tappro" created="Tue, 30 Jul 2019 08:26:47 +0000"  >&lt;p&gt;Another thing to think about - what sort of OST-striped files should NOT be migrated to DOM files:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;file size is bigger already than proposed DOM component size - can&apos;t imagine useful reason for such migration with no any benefits from MDT stripe&lt;/li&gt;
	&lt;li&gt;already mirrored files - new DOM layout should be added manually as new mirror in that case, not via &lt;tt&gt;lfs migrate&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;not sure about PFL files, if file was created as PFL so it is expected it will grow beyond the current size, so also no sense to move it on MDT, on other hand excluding such files would mean that only plain layout files can be migrated to MDT via &lt;tt&gt;lfs migrate&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="252291" author="adilger" created="Tue, 30 Jul 2019 19:04:42 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Add here some explanation about how OST-DOM migration works:&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This explanation should all be included in the patch commit message. &lt;/p&gt;

&lt;p&gt;Note that we can&apos;t exclude PFL files just on principle, because a filesystem may have a default PFL layout (maybe before the MDT has enough space for DoM, then new large MDTs are added to the filesystem) so &lt;b&gt;all&lt;/b&gt; files are PFL. In general, while. It is good to have smart behavior by default if no other input is given, I think the kernel should try to avoid overriding decisions made by userspace. &lt;/p&gt;</comment>
                            <comment id="252310" author="tappro" created="Wed, 31 Jul 2019 09:43:21 +0000"  >&lt;p&gt;yes, I think that PFL files should be processed as all other, if it is file size bigger than DOM component size of new layout then &lt;tt&gt;lfs migrate&lt;/tt&gt; should exit with a warning about that and propose to use &lt;tt&gt;-f&lt;/tt&gt; parameter if user really want to do that.&lt;/p&gt;</comment>
                            <comment id="252322" author="adilger" created="Wed, 31 Jul 2019 15:41:29 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;yes, I think that PFL files should be processed as all other, if it is file size bigger than DOM component size of new layout then lfs migrate should exit with a warning about that and propose to use -f parameter if user really want to do that.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Well, it isn&apos;t clear that there is a need/benefit to return an error when the user asks for this.  There &lt;b&gt;are&lt;/b&gt; reasons for having a DoM component at the start of a file, e.g. for files that have an embedded index/icon/header at the start, so my first choice would be to allow what the user asked for instead of trying to second-guess their request.  That said, if the user has &lt;b&gt;not&lt;/b&gt; requested a DoM component (e.g. generic &quot;&lt;tt&gt;lfs migrate&lt;/tt&gt;&quot; command) then I&apos;m perfectly happy to drop the DoM component, and PFL in general, and use a plain layout with the &lt;tt&gt;stripe_count&lt;/tt&gt;, &lt;tt&gt;stripe_size&lt;/tt&gt;, and &lt;tt&gt;pool&lt;/tt&gt; from the last instantiated component of the file.&lt;/p&gt;

&lt;p&gt;As an aside, I generally dislike using &quot;&lt;tt&gt;&lt;del&gt;f&lt;/tt&gt;&quot; as &quot;force some action&quot;, since often the &quot;&lt;tt&gt;-f&lt;/tt&gt;&quot; argument gets overloaded to mean &quot;force common action A&quot; and also &quot;force dangerous action B&quot;, and people just get used to adding &quot;-f&quot; to all of their commands which can lead to bad things happening (e.g. &quot;&lt;tt&gt;rm -rf / &amp;#42;&lt;/tt&gt;&quot;).  It would be better to have a long option like &quot;&lt;tt&gt;&lt;/del&gt;-force-mdt&lt;/tt&gt;&quot;, but in general I think if the user already asks for a DoM component via &quot;&lt;tt&gt;-E 1M --layout mdt ...&lt;/tt&gt;&quot; then that is enough.&lt;/p&gt;</comment>
                            <comment id="252324" author="adilger" created="Wed, 31 Jul 2019 15:48:54 +0000"  >&lt;p&gt;Is it also possible to do DoM-to-OST mirroring to drop &lt;em&gt;just&lt;/em&gt; the &lt;tt&gt;mdt&lt;/tt&gt; component from a large file?  That would essentially need to write the DoM data to the first OST object (second component) in the background, and then add a new xattr operation to drop the &lt;tt&gt;mdt&lt;/tt&gt; component and change the start of the second component to offset 0.&lt;/p&gt;</comment>
                            <comment id="252357" author="tappro" created="Wed, 31 Jul 2019 20:19:45 +0000"  >&lt;p&gt;Andreas, yes,  I tend to agree, though several DOM optimisations are lost for files with DOM+OST objects instantiated there are still some remains, e.g. small random access moved from OST to MDT and considering that MDT can have faster storage in general. So it is even simpler for me to don&apos;t add extra checks for &lt;tt&gt;lfs migrate&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;As for the DOM component removal, I think that has the similar benefits for any PFL file, when upon growing the first, smaller, component could be integrated into the next one and dropped. Though I am not sure if we have such feature now.&lt;/p&gt;

&lt;p&gt;Meanwhile, mirroring allows also to increase DoM component size for DoM files, which is not possible via layout swap.&lt;/p&gt;</comment>
                            <comment id="254772" author="gerrit" created="Mon, 16 Sep 2019 23:01:13 +0000"  >&lt;p&gt;Oleg Drokin (green@whamcloud.com) merged in patch &lt;a href=&quot;https://review.whamcloud.com/35359/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/35359/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-11421&quot; title=&quot;DoM: manual migration OST-MDT, MDT-MDT&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-11421&quot;&gt;&lt;del&gt;LU-11421&lt;/del&gt;&lt;/a&gt; dom: manual OST-to-DOM migration via mirroring&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 44a721b8c10631b52f9ee2fbac1eee8cb775d148&lt;/p&gt;</comment>
                            <comment id="254830" author="pjones" created="Mon, 16 Sep 2019 23:30:47 +0000"  >&lt;p&gt;Landed for 2.13&lt;/p&gt;</comment>
                            <comment id="265013" author="sthiell" created="Tue, 10 Mar 2020 17:50:18 +0000"  >&lt;p&gt;Is it planned to backport this patch to b2_12? I&apos;m asking because we have MDTs that are almost full in terms of inodes (mainly due to the DoM ldiskfs space requirement, we ran out of inodes even though each MDT is 18TB). Many DoM files remain on these full MDTs, so we cannot easily migrate directories them to other MDTs (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-13298&quot; title=&quot;lfs migrate -m &amp;quot;migrate failed: Operation not supported (-95)&amp;quot; on DoM files&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-13298&quot;&gt;&lt;del&gt;LU-13298&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10324">
                    <name>Cloners</name>
                                            <outwardlinks description="Clones">
                                        <issuelink>
            <issuekey id="42343">LU-10177</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="18725">LU-3285</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="49376">LU-10258</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="49050">LU-10176</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="70048">LU-15794</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="51798">LU-10910</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="57308">LU-12935</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="67153">LU-15219</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48722">LU-10112</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="52102">LU-10995</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="59392">LU-13612</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i002yv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>