<?xml version='1.0' encoding='UTF-8'?><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 a Lustre* File System</title>
- <para>This chapter describes interoperability between Lustre* software releases. It also provides
- procedures for upgrading from a Lustre 1.8 release to a Lustre 2.x release, from a Lustre 2.x
- release to a more recent Lustre 2.x release (major release upgrade), and from a Lustre 2.X.y
- release to 2.X.y (minor release upgrade). It includes the following sections:</para>
+ <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 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 sections:</para>
<itemizedlist>
<listitem>
<para><xref linkend="dbdoclet.50438205_82079"/></para>
</indexterm><indexterm>
<primary>upgrading</primary>
</indexterm>Release Interoperability and Upgrade Requirements</title>
- <para><emphasis role="italic"><emphasis role="bold">Lustre software version 2.x release (major)
+ <para><emphasis role="italic"><emphasis role="bold">Lustre software release 2.x (major)
upgrade:</emphasis></emphasis><itemizedlist>
<listitem>
<para>All servers must be upgraded at the same time, while some or all clients may be
upgraded.</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>
+ <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>
</listitem>
<listitem>
- <para>Clients to be upgraded to the Lustre 2.4 release or higher must be running a compatible Linux distribution. See the Linux Test Matrix at <xref
+ <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>
</listitem>
</itemizedlist></para>
- <para><emphasis role="italic"><emphasis role="bold">Lustre 2.X.y release (minor)
- upgrade:</emphasis></emphasis></para>
+ <para><emphasis role="italic"><emphasis role="bold">Lustre software release 2.x.y release
+ (minor) upgrade:</emphasis></emphasis></para>
<itemizedlist>
<listitem>
<para>All servers must be upgraded at the same time, while some or all clients may be
<primary>wide striping</primary>
</indexterm><indexterm>
<primary>MDT</primary>
- <secondary>multiple MDSx</secondary>
- </indexterm>Upgrading to Lustre Release 2.x (Major Release)</title>
- <para> The procedure for upgrading a Lustre release 2.x file system to a more recent 2.x release
- of the Lustre software is described in this section. </para>
+ <secondary>multiple MDSs</secondary>
+ </indexterm><indexterm>
+ <primary>large_xattr</primary>
+ <secondary>ea_inode</secondary>
+ </indexterm><indexterm>
+ <primary>wide striping</primary>
+ <secondary>large_xattr</secondary>
+ <tertiary>ea_inode</tertiary>
+ </indexterm>Upgrading to Lustre Software Release 2.x (Major Release)</title>
+ <para> The procedure for upgrading from a Lustre software release 2.x to a more recent 2.x
+ release of the Lustre software is described in this section. </para>
<note>
- <para>This procedure can also be used to upgrade Lustre release 1.8.6-wc1 or later to any
- Lustre release 2.x. To upgrade other versions of 1.8.x, contact your support
- provider.</para>
+ <para>This procedure can also be used to upgrade Lustre software release 1.8.6-wc1 or later to
+ any Lustre software release 2.x. To upgrade other versions of Lustre software release 1.8.x,
+ contact your support provider.</para>
</note>
<note>
- <para condition="l22">In Lustre 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> option on the MDT using either
+ <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 release 2.2 or later, wide striping can be enabled by
- running the following command on the MDT device before mounting
+ 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
- version of the Lustre software that does not support wide striping. The only way to disable
- wide striping is to delete all files with a <literal>large_xattr</literal> extended attribute,
- unmount the MDT, and run the following command to
- turn off the <literal>large-xattr</literal>
- option:<screen>tune2fs -O ^large_xattr</screen>
- </para></note>
+ version of the Lustre software that does not support wide striping. To 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>
+ </listitem>
+ <listitem>
+ <para>Unmount the MDT.</para>
+ </listitem>
+ <listitem>
+ <para>Run the following command to turn off the <literal>large_xattr</literal>
+ option:<screen>tune2fs -O ^large_xattr</screen></para>
+ </listitem>
+ </orderedlist>
+ Using either <literal>mkfs.lustre</literal> or <literal>tune2fs</literal> with
+ <literal>large_xattr</literal> or <literal>ea_inode</literal> option reseults in
+ <literal>ea_inode</literal> in the file system feature list.
+ </para></note>
+ <note condition="l23">
+ <para>To generate a list of all files with more than 160 stripes use <literal>lfs
+ find</literal> with the <literal>--stripe-count</literal>
+ option:<screen>lfs find ${mountpoint} --stripe-count=+160</screen></para>
+ </note>
<note condition="l24">
- <para>In Lustre release 2.4, a new feature allows using multiple MDTs, which can each serve
- one or more remote sub-directories in the file system. The <literal>root</literal> directory
- is always located on MDT0. </para>
- <para>Note that clients running a release prior to the Lustre 2.4 release can only see the
- namespace hosted by MDT0 and will return an IO error if an attempt is made to access a
- directory on another MDT.</para>
+ <para>In Lustre software release 2.4, a new feature allows using multiple MDTs, which can each
+ serve one or more remote sub-directories in the file system. The <literal>root</literal>
+ directory is always located on MDT0. </para>
+ <para>Note that clients running a release prior to the Lustre software release 2.4 can only
+ see the namespace hosted by MDT0 and will return an IO error if an attempt is made to access
+ a directory on another MDT.</para>
</note>
- <para>To upgrade a Lustre release 2.x file system to a more recent major release, complete these
+ <para>To upgrade a Lustre software release 2.x to a more recent major release, complete these
steps:</para>
<orderedlist>
<listitem>
xmlns:xlink="http://www.w3.org/1999/xlink" linkend="LustreTestMatrixTable"/>.</para>
</listitem>
<listitem>
- <para>Upgrade the Linux operating system on all clients to RHEL 6 or other compatible
- (tested) distribution and reboot. See the Linux Test Matrix at <xref
+ <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>
</listitem>
<listitem>
</orderedlist>
</listitem>
<listitem>
- <para condition="l22">(Optional) For upgrades to Lustre release 2.2 or higher, to enable
- wide striping on an existing MDT, run the following command on the MDT
+ <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>
+ <para>For more information about wide striping, see <xref
+ xmlns:xlink="http://www.w3.org/1999/xlink" linkend="section_syy_gcl_qk"/>.</para>
</listitem>
<listitem>
- <para condition="l24">(Optional) For upgrades to Lustre release 2.4 or higher, to format an
+ <para>(Optional) For upgrades to Lustre software release 2.4 or higher, to format an
additional MDT, complete these steps:<orderedlist numeration="loweralpha">
<listitem>
<para>Determine the index used for the first MDT (each MDT must have unique index).
Enter:<screen>client$ lctl dl | grep mdc
-36 UP mdc lustre-MDT0000-mdc-ffff88004edf3c00 4c8be054-144f-9359-b063-8477566eb84e 5</screen></para>
+36 UP mdc lustre-MDT0000-mdc-ffff88004edf3c00
+ 4c8be054-144f-9359-b063-8477566eb84e 5</screen></para>
<para>In this example, the next available index is 1.</para>
</listitem>
<listitem>
</orderedlist></para>
</listitem>
<listitem>
- <para>(<?oxy_comment_start author="lbeberne" timestamp="20130815T140026-0700" comment="Have James test"?>Optional<?oxy_comment_end?>)
- If you are upgrading to Lustre software release 2.3 or higher from Lustre software version 2.2 or earlier
- and want to enable the quota feature, complete these steps: <orderedlist
- numeration="loweralpha">
+ <para>(Optional) If you are upgrading to Lustre software release 2.3 or higher from Lustre
+ software release 2.2 or earlier and want to enable the quota feature, complete these
+ steps: <orderedlist numeration="loweralpha">
<listitem>
<para>Before setting up the file system, enter on both the MDS and
OSTs:<screen>tunefs.lustre --quota</screen></para>
</orderedlist></para>
</listitem>
<listitem>
+ <para>(Optional) If you are upgrading from Lustre software release 1.8, you must manually
+ enable the FID-in-dirent feature. On the MDS,
+ enter:<screen>tune2fs –O dirdata /dev/<replaceable>mdtdev</replaceable></screen></para>
+ <warning>
+ <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>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 1.5 to enable FID-in-dirent for existing
+ files. For more information about FID-in-dirent and related functionalities in LFSCK 1.5,
+ 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 order shown in the
following steps:</para>
<orderedlist numeration="loweralpha">
<title><indexterm>
<primary>upgrading</primary>
<secondary>2.X.y to 2.X.y (minor release)</secondary>
- </indexterm><indexterm/>Upgrading to a Lustre Release 2.X.y (Minor Release)</title>
- <para>Rolling upgrades are supported for upgrading from any Lustre release 2.X.y to a more
- recent 2.X.y release. This allows the Lustre file system to continue to run while individual
- servers (or their failover partners) and clients are upgraded one at a time. The procedure for
- upgrading a Lustre release 2.X.y file system to a more recent minor release is described in
- this section.</para>
- <para>To upgrade Lustre release 2.X.y to a more recent minor release, complete these
+ </indexterm>Upgrading to Lustre Software Release 2.x.y (Minor Release)</title>
+ <para>Rolling upgrades are supported for upgrading from any Lustre software release 2.x.y to a
+ more recent Lustre software release 2.X.y. This allows the Lustre file system to continue to
+ run while individual servers (or their failover partners) and clients are upgraded one at a
+ time. The procedure for upgrading a Lustre software release 2.x.y to a more recent minor
+ release is described in this section.</para>
+ <para>To upgrade Lustre software release 2.x.y to a more recent minor release, complete these
steps:</para>
<orderedlist>
<listitem>