Whamcloud - gitweb
LUDOC-117 style: use <replaceable> in example text
[doc/manual.git] / UpgradingLustre.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- 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">
3   <title xml:id="upgradinglustre.title">Upgrading Lustre</title>
4   <para>This chapter describes Lustre interoperability and how to upgrade from Lustre 1.8 to Lustre 2.x, and includes the following sections:</para>
5   <itemizedlist>
6     <listitem>
7       <para><xref linkend="dbdoclet.50438205_82079"/>Lustre Interoperability</para>
8     </listitem>
9     <listitem>
10       <para><xref linkend="dbdoclet.50438205_51369"/>Upgrading Lustre 1.8 to 2.x</para>
11     </listitem>
12     <listitem>
13       <para><xref linkend="dbdoclet.upgradetodne"/>Upgrading to multiple metadata targets</para>
14     </listitem>
15   </itemizedlist>
16   <section xml:id="dbdoclet.50438205_82079">
17       <title><indexterm><primary>Lustre</primary><secondary>upgrading</secondary><see>upgrading</see></indexterm>
18       <indexterm><primary>upgrading</primary></indexterm>
19           
20           Lustre Interoperability</title>
21     <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>
22     <note>
23       <para>Lustre 1.8 clients can interoperate with 2.x servers, but the servers should all be upgraded at the same time.</para>
24     </note>
25     <note>
26       <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>
27     </note>
28     <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>
29   </section>
30   <section xml:id="dbdoclet.50438205_51369">
31     <title><indexterm><primary>upgrading</primary><secondary>1.8 to 2.x</secondary></indexterm>Upgrading Lustre 1.8 to 2.x</title>
32     <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>
33     <note>
34       <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>
35     </note>
36     <note>
37       <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>
38       <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>
39     </note>
40     <section remap="h3">
41       <title><indexterm><primary>upgrading</primary><secondary>file system</secondary></indexterm>Performing a File System Upgrade</title>
42       <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>
43       <tip>
44         <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>
45       </tip>
46       <orderedlist>
47         <listitem>
48           <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>
49         </listitem>
50         <listitem>
51           <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>
52         </listitem>
53         <listitem>
54           <para>Install the 2.x packages on the Lustre servers and, optionally, the clients.</para>
55           <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>
56           <para>For help determining where to install a specific package, see <xref linkend="installinglustre.tab.req"/>.</para>
57           <orderedlist>
58             <listitem>
59               <para>Install the kernel, modules and ldiskfs packages. For example:</para>
60               <screen>$ rpm -ivh
61 kernel-lustre-smp-<replaceable>ver</replaceable> \
62 kernel-ib-<replaceable>ver</replaceable> \
63 lustre-modules-<replaceable>ver</replaceable> \
64 lustre-ldiskfs-<replaceable>ver</replaceable></screen>
65             </listitem>
66             <listitem>
67               <para>Upgrade the utilities/userspace packages. For example:</para>
68               <screen>$ rpm -Uvh lustre-<replaceable>ver</replaceable></screen>
69             </listitem>
70             <listitem>
71               <para>If a new <literal>e2fsprogs</literal> package is available, upgrade it. For example:</para>
72               <screen>$ rpm -Uvh e2fsprogs-<replaceable>ver</replaceable>
73 </screen>
74               <para>Use e2fsprogs-1.41.90-wc3 or later, available at:</para>
75               <para><link xl:href="http://downloads.whamcloud.com/public/e2fsprogs/latest/">http://downloads.whamcloud.com/public/e2fsprogs/latest/</link></para>
76             </listitem>
77             <listitem>
78               <para>If you want to add optional packages to your Lustre system, install them now.</para>
79             </listitem>
80           </orderedlist>
81         </listitem>
82         <listitem>
83           <para>Shut down the file system.</para>
84           <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>
85           <orderedlist>
86             <listitem>
87               <para>Unmount the clients. On each client node, run:</para>
88               <screen>umount -a -t lustre</screen>
89             </listitem>
90             <listitem>
91               <para>Unmount the MDT. On the MDS node, run:</para>
92               <screen>umount -a -t lustre</screen>
93             </listitem>
94             <listitem>
95               <para>Unmount the OSTs (be sure to unmount all OSTs). On each OSS node, run:</para>
96               <screen>umount -a -t lustre</screen>
97             </listitem>
98           </orderedlist>
99         </listitem>
100         <listitem>
101           <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>
102         </listitem>
103         <listitem>
104           <para>Start the upgraded file system.</para>
105           <para>Start the components in this order: OSTs, then the MDT, then clients.</para>
106           <orderedlist>
107             <listitem>
108               <para>Mount the OSTs (be sure to mount all OSTs). On each OSS node, run:</para>
109               <screen>oss# mount -a -t lustre</screen>
110               <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>
111               <screen>oss# mount -t lustre <replaceable>/dev/block_device</replaceable> <replaceable>/mount_point</replaceable> </screen>
112             </listitem>
113             <listitem>
114               <para>Mount the MDT. On the MDS node, run:</para>
115               <screen>mds# mount -a -t lustre</screen>
116             </listitem>
117             <listitem>
118               <para>Mount the file system on the clients. On each client node, run:</para>
119               <screen>client# mount -a -t lustre</screen>
120             </listitem>
121           </orderedlist>
122         </listitem>
123       </orderedlist>
124       <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>
125     </section>
126   </section>
127   <section xml:id='dbdoclet.upgradetodne' condition='l24'>
128     <title><indexterm><primary>upgrading</primary><secondary>multiple metadata targets</secondary></indexterm>Upgrading to multiple metadata targets</title>
129                 <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>
130           <orderedlist>
131             <listitem>
132                                 <para>Stop MGT/MDT/OST and upgrade to 2.4</para>
133             </listitem>
134             <listitem>
135                 <para>Format new MDT according to <xref linkend="dbdoclet.addingamdt"/>.</para>
136             </listitem>
137             <listitem>
138                 <para>Mount all of the targets according to <xref linkend="dbdoclet.addingamdt"/>.</para>
139             </listitem>
140             <listitem>
141                 <para>After recovery is completed clients will be connected MDT0.</para>
142                                 <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>
143             </listitem>
144           </orderedlist>
145   </section>
146 </chapter>