<title xml:id="upgradinglustre.title">Upgrading a Lustre File System</title>
<para>This chapter describes interoperability between Lustre software
releases. It also provides procedures for upgrading from Lustre software
- release 1.8 to Lustre softeware release 2.x , from a Lustre software release
+ release 1.8 to Lustre software release 2.x , from a Lustre software release
2.x to a more recent Lustre software release 2.x (major release upgrade), and
from a a Lustre software release 2.x.y to a more recent Lustre software
release 2.x.y (minor release upgrade). It includes the following
<itemizedlist>
<listitem>
<para>All servers must be upgraded at the same time, while some or
- all clients may be upgraded.</para>
+ all clients may be upgraded independently of the servers.</para>
</listitem>
<listitem>
<para>All servers must be be upgraded to a Linux kernel supported by
- the Lustre software. See the Linux Test Matrix at
- <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="LustreTestMatrixTable" />for a list of tested Lustre
- distributions.</para>
+ the Lustre software. See the Lustre Release Notes for your Lustre
+ version for a list of tested Linux distributions.</para>
</listitem>
<listitem>
- <para>Clients to be upgraded to the Lustre software release 2.4 or
- higher must be running a compatible Linux distribution. See the Linux
- Test Matrix at
- <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="LustreTestMatrixTable" />for a list of tested Linux
- distributions.</para>
+ <para>Clients to be upgraded must be running a compatible Linux
+ distribution as described in the Release Notes.</para>
</listitem>
</itemizedlist>
</para>
provider.</para>
</note>
<note>
- <para condition="l22">In Lustre software release 2.2, a feature has been
- added that allows striping across up to 2000 OSTs. By default, this "wide
- striping" feature is disabled. It is activated by setting the
- <literal>large_xattr</literal> or
- <literal>ea_inode</literal> option on the MDT using either
- <literal>mkfs.lustre</literal> or
- <literal>tune2fs</literal>. For example after upgrading an existing file
- system to Lustre software release 2.2 or later, wide striping can be
- enabled by running the following command on the MDT device before
- mounting it:
+ <para>In Lustre software release 2.2, a feature has been added for
+ ldiskfs-based MDTs that allows striping a single file across up to 2000
+ OSTs. By default, this "wide striping" feature is disabled. It is
+ activated by setting the <literal>ea_inode</literal> option on the MDT
+ using either <literal>mkfs.lustre</literal> or <literal>tune2fs</literal>.
+ For example after upgrading an existing file system to Lustre software
+ release 2.2 or later, wide striping can be enabled by running the
+ following command on the MDT device before mounting it:
<screen>tune2fs -O large_xattr</screen>
Once the wide striping feature is enabled and in use on the MDT, it is
not possible to directly downgrade the MDT file system to an earlier
disable wide striping:
<orderedlist>
<listitem>
- <para>Delete all wide-striped files.</para>
- <para>OR</para>
- <para>Use
- <literal>lfs_migrate</literal> with the option
- <literal>-c</literal>
- <replaceable>stripe_count</replaceable>(set
- <replaceable>stripe_count</replaceable>to 160) to move the files to
- another location.</para>
+ <para>Delete all wide-striped files, <emphasis>OR</emphasis>
+ use <literal>lfs_migrate -c 160</literal> (or fewer stripes)
+ to migrate the files to use fewer OSTs. This does not affect the
+ total number of OSTs that the whole filesystem can access.</para>
</listitem>
<listitem>
<para>Unmount the MDT.</para>
not installed, configured, or administered properly. If a full backup
of the file system is not practical, a device-level backup of the MDT
file system is recommended. See
- <xref linkend="backupandrestore" />for a procedure.</para>
+ <xref linkend="backupandrestore" /> for a procedure.</para>
</caution>
</listitem>
<listitem>
- <para>Shut down the file system by unmounting all clients and servers
- in the order shown below (unmounting a block device causes the Lustre
- software to be shut down on that node):</para>
- <orderedlist numeration="loweralpha">
- <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 all the OSTs. On each OSS node, run:</para>
- <screen>umount -a -t lustre</screen>
- </listitem>
- </orderedlist>
+ <para>Shut down the entire filesystem by following
+ <xref linkend="dbdoclet.shutdownLustre"/></para>
</listitem>
<listitem>
<para>Upgrade the Linux operating system on all servers to a compatible
- (tested) Linux distribution and reboot. See the Linux Test Matrix at
- <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="LustreTestMatrixTable" />.</para>
+ (tested) Linux distribution and reboot.</para>
</listitem>
<listitem>
<para>Upgrade the Linux operating system on all clients to Red Hat
Enterprise Linux 6 or other compatible (tested) distribution and
- reboot. See the Linux Test Matrix at
- <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="LustreTestMatrixTable" />.</para>
+ reboot.</para>
</listitem>
<listitem>
<para>Download the Lustre server RPMs for your platform from the
- <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
+ <link xl:href="https://wiki.whamcloud.com/display/PUB/Lustre+Releases">
Lustre Releases</link>repository. See
<xref xmlns:xlink="http://www.w3.org/1999/xlink"
linkend="table_cnh_5m3_gk" />for a list of required packages.</para>
</listitem>
<listitem>
<para>Download the Lustre client RPMs for your platform from the
- <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
+ <link xl:href="https://wiki.whamcloud.com/display/PUB/Lustre+Releases">
Lustre Releases</link>repository. See
<xref xmlns:xlink="http://www.w3.org/1999/xlink"
linkend="table_j3r_ym3_gk" />for a list of required packages.</para>
<listitem>
<para>(Optional) For upgrades to Lustre software release 2.2 or higher,
to enable wide striping on an existing MDT, run the following command
- on the MDT :
- <screen>mdt# tune2fs -O large_xattr <replaceable>device</replaceable></screen></para>
+ on the MDT:
+ <screen>tune2fs -O ea_inode /dev/<replaceable>mdtdev</replaceable></screen>
+ </para>
<para>For more information about wide striping, see
- <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="section_syy_gcl_qk" />.</para>
+ <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="wide_striping" />.</para>
</listitem>
<listitem>
<para>(Optional) For upgrades to Lustre software release 2.4 or higher,
OSTs:
<screen>tunefs.lustre --quota</screen></para>
</listitem>
+ <listitem>
+ <para>(Optional) If you are upgrading before Lustre software release
+ 2.10, to enable the project quota feature enter the following on every
+ ldiskfs backend target:
+ <screen>tune2fs –O project /dev/<replaceable>dev</replaceable></screen>
+ </para>
+ <note><para>Enabling the <literal>project</literal> feature will prevent
+ the filesystem from being used by older versions of ldiskfs, so it
+ should only be enabled if the project quota feature is required and/or
+ after it is known that the upgraded release does not need to be
+ downgraded.</para></note>
+ </listitem>
<listitem>
<para>When setting up the file system, enter:
<screen>conf_param $FSNAME.quota.mdt=$QUOTA_TYPE
<para>This step is not reversible. Do not complete this step until
you are sure you will not be downgrading the Lustre software.</para>
</warning>
- <para condition='l24'>This step only enables FID-in-dirent for newly
- created files. If you are upgrading to Lustre software release 2.4,
- you can use LFSCK to enable FID-in-dirent for existing files. For
- more information about FID-in-dirent and related functionalities in
- LFSCK, see <xref xmlns:xlink="http://www.w3.org/1999/xlink"
- linkend="understandinglustre.storageio" />.</para>
+ <para condition='l24'>This step only enables FID-in-dirent for newly
+ created files. If you are upgrading to Lustre software release 2.4,
+ you can use namespace LFSCK to enable FID-in-dirent for the existing
+ files. For the case of upgrading from Lustre software release 1.8, it is
+ important to note that if you do NOT enable <literal>dirdata</literal> via
+ the <literal>tune2fs</literal> command above, the namespace LFSCK will NOT
+ generate FID-in-dirent for the existing files. For more information about
+ FID-in-dirent and related functionalities in LFSCK, see
+ <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+ linkend="understandinglustre.storageio" />.</para>
</listitem>
<listitem>
<para>Start the Lustre file system by starting the components in the
</orderedlist>
<note>
<para>The mounting order described in the steps above must be followed
- for the intial mount and registration of a Lustre file system after an
+ for the initial mount and registration of a Lustre file system after an
upgrade. For a normal start of a Lustre file system, the mounting order
is MGT, OSTs, MDT(s), clients.</para>
</note>
not installed, configured, or administered properly. If a full backup
of the file system is not practical, a device-level backup of the MDT
file system is recommended. See
- <xref linkend="backupandrestore" />for a procedure.</para>
+ <xref linkend="backupandrestore" /> for a procedure.</para>
</caution>
</listitem>
<listitem>
<para>Download the Lustre server RPMs for your platform from the
- <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
+ <link xl:href="https://wiki.whamcloud.com/display/PUB/Lustre+Releases">
Lustre Releases</link>repository. See
<xref xmlns:xlink="http://www.w3.org/1999/xlink"
linkend="table_cnh_5m3_gk" />for a list of required packages.</para>
</listitem>
<listitem>
<para>Download the Lustre client RPMs for your platform from the
- <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
+ <link xl:href="https://wiki.whamcloud.com/display/PUB/Lustre+Releases">
Lustre Releases</link>repository. See
<xref xmlns:xlink="http://www.w3.org/1999/xlink"
linkend="table_j3r_ym3_gk" />for a list of required packages.</para>