Whamcloud - gitweb
LUDOC-126 startup: component start-up order.
[doc/manual.git] / UpgradingLustre.xml
index 983f269..2a03433 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<article version="5.0" xml:lang="en-US" xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink">
-  <info>
-    <title>Upgrading Lustre</title>
-  </info>
-  <informaltable frame="none">
-    <tgroup cols="2">
-      <colspec colname="c1" colwidth="50*"/>
-      <colspec colname="c2" colwidth="50*"/>
-      
-      
-      <tbody>
-        <row>
-          <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
-          <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="ManagingLNET.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="BackupAndRestore.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link></para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <para><link xl:href=""/></para>
-  <informaltable frame="none">
-    <tgroup cols="1">
-      <colspec colname="c1" colwidth="100*"/>
-      
-      <tbody>
-        <row>
-          <entry align="right"><para><anchor xml:id="dbdoclet.50438205_pgfId-874" xreflabel=""/>C H A P T E R  16<anchor xml:id="dbdoclet.50438205_90273" xreflabel=""/></para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <informaltable frame="none">
-    <tgroup cols="1">
-      <colspec colname="c1" colwidth="100*"/>
-      
-      <tbody>
-        <row>
-          <entry align="right"><para><anchor xml:id="dbdoclet.50438205_pgfId-5529" xreflabel=""/><anchor xml:id="dbdoclet.50438205_66186" xreflabel=""/>Upgrading Lustre</para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <para><anchor xml:id="dbdoclet.50438205_pgfId-1289198" xreflabel=""/>This chapter describes Lustre interoperability and how to upgrade to Lustre 2.0, and includes the following sections:</para>
-  <itemizedlist><listitem>
-      <para><anchor xml:id="dbdoclet.50438205_pgfId-1293309" xreflabel=""/><link xl:href="UpgradingLustre.html#50438205_82079">Lustre Interoperability</link></para>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This document was created with Syntext Serna Free. --><chapter xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US" xml:id="upgradinglustre">
+  <title xml:id="upgradinglustre.title">Upgrading Lustre</title>
+  <para>This chapter describes Lustre interoperability and how to upgrade from Lustre 1.8 to Lustre 2.x, and includes the following sections:</para>
+  <itemizedlist>
+    <listitem>
+      <para><xref linkend="dbdoclet.50438205_82079"/>Lustre Interoperability</para>
     </listitem>
-<listitem>
-      <para> </para>
+    <listitem>
+      <para><xref linkend="dbdoclet.50438205_51369"/>Upgrading Lustre 1.8 to 2.x</para>
     </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438205_pgfId-1289206" xreflabel=""/><link xl:href="UpgradingLustre.html#50438205_51369">Upgrading Lustre 1.8.x to 2.0</link></para>
+    <listitem>
+      <para><xref linkend="dbdoclet.upgradetodne"/>Upgrading to multiple metadata targets</para>
     </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-</itemizedlist>
-  <section remap="h2">
-    <title><anchor xml:id="dbdoclet.50438205_pgfId-1293204" xreflabel=""/></title>
-    <section remap="h2">
-      <title>16.1 <anchor xml:id="dbdoclet.50438205_82079" xreflabel=""/>Lustre <anchor xml:id="dbdoclet.50438205_marker-1293321" xreflabel=""/>Interoperability</title>
-      <para><anchor xml:id="dbdoclet.50438205_pgfId-1294233" xreflabel=""/>Lustre 2.0 is built on a new architectural code base, which is different than the one used with Lustre 1.8. These architectural changes require existing Lustre 1.8.x users to follow a slightly different procedure to upgrade to Lustre 2.0 - requiring clients to be unmounted and the file system be shut down. Once the servers are upgraded and restarted, then the clients can be remounted. After the upgrade, Lustre 2.0 servers can interoperate with compatible 1.8 clients and servers. Lustre 2.0 does <emphasis>not</emphasis> support 2.0 clients interoperating with 1.8 servers.</para>
-      <informaltable frame="none">
-        <tgroup cols="1">
-          <colspec colname="c1" colwidth="100*"/>
-          <tbody>
-            <row>
-              <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438205_pgfId-1294673" xreflabel=""/>Lustre 1.8 clients support a mix of 1.8 and 2.0 OSTs, not all OSSs need to be upgraded at the same time.</para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-       <informaltable frame="none">
-        <tgroup cols="1">
-          <colspec colname="c1" colwidth="100*"/>
-          <tbody>
-            <row>
-              <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438205_pgfId-1294671" xreflabel=""/>Lustre 2.0 is compatible with version 1.8.4 and above. If you are planning a heterogeneous environment (mixed 1.8 and 2.0 servers), make sure that version 1.8.4 is installed on the client and server nodes that are not upgraded to 2.0.</para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </section>
-    <section remap="h2">
-      <title>16.2 <anchor xml:id="dbdoclet.50438205_51369" xreflabel=""/>Upgrading <anchor xml:id="dbdoclet.50438205_marker-1294652" xreflabel=""/>Lustre 1.8.x to 2.0</title>
-      <para><anchor xml:id="dbdoclet.50438205_pgfId-1294654" xreflabel=""/>Upgrading to Lustre 2.0 involves shutting down the file system and upgrading servers, and optionally clients, all at the same time. Lustre 2.0 does not support a rolling upgrade in which the file system operates continuously while individual servers (or their failover partners) and clients are upgraded one at a time.</para>
-      <informaltable frame="none">
-        <tgroup cols="1">
-          <colspec colname="c1" colwidth="100*"/>
-          <tbody>
-            <row>
-              <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438205_pgfId-1294870" xreflabel=""/>Although the Lustre 1.8 to 2.0 upgrade path has been tested, for best results we recommend performing a fresh Lustre 2.0 installation, rather than upgrading from 1.8 to 2.0.</para></entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-      <section remap="h3">
-        <title><anchor xml:id="dbdoclet.50438205_pgfId-1291181" xreflabel=""/>16.2.1 <anchor xml:id="dbdoclet.50438205_80840" xreflabel=""/>Performing a <anchor xml:id="dbdoclet.50438205_marker-1293327" xreflabel=""/>File System Upgrade</title>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291188" xreflabel=""/>This procedure describes a file system upgrade in which Lustre 2.0 packages are installed on multiple 1.8.x servers and, optionally, clients, requiring a file system shut down. You can choose to upgrade the entire Lustre file system to 2.0 or just upgrade the Lustre servers to 2.0 and leave the clients at 1.8.x. Lustre 2.0 servers can interoperate with compatible 1.8 clients and servers.</para>
-        <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Tip -</emphasis><anchor xml:id="dbdoclet.50438205_pgfId-1291272" xreflabel=""/>In a Lustre upgrade, the package install and file system unmount steps are reversible; you can do either step first. To minimize downtime, this procedure first performs the 2.0 package installation, and then unmounts the file system.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-         <para><anchor xml:id="dbdoclet.50438205_pgfId-1291279" xreflabel=""/> 1. Make a complete, restorable file system backup before upgrading Lustre.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294770" xreflabel=""/> 2. If any Lustre nodes will not be upgraded to 2.0, make sure that these client and server nodes are at version 1.8.4.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294786" xreflabel=""/>Lustre 2.0 is compatible with version 1.8.4 and above. If you are planning a heterogeneous environment (mixed 1.8 and 2.0 clients and servers), make sure that version 1.8.4 is installed on nodes that are not upgraded to 2.0.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290500" xreflabel=""/> 3. Install the 2.0 packages on the Lustre servers and, optionally, the clients.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291180" xreflabel=""/>Some or all servers can be upgraded. Some or all clients can be upgraded.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290700" xreflabel=""/>For help determining where to install a specific package, see <link xl:href="InstallingLustre.html#50438261_21654">TABLE 8-1</link> (Lustre packages, descriptions and installation guidance).</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290965" xreflabel=""/>a. Install the kernel, modules and ldiskfs packages. For example:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290527" xreflabel=""/>$ rpm -ivh
-<anchor xml:id="dbdoclet.50438205_pgfId-1292146" xreflabel=""/>kernel-lustre-smp-&lt;ver&gt; \
-<anchor xml:id="dbdoclet.50438205_pgfId-1290528" xreflabel=""/>kernel-ib-&lt;ver&gt; \
-<anchor xml:id="dbdoclet.50438205_pgfId-1290529" xreflabel=""/>lustre-modules-&lt;ver&gt; \
-<anchor xml:id="dbdoclet.50438205_pgfId-1290530" xreflabel=""/>lustre-ldiskfs-&lt;ver&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290595" xreflabel=""/>b. Upgrade the utilities/userspace packages. For example:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290597" xreflabel=""/>$ rpm -Uvh lustre-&lt;ver&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291701" xreflabel=""/>c. If a new e2fsprogs package is available, upgrade it. For example:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1291702" xreflabel=""/>$ rpm -Uvh e2fsprogs-&lt;ver&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294595" xreflabel=""/>Use e2fsprogs-1.41-10 or later, available at:</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294597" xreflabel=""/><link xl:href="http://downloads.lustre.org/public/tools/e2fsprogs/">http://downloads.lustre.org/public/tools/e2fsprogs/</link></para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291712" xreflabel=""/>d. (Optional) If you want to add optional packages to your Lustre system, install them now.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290496" xreflabel=""/> 4. Shut down the file system.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290712" xreflabel=""/>Shut down the components in this order: clients, then the MDT, then OSTs. Unmounting a block device causes Lustre to be shut down on that node.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290276" xreflabel=""/>a. Unmount the clients. On each client node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290492" xreflabel=""/>umount &lt;mount point&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291085" xreflabel=""/>b. Unmount the MDT. On the MDS node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1291086" xreflabel=""/>umount &lt;mount point&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1291083" xreflabel=""/>c. Unmount the OSTs (be sure to unmount all OSTs). On each OSS node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290318" xreflabel=""/>umount &lt;mount point&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1292164" xreflabel=""/> 5. Unload the old Lustre modules by rebooting the node or manually removing the Lustre modules.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294825" xreflabel=""/>Run lustre_rmmod several times and use lsmod to check the currently loaded modules.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1292162" xreflabel=""/> 6. Start the upgraded file system.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290713" xreflabel=""/>Start the components in this order: OSTs, then the MDT, then clients.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1292183" xreflabel=""/>a. Mount the OSTs (be sure to mount all OSTs). On each OSS node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290430" xreflabel=""/>mount -t lustre &lt;block device name&gt; &lt;mount point&gt;
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1292179" xreflabel=""/>b. Mount the MDT. On the MDS node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290431" xreflabel=""/>mount -t lustre &lt;block device name&gt; &lt;mount point&gt; 
-</screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1290404" xreflabel=""/>c. Mount the file system on the clients. On each client node, run:</para>
-        <screen><anchor xml:id="dbdoclet.50438205_pgfId-1290467" xreflabel=""/>mount -t lustre &lt;MGS node&gt;:/&lt;fsname&gt; &lt;mount point&gt; 
+  </itemizedlist>
+  <section xml:id="dbdoclet.50438205_82079">
+      <title><indexterm><primary>Lustre</primary><secondary>upgrading</secondary><see>upgrading</see></indexterm>
+      <indexterm><primary>upgrading</primary></indexterm>
+          
+          Lustre Interoperability</title>
+    <para>Lustre 2.x is built on a new architectural code base which is different than the one used with Lustre 1.8. These architectural changes require existing Lustre 1.8 users to follow a slightly different procedure to upgrade to Lustre 2.x - requiring clients to be unmounted and the file system be shut down. Once the servers are upgraded and restarted, then the clients can be remounted. After the upgrade, Lustre 2.x servers can interoperate with compatible 1.8 clients and servers. Lustre 2.x does <emphasis>not</emphasis> support 2.x clients interoperating with 1.8 servers.</para>
+    <note>
+      <para>Lustre 1.8 clients can interoperate with 2.x servers, but the servers should all be upgraded at the same time.</para>
+    </note>
+    <note>
+      <para>Lustre 2.x servers are compatible with clients 1.8.6 and later, though it is strongly recommended that the clients are upgraded to the latest version of Lustre 1.8 available. If you are planning a heterogeneous environment (mixed 1.8 and 2.x servers), make sure that version 1.8.6 or later is installed on the client nodes that are not upgraded to 2.x.</para>
+    </note>
+    <warning condition='l24'><para>Lustre 2.4 allows remote sub-directories to be hosted on separate MDTs. Clients prior to 2.4 can only see the namespace hosted by MDT0, and will return an IO error if a directory on a remote MDT is accessed.</para></warning>
+  </section>
+  <section xml:id="dbdoclet.50438205_51369">
+    <title><indexterm><primary>upgrading</primary><secondary>1.8 to 2.x</secondary></indexterm>Upgrading Lustre 1.8 to 2.x</title>
+    <para>Upgrading from 1.8 to Lustre 2.x involves shutting down the file system and upgrading servers, and optionally clients, all at the same time. This upgrade process does <emphasis>not</emphasis> support a rolling upgrade in which the file system operates continuously while individual servers (or their failover partners) and clients are upgraded one at a time.</para>
+    <note>
+      <para>Although the Lustre 1.8 to 2.x upgrade path has been tested, optimum performance will be seen with a freshly formatted 2.x filesystem.</para>
+    </note>
+    <note>
+      <para>From Lustre version 2.2, the large xattr (aka wide striping) feature is added to support up to 2000 OSTs. This feature is disabled by default at mkfs.lustre time. To upgrade from an existing filesystem to enable wide striping on the MDT, "<literal>tune2fs -O large_xattr</literal>" needs to be run on the MDT device before mounting it after the upgrade.</para>
+      <para>Then, once the wide striping feature is enabled and in use on the MDT, it will not be possible to directly downgrade the MDT filesystem to an earlier version of Lustre that does not support wide striping. The only way to disable it would be to delete all of the files with large xattrs before downgrade, then unmount the MDT, and then run "<literal>tune2fs -O ^large_xattr</literal>" to turn off this filesystem feature.</para>
+    </note>
+    <section remap="h3">
+      <title><indexterm><primary>upgrading</primary><secondary>file system</secondary></indexterm>Performing a File System Upgrade</title>
+      <para>This procedure describes a file system upgrade in which Lustre 2.x packages are installed on multiple 1.8 servers and, optionally, clients, requiring a file system shutdown. You can choose to upgrade the entire Lustre file system to 2.x, or just upgrade the servers to Lustre 2.x and leave the clients running 1.8.6 or later.</para>
+      <tip>
+        <para>In a Lustre upgrade, the package install/update can be done either before or after the filesystem is unmount.  To minimize downtime, this procedure first performs the 2.x package installation, and then unmounts the file system.</para>
+      </tip>
+      <orderedlist>
+        <listitem>
+          <para>Make a complete, restorable file system backup before upgrading Lustre.  The Lustre 2.x on-disk format itself is compatible with the 1.8 on-disk format, but having a backup is always important.  If it is not possible to backup the full filesystem, it is still valuable to have a full device-level backup of the MDT filesystem, as described in <xref linkend="backupandrestore"/>.</para>
+        </listitem>
+        <listitem>
+          <para>If you are planning a heterogeneous environment (1.8 clients and 2.x servers), make sure that at least version 1.8.6 is installed on clients that are not upgraded to 2.x.</para>
+        </listitem>
+        <listitem>
+          <para>Install the 2.x packages on the Lustre servers and, optionally, the clients.</para>
+          <para>All servers must be upgraded from 1.8 to 2.x at the same time. Some or all clients can be upgraded to 2.x at this time.</para>
+          <para>For help determining where to install a specific package, see <xref linkend="installinglustre.tab.req"/>.</para>
+          <orderedlist>
+            <listitem>
+              <para>Install the kernel, modules and ldiskfs packages. For example:</para>
+              <screen>$ rpm -ivh
+kernel-lustre-smp-<replaceable>ver</replaceable> \
+kernel-ib-<replaceable>ver</replaceable> \
+lustre-modules-<replaceable>ver</replaceable> \
+lustre-ldiskfs-<replaceable>ver</replaceable></screen>
+            </listitem>
+            <listitem>
+              <para>Upgrade the utilities/userspace packages. For example:</para>
+              <screen>$ rpm -Uvh lustre-<replaceable>ver</replaceable></screen>
+            </listitem>
+            <listitem>
+              <para>If a new <literal>e2fsprogs</literal> package is available, upgrade it. For example:</para>
+              <screen>$ rpm -Uvh e2fsprogs-<replaceable>ver</replaceable>
 </screen>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1294471" xreflabel=""/>If you have a problem upgrading Lustre, contact us via the <link xl:href="https://bugzilla.lustre.org">Bugzilla</link> bug tracker.</para>
-        <para><anchor xml:id="dbdoclet.50438205_pgfId-1292981" xreflabel=""/> </para>
-        <!--
-Begin SiteCatalyst code version: G.5.
--->
-        <!--
-End SiteCatalyst code version: G.5.
--->
-          <informaltable frame="none">
-          <tgroup cols="3">
-            <colspec colname="c1" colwidth="33*"/>
-            <colspec colname="c2" colwidth="33*"/>
-            <colspec colname="c3" colwidth="33*"/>
-            
-            
-            
-            <tbody>
-              <row>
-                <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
-                <entry align="right"><para>821-2076-10</para></entry>
-                <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
-                          <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
-                        </imageobject>
-<imageobject role="fo">
-                          <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
-                        </imageobject>
-</inlinemediaobject></link><link xl:href="ManagingLNET.html"><inlinemediaobject><imageobject role="html">
-                          <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
-                        </imageobject>
-<imageobject role="fo">
-                          <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
-                        </imageobject>
-</inlinemediaobject></link><link xl:href="BackupAndRestore.html"><inlinemediaobject><imageobject role="html">
-                          <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
-                        </imageobject>
-<imageobject role="fo">
-                          <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
-                        </imageobject>
-</inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
-                          <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
-                        </imageobject>
-<imageobject role="fo">
-                          <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
-                        </imageobject>
-</inlinemediaobject></link></para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-        <para><link xl:href=""/></para>
-        <para><link xl:href="copyright.html">Copyright</link> © 2011, Oracle and/or its affiliates. All rights reserved.</para>
-      </section>
+              <para>Use e2fsprogs-1.41.90-wc3 or later, available at:</para>
+              <para><link xl:href="http://downloads.whamcloud.com/public/e2fsprogs/latest/">http://downloads.whamcloud.com/public/e2fsprogs/latest/</link></para>
+            </listitem>
+            <listitem>
+              <para>If you want to add optional packages to your Lustre system, install them now.</para>
+            </listitem>
+          </orderedlist>
+        </listitem>
+        <listitem>
+          <para>Shut down the file system.</para>
+          <para>Shut down the components in this order: clients, then the MDT, then OSTs. Unmounting a block device causes Lustre to be shut down on that node.</para>
+          <orderedlist>
+            <listitem>
+              <para>Unmount the clients. On each client node, run:</para>
+              <screen>umount -a -t lustre</screen>
+            </listitem>
+            <listitem>
+              <para>Unmount the MDT. On the MDS node, run:</para>
+              <screen>umount -a -t lustre</screen>
+            </listitem>
+            <listitem>
+              <para>Unmount the OSTs (be sure to unmount all OSTs). On each OSS node, run:</para>
+              <screen>umount -a -t lustre</screen>
+            </listitem>
+          </orderedlist>
+        </listitem>
+        <listitem>
+          <para>Since the kernel will typically be upgraded with a 1.8 to 2.x upgrade, the nodes will need to be rebooted in order to use the new kernel.</para>
+        </listitem>
+        <listitem>
+          <para>Start the upgraded file system.</para>
+          <para>Start the components in this order: OSTs, then the MDT, then clients.</para>
+          <orderedlist>
+            <listitem>
+              <para>Mount the OSTs (be sure to mount all OSTs). On each OSS node, run:</para>
+              <screen>oss# mount -a -t lustre</screen>
+              <para>This command assumes that all OSTs are listed in the /etc/fstab file.  If the OSTs are not in the /etc/fstab file, they need to be mounted individually by running the mount command:</para>
+              <screen>oss# mount -t lustre <replaceable>/dev/block_device</replaceable> <replaceable>/mount_point</replaceable> </screen>
+            </listitem>
+            <listitem>
+              <para>Mount the MDT. On the MDS node, run:</para>
+              <screen>mds# mount -a -t lustre</screen>
+            </listitem>
+            <listitem>
+              <para>Mount the file system on the clients. On each client node, run:</para>
+              <screen>client# mount -a -t lustre</screen>
+            </listitem>
+          </orderedlist>
+        </listitem>
+      </orderedlist>
+      <para>If you have a problem upgrading Lustre, use the <link xl:href="https://groups.google.com/a/whamcloud.com/group/wc-discuss/">wc-discuss</link> mailing list, or file a ticket at the <link xl:href="https://bugs.whamcloud.com">Intel Lustre</link> bug tracker.</para>
     </section>
   </section>
-</article>
+  <section xml:id='dbdoclet.upgradetodne' condition='l24'>
+    <title><indexterm><primary>upgrading</primary><secondary>multiple metadata targets</secondary></indexterm>Upgrading to multiple metadata targets</title>
+               <para>Lustre 2.4 allows separate metadata servers to serve separate sub directories. To upgrade a filesystem to Lustre 2.4 that support multiple metadata servers:</para>
+          <orderedlist>
+            <listitem>
+                               <para>Stop MGT/MDT/OST and upgrade to 2.4</para>
+            </listitem>
+            <listitem>
+                <para>Format new MDT according to <xref linkend="dbdoclet.addingamdt"/>.</para>
+            </listitem>
+            <listitem>
+                <para>Mount all of the targets according to <xref linkend="dbdoclet.addingamdt"/>.</para>
+            </listitem>
+            <listitem>
+                <para>After recovery is completed clients will be connected MDT0.</para>
+                               <note><para>Clients prior to 2.4 will only be have the namespace provided by MDT0 visible and will return an IO error if a directory hosted on a remote MDT is accessed.</para></note>
+            </listitem>
+          </orderedlist>
+  </section>
+</chapter>