Whamcloud - gitweb
LUDOC-29 increase maximum stripe count from 160 to 2000
[doc/manual.git] / LustreMaintenance.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="lustremaintenance">
3   <title xml:id="lustremaintenance.title">Lustre Maintenance</title>
4   <para>Once you have the Lustre file system up and running, you can use the procedures in this section to perform these basic Lustre maintenance tasks:</para>
5   <itemizedlist>
6     <listitem>
7       <para><xref linkend="dbdoclet.50438199_42877"/>Working with Inactive OSTs</para>
8     </listitem>
9     <listitem>
10       <para><xref linkend="dbdoclet.50438199_15240"/>Finding Nodes in the Lustre File System</para>
11     </listitem>
12     <listitem>
13       <para><xref linkend="dbdoclet.50438199_26070"/>Mounting a Server Without Lustre Service</para>
14     </listitem>
15     <listitem>
16       <para><xref linkend="dbdoclet.50438199_54623"/>Regenerating Lustre Configuration Logs</para>
17     </listitem>
18     <listitem>
19       <para><xref linkend="dbdoclet.50438199_31353"/>Changing a Server NID</para>
20     </listitem>
21     <listitem>
22       <para><xref linkend="dbdoclet.50438199_22527"/>Adding a New OST to a Lustre File System</para>
23     </listitem>
24     <listitem>
25       <para><xref linkend="dbdoclet.50438199_14978"/>Removing and Restoring OSTs</para>
26     </listitem>
27     <listitem>
28       <para><xref linkend="dbdoclet.50438199_77819"/>Aborting Recovery</para>
29     </listitem>
30     <listitem>
31       <para><xref linkend="dbdoclet.50438199_12607"/>Determining Which Machine is Serving an OST</para>
32     </listitem>
33     <listitem>
34       <para><xref linkend="dbdoclet.50438199_62333"/>Changing the Address of a Failover Node</para>
35     </listitem>
36     <listitem>
37       <para> </para>
38     </listitem>
39   </itemizedlist>
40   <section xml:id="dbdoclet.50438199_42877">
41       <title>
42           <indexterm><primary>maintance</primary></indexterm>
43           <indexterm><primary>maintance</primary><secondary>inactive OSTs</secondary></indexterm>
44           Working with Inactive OSTs</title>
45     <para>To mount a client or an MDT with one or more inactive OSTs, run commands similar to this:</para>
46     <screen>client&gt; mount -o exclude=testfs-OST0000 -t lustre \
47            uml1:/testfs /mnt/testfs
48             client&gt; cat /proc/fs/lustre/lov/testfs-clilov-*/target_obd</screen>
49     <para>To activate an inactive OST on a live client or MDT, use the <literal>lctl activate</literal> command on the OSC device. For example:</para>
50     <screen>lctl --device 7 activate</screen>
51     <note>
52       <para>A colon-separated list can also be specified. For example, <literal>exclude=testfs-OST0000:testfs-OST0001</literal>.</para>
53     </note>
54     <section xml:id="dbdoclet.50438199_15240">
55       <title><indexterm><primary>maintance</primary><secondary>finding nodes</secondary></indexterm>
56 Finding Nodes in the Lustre File System</title>
57       <para>There may be situations in which you need to find all nodes in your Lustre file system or get the names of all OSTs.</para>
58       <para>To get a list of all Lustre nodes, run this command on the MGS:</para>
59       <screen># cat /proc/fs/lustre/mgs/MGS/live/*</screen>
60       <note>
61         <para>This command must be run on the MGS.
62                 </para>
63       </note>
64       <para>In this example, file system lustre has three nodes, <literal>lustre-MDT0000</literal>, <literal>lustre-OST0000</literal>, and <literal>lustre-OST0001</literal>.</para>
65       <screen>cfs21:/tmp# cat /proc/fs/lustre/mgs/MGS/live/* 
66                 fsname: lustre 
67                 flags: 0x0     gen: 26 
68                 lustre-MDT0000 
69                 lustre-OST0000 
70                 lustre-OST0001 </screen>
71       <para>To get the names of all OSTs, run this command on the MDS:</para>
72       <screen># cat /proc/fs/lustre/lov/&lt;fsname&gt;-mdtlov/target_obd </screen>
73       <note>
74         <para>This command must be run on the MDS.
75                 </para>
76       </note>
77       <para>In this example, there are two OSTs, lustre-OST0000 and lustre-OST0001, which are both active.</para>
78       <screen>cfs21:/tmp# cat /proc/fs/lustre/lov/lustre-mdtlov/target_obd 
79 0: lustre-OST0000_UUID ACTIVE 
80 1: lustre-OST0001_UUID ACTIVE </screen>
81     </section>
82     <section xml:id="dbdoclet.50438199_26070">
83       <title><indexterm><primary>maintance</primary><secondary>mounting a server</secondary></indexterm>
84 Mounting a Server Without Lustre Service</title>
85       <para>If you are using a combined MGS/MDT, but you only want to start the MGS and not the MDT, run this command:</para>
86       <screen>mount -t lustre &lt;MDT partition&gt; -o nosvc &lt;mount point&gt;</screen>
87       <para>The <literal>&lt;MDT partition&gt;</literal> variable is the combined MGS/MDT.</para>
88       <para>In this example, the combined MGS/MDT is <literal>testfs-MDT0000</literal> and the mount point is <literal>/mnt/test/mdt</literal>.</para>
89       <screen>$ mount -t lustre -L testfs-MDT0000 -o nosvc /mnt/test/mdt</screen>
90     </section>
91     <section xml:id="dbdoclet.50438199_54623">
92       <title><indexterm><primary>maintance</primary><secondary>regenerating config logs</secondary></indexterm>
93 Regenerating Lustre Configuration Logs</title>
94       <para>If the Lustre system&apos;s configuration logs are in a state where the file system cannot be started, use the <literal>writeconf</literal> command to erase them. After the <literal>writeconf</literal> command is run and the servers restart, the configuration logs are re-generated and stored on the MGS (as in a new file system).</para>
95       <para>You should only use the <literal>writeconf</literal> command if:</para>
96       <itemizedlist>
97         <listitem>
98           <para>The configuration logs are in a state where the file system cannot start</para>
99         </listitem>
100         <listitem>
101           <para>A server NID is being changed</para>
102         </listitem>
103       </itemizedlist>
104       <para>The <literal>writeconf</literal> command is destructive to some configuration items (i.e., OST pools information and items set via <literal>conf_param</literal>), and should be used with caution. To avoid problems:</para>
105       <itemizedlist>
106         <listitem>
107           <para>Shut down the file system before running the <literal>writeconf</literal> command</para>
108         </listitem>
109         <listitem>
110           <para>Run the <literal>writeconf</literal> command on all servers (MDT first, then OSTs)</para>
111         </listitem>
112         <listitem>
113           <para>Start the file system in this order:</para>
114           <itemizedlist>
115             <listitem>
116               <para>MGS (or the combined MGS/MDT)</para>
117             </listitem>
118             <listitem>
119               <para>MDT</para>
120             </listitem>
121             <listitem>
122               <para>OSTs</para>
123             </listitem>
124             <listitem>
125               <para>Lustre clients</para>
126             </listitem>
127           </itemizedlist>
128         </listitem>
129       </itemizedlist>
130       <caution>
131         <para>The OST pools feature enables a group of OSTs to be named for file striping purposes. If you use OST pools, be aware that running the <literal>writeconf</literal> command erases <emphasis role="bold">all</emphasis> pools information (as well as any other parameters set via <literal>lctl conf_param</literal>). We recommend that the pools definitions (and <literal>conf_param</literal> settings) be executed via a script, so they can be reproduced easily after a <literal>writeconf</literal> is performed.</para>
132       </caution>
133       <para>To regenerate Lustre&apos;s system configuration logs:</para>
134       <orderedlist>
135         <listitem>
136           <para>Shut down the file system in this order.</para>
137           <orderedlist>
138             <listitem>
139               <para>Unmount the clients.</para>
140             </listitem>
141             <listitem>
142               <para>Unmount the MDT.</para>
143             </listitem>
144             <listitem>
145               <para>Unmount all OSTs.</para>
146             </listitem>
147           </orderedlist>
148         </listitem>
149         <listitem>
150           <para>Make sure the the MDT and OST devices are available.</para>
151         </listitem>
152         <listitem>
153           <para>Run the <literal>writeconf</literal> command on all servers.</para>
154           <para>Run writeconf on the MDT first, and then the OSTs.</para>
155           <orderedlist>
156             <listitem>
157               <para>On the MDT, run:</para>
158               <screen>&lt;mdt node&gt;$ tunefs.lustre --writeconf &lt;device&gt;</screen>
159             </listitem>
160             <listitem>
161               <para>
162               On each OST, run:
163               
164           <screen>&lt;ost node&gt;$ tunefs.lustre --writeconf &lt;device&gt;</screen>
165           </para>
166             </listitem>
167           </orderedlist>
168         </listitem>
169         <listitem>
170           <para>Restart the file system in this order.</para>
171           <orderedlist>
172             <listitem>
173               <para>Mount the MGS (or the combined MGS/MDT).</para>
174             </listitem>
175             <listitem>
176               <para>Mount the MDT.</para>
177             </listitem>
178             <listitem>
179               <para>Mount the OSTs.</para>
180             </listitem>
181             <listitem>
182               <para>Mount the clients.</para>
183             </listitem>
184           </orderedlist>
185         </listitem>
186       </orderedlist>
187       <para>After the <literal>writeconf</literal> command is run, the configuration logs are re-generated as servers restart.</para>
188     </section>
189     <section xml:id="dbdoclet.50438199_31353">
190       <title><indexterm><primary>maintance</primary><secondary>changing a NID</secondary></indexterm>
191 Changing a Server NID</title>
192       <para>If you need to change the NID on the MDT or an OST, run the <literal>writeconf</literal> command to erase Lustre configuration information (including server NIDs), and then re-generate the system configuration using updated server NIDs.</para>
193       <para>Change a server NID in these situations:</para>
194       <itemizedlist>
195         <listitem>
196           <para>New server hardware is added to the file system, and the MDS or an OSS is being moved to the new machine</para>
197         </listitem>
198         <listitem>
199           <para>New network card is installed in the server</para>
200         </listitem>
201         <listitem>
202           <para>You want to reassign IP addresses</para>
203         </listitem>
204       </itemizedlist>
205       <para>To change a server NID:</para>
206       <orderedlist>
207         <listitem>
208           <para>Update the LNET configuration in the <literal>/etc/modprobe.d/lustre.conf</literal> file so the list of server NIDs (<literal>lctl list_nids</literal>) is correct.</para>
209           <para>The <literal>lctl list_nids</literal> command indicates which network(s) are configured to work with Lustre.</para>
210         </listitem>
211         <listitem>
212           <para>Shut down the file system in this order.</para>
213           <orderedlist>
214             <listitem>
215               <para>Unmount the clients.</para>
216             </listitem>
217             <listitem>
218               <para>Unmount the MDT.</para>
219             </listitem>
220             <listitem>
221               <para>Unmount all OSTs.</para>
222             </listitem>
223           </orderedlist>
224         </listitem>
225         <listitem>
226           <para>Run the writeconf command on all servers.</para>
227           <para>Run writeconf on the MDT first, and then the OSTs.</para>
228           <orderedlist>
229             <listitem>
230               <para>On the MDT, run:</para>
231               <screen>&lt;mdt node&gt;$ tunefs.lustre --writeconf &lt;device&gt;  </screen>
232             </listitem>
233             <listitem>
234               <para>On each OST, run:</para>
235               <screen>&lt;ost node&gt;$ tunefs.lustre --writeconf &lt;device&gt;</screen>
236             </listitem>
237             <listitem>
238               <para>If the NID on the MGS was changed, communicate the new MGS location to each server. Run:</para>
239               <screen>tunefs.lustre --erase-param --mgsnode=&lt;new_nid(s)&gt; --writeconf /dev/..                            </screen>
240             </listitem>
241           </orderedlist>
242         </listitem>
243         <listitem>
244           <para>Restart the file system in this order.</para>
245           <orderedlist>
246             <listitem>
247               <para>Mount the MGS (or the combined MGS/MDT).</para>
248             </listitem>
249             <listitem>
250               <para>Mount the MDT.</para>
251             </listitem>
252             <listitem>
253               <para>Mount the OSTs.</para>
254             </listitem>
255             <listitem>
256               <para>Mount the clients.</para>
257             </listitem>
258           </orderedlist>
259         </listitem>
260       </orderedlist>
261       <para>After the <literal>writeconf</literal> command is run, the configuration logs are re-generated as servers restart, and server NIDs in the updated <literal>list_nids</literal> file are used.</para>
262     </section>
263     <section xml:id="dbdoclet.50438199_22527">
264       <title><indexterm><primary>maintance</primary><secondary>adding a OST</secondary></indexterm>
265 Adding a New OST to a Lustre File System</title>
266       <para>To add an OST to existing Lustre file system:</para>
267       <orderedlist>
268         <listitem>
269           <para> Add a new OST by passing on the following commands, run:</para>
270           <screen>$ mkfs.lustre --fsname=spfs --mgsnode=mds16@tcp0 --ost --index=12 /dev/sda
271 $ mkdir -p /mnt/test/ost12
272 $ mount -t lustre /dev/sda /mnt/test/ost12</screen>
273         </listitem>
274         <listitem>
275           <para> Migrate the data (possibly).</para>
276           <para>The file system is quite unbalanced when new empty OSTs are added. New file creations are automatically balanced. If this is a scratch file system or files are pruned at a regular interval, then no further work may be needed.</para>
277           <para>New files being created will preferentially be placed on the empty OST. As old files are deleted, they will release space on the old OST.</para>
278           <para>Files existing prior to the expansion can optionally be rebalanced with an in-place copy, which can be done with a simple script. The basic method is to copy existing files to a temporary file, then move the temp file over the old one. This should not be attempted with files which are currently being written to by users or applications. This operation redistributes the stripes over the entire set of OSTs.</para>
279           <para>For example, to rebalance all files within <literal>/mnt/lustre/dir</literal>, enter:</para>
280           <screen>lfs_migrate /mnt/lustre/file</screen>
281           <para>To migrate files within the <literal>/test</literal> filesystem on <literal>OST0004</literal> that are larger than 4GB in size, enter:</para>
282           <screen>lfs find /test -obd test-OST0004 -size +4G | lfs_migrate -y</screen>
283           <para>See <xref linkend="dbdoclet.50438206_42260"/>  for more details.</para>
284         </listitem>
285       </orderedlist>
286     </section>
287     <section xml:id="dbdoclet.50438199_14978">
288       <title><indexterm><primary>maintance</primary><secondary>restoring a OST</secondary></indexterm>
289       <indexterm><primary>maintance</primary><secondary>removing a OST</secondary></indexterm>
290 Removing and Restoring OSTs</title>
291       <para>OSTs can be removed from and restored to a Lustre file system. Currently in Lustre, removing an OST really means that the OST is &apos;deactivated&apos; in the file system, not permanently removed. A removed OST still appears in the file system; do not create a new OST with the same name.</para>
292       <para>You may want to remove (deactivate) an OST and prevent new files from being written to it in several situations:</para>
293       <itemizedlist>
294         <listitem>
295           <para>Hard drive has failed and a RAID resync/rebuild is underway</para>
296         </listitem>
297         <listitem>
298           <para>OST is nearing its space capacity</para>
299         </listitem>
300       </itemizedlist>
301       <section remap="h3">
302       <title><indexterm><primary>maintance</primary><secondary>removing a OST</secondary></indexterm>
303         Removing an OST from the File System</title>
304         <para>OSTs can be removed from a Lustre file system. Currently in Lustre, removing an OST actually means that the OST is &apos;deactivated&apos; from the file system, not permanently removed. A removed OST still appears in the device listing; you should not normally create a new OST with the same name.</para>
305         <para>You may want to deactivate an OST and prevent new files from being written to it in several situations:</para>
306         <itemizedlist>
307           <listitem>
308             <para>OST is nearing its space capacity</para>
309           </listitem>
310           <listitem>
311             <para>Hard drive has failed and a RAID resync/rebuild is underway</para>
312           </listitem>
313           <listitem>
314             <para>OST storage has failed permanently</para>
315           </listitem>
316         </itemizedlist>
317         <para>When removing an OST, remember that the MDT does not communicate directly with OSTs. Rather, each OST has a corresponding OSC which communicates with the MDT. It is necessary to determine the device number of the OSC that corresponds to the OST. Then, you use this device number to deactivate the OSC on the MDT.</para>
318         <para>To remove an OST from the file system:</para>
319         <orderedlist>
320           <listitem>
321             <para>For the OST to be removed, determine the device number of the corresponding OSC on the MDT.</para>
322             <orderedlist>
323               <listitem>
324                 <para>List all OSCs on the node, along with their device numbers. Run:</para>
325                 <screen>lctldl|grep &quot; osc &quot;</screen>
326                 <para>This is sample <literal>lctl dl | grep</literal></para>
327                 <screen>11 UP osc lustre-OST-0000-osc-cac94211 4ea5b30f-6a8e-55a0-7519-2f20318ebdb4 5
328 12 UP osc lustre-OST-0001-osc-cac94211 4ea5b30f-6a8e-55a0-7519-2f20318ebdb4 5
329 13 IN osc lustre-OST-0000-osc lustre-MDT0000-mdtlov_UUID 5
330 14 UP osc lustre-OST-0001-osc lustre-MDT0000-mdtlov_UUID 5</screen>
331               </listitem>
332               <listitem>
333                 <para>Determine the device number of the OSC that corresponds to the OST to be removed.</para>
334               </listitem>
335             </orderedlist>
336           </listitem>
337           <listitem>
338             <para>Temporarily deactivate the OSC on the MDT. On the MDT, run: </para>
339             <screen>$ mdt&gt; lctl --device &gt;devno&lt; deactivate</screen>
340             <para>For example, based on the command output in Step 1, to deactivate device 13 (the MDT’s OSC for <literal>OST-0000</literal>), the command would be: 
341 </para>
342             <screen>$ mdt&gt; lctl --device 13 deactivate</screen>
343             <para>This marks the OST as inactive on the MDS, so no new objects are assigned to the OST. This does not prevent use of existing objects for reads or writes. 
344 </para>
345             <note>
346               <para>Do not deactivate the OST on the clients. Do so causes errors (EIOs), and the copy out to fail. </para>
347             </note>
348             <caution>
349               <para>Do not use <literal>lctl conf_param</literal> to deactivate the OST. It permanently sets a parameter in the file system configuration.</para>
350             </caution>
351           </listitem>
352           <listitem>
353             <para>Discover all files that have objects residing on the deactivated OST. </para>
354             <para>Depending on whether the deactivated OST is available or not, the data from that OST may be migrated to other OSTs, or may need to be restored from backup.
355 </para>
356             <orderedlist>
357               <listitem>
358                 <para>If the OST is still online and available, find all files with objects on the deactivated OST, and copy them to other OSTs in the file system to:
359 </para>
360                 <screen>[client]# lfs find --obd &lt;OST UUID&gt; &lt;mount_point&gt; | lfs_migrate -y</screen>
361               </listitem>
362               <listitem>
363                 <para>If the OST is no longer available, delete the files on that OST and restore them from backup:
364                   <screen>[client]# lfs find --obd &lt;OST UUID&gt; -print0 &lt;mount_point&gt; | \
365            tee /tmp/files_to_restore | xargs -0 -n 1 unlink</screen>
366                   The list of files that need to be restored from backup is stored in <literal>/tmp/files_to_restore</literal>. Restoring these files is beyond the scope of this document.</para>
367               </listitem>
368             </orderedlist>
369           </listitem>
370           <listitem>
371             <para>Deactivate the OST.</para>
372             <orderedlist>
373               <listitem>
374                 <para>To temporarily disable the deactivated OST, enter: <screen>[client]# lctl set_param osc.&lt;fsname&gt;-&lt;OST name&gt;-*.active=0</screen>If there is expected to be a replacement OST in some short time (a few days), the OST can temporarily be deactivated on the clients: <note>
375                     <para>This setting is only temporary and will be reset if the clients or MDS are rebooted. It needs to be run on all clients.</para>
376                   </note></para>
377               </listitem>
378               <listitem>
379                 <para>To permanently disable the deactivated OST, enter: <screen>[mgs]# lctl conf_param {OST name}.osc.active=0</screen></para>
380               </listitem>
381             </orderedlist>
382             <para>If there is not expected to be a replacement for this OST in the near future, permanently deactivate the OST on all clients and the MDS: </para>
383             <note>
384               <para>A removed OST still appears in the file system; do not create a new OST with the same name.</para>
385             </note>
386           </listitem>
387         </orderedlist>
388       </section>
389       <section remap="h3">
390         <title><indexterm><primary>maintance</primary><secondary>backing up OST config</secondary></indexterm>
391 <indexterm><primary>backup</primary><secondary>OST config</secondary></indexterm>
392 Backing Up OST Configuration Files</title>
393         <para>If the OST device is still accessible, then the Lustre configuration files on the OST should be backed up and saved for future use in order to avoid difficulties when a replacement OST is returned to service. These files rarely change, so they can and should be backed up while the OST is functional and accessible. If the deactivated OST is still available to mount (i.e. has not permanently failed or is unmountable due to severe corruption), an effort should be made to preserve these files. </para>
394         <orderedlist>
395           <listitem>
396             <para>Mount the OST filesystem.
397              <screen>[oss]# mkdir -p /mnt/ost
398 [oss]# mount -t ldiskfs {ostdev} /mnt/ost</screen>
399           </para>
400           </listitem>
401           <listitem>
402             <para>Back up the OST configuration files.
403              <screen>[oss]# tar cvf {ostname}.tar -C /mnt/ost last_rcvd \
404            CONFIGS/ O/0/LAST_ID</screen>
405               </para>
406           </listitem>
407           <listitem>
408             <para>
409              Unmount the OST filesystem.
410              <screen>[oss]# umount /mnt/ost</screen>
411               </para>
412           </listitem>
413         </orderedlist>
414       </section>
415       <section>
416         <title><indexterm><primary>maintance</primary><secondary>restoring OST config</secondary></indexterm>
417 <indexterm><primary>backup</primary><secondary>restoring OST config</secondary></indexterm>
418 Restoring OST Configuration Files</title>
419         <para>If the original OST is still available, it is best to follow the OST backup and restore procedure given in either <xref linkend="dbdoclet.50438207_71633"/>, or <xref linkend="dbdoclet.50438207_21638"/> and <xref linkend="dbdoclet.50438207_22325"/>. 
420         </para>
421         <para>To replace an OST that was removed from service due to corruption or hardware failure, the file system needs to be formatted for Lustre, and the Lustre configuration should be restored, if available. 
422             
423             </para>
424         <para>If the OST configuration files were not backed up, due to the OST file system being completely inaccessible, it is still possible to replace the failed OST with a new one at the same OST index. </para>
425         <orderedlist>
426           <listitem>
427             <para>
428             Format the OST file system. 
429             <screen>[oss]# mkfs.lustre --ost --index={old OST index} {other options} \
430             {newdev}</screen>
431             </para>
432           </listitem>
433           <listitem>
434             <para>
435              Mount the OST filesystem. 
436             <screen>[oss]# mkdir /mnt/ost
437 [oss]# mount -t ldiskfs {newdev} /mnt/ost</screen>
438             </para>
439           </listitem>
440           <listitem>
441             <para>Restore the OST configuration files, if available. 
442             <screen>[oss]# tar xvf {ostname}.tar -C /mnt/ost</screen></para>
443           </listitem>
444           <listitem>
445             <para>Recreate the OST configuration files, if unavailable.
446         </para>
447             <para>Follow the procedure in <xref linkend="dbdoclet.50438198_69657"/> to recreate the LAST_ID file for this OST index. The <literal>last_rcvd</literal> file will be recreated when the OST is first mounted using the default parameters, which are normally correct for all file systems.
448
449 The <literal>CONFIGS/mountdata</literal> file is created by <literal>mkfs.lustre</literal> at format time, but has flags set that request it to register itself with the MGS. It is possible to copy these flags from another working OST (which should be the same):
450
451 <screen>[oss1]# debugfs -c -R &quot;dump CONFIGS/mountdata /tmp/ldd&quot; {other_osdev}
452 [oss1]# scp /tmp/ldd oss:/tmp/ldd
453 [oss0]# dd if=/tmp/ldd of=/mnt/ost/CONFIGS/mountdata bs=4 count=1 seek=5 skip=5</screen></para>
454           </listitem>
455           <listitem>
456             <para>
457             Unmount the OST filesystem.
458              <screen>[oss]# umount /mnt/ost</screen>
459             </para>
460           </listitem>
461         </orderedlist>
462       </section>
463       <section>
464         <title><indexterm><primary>maintance</primary><secondary>reintroducing an OSTs</secondary></indexterm>
465 Returning a Deactivated OST to Service</title>
466         <para> If the OST was permanently deactivated, it needs to be reactivated in the MGS configuration. <screen>[mgs]# lctl conf_param {OST name}.osc.active=1</screen> If the OST was temporarily deactivated, it needs to be reactivated on the MDS and clients. <screen>[mds]# lctl --device &lt;devno&gt; activate
467                     [client]# lctl set_param osc.&lt;fsname&gt;-&lt;OST name&gt;-*.active=0</screen></para>
468       </section>
469     </section>
470     <section xml:id="dbdoclet.50438199_77819">
471       <title><indexterm><primary>maintance</primary><secondary>aborting recovery</secondary></indexterm>
472       <indexterm><primary>backup</primary><secondary>aborting recovery</secondary></indexterm>
473 Aborting Recovery</title>
474       <para>You can abort recovery with either the <literal>lctl</literal> utility or by mounting the target with the <literal>abort_recov</literal> option (<literal>mount -o abort_recov</literal>). When starting a target, run: <screen>$ mount -t lustre -L &lt;MDT name&gt; -o abort_recov &lt;mount_point&gt;</screen></para>
475       <note>
476         <para>The recovery process is blocked until all OSTs are available. </para>
477       </note>
478     </section>
479     <section xml:id="dbdoclet.50438199_12607">
480       <title><indexterm><primary>maintance</primary><secondary>identifying OST host</secondary></indexterm>
481 Determining Which Machine is Serving an OST </title>
482       <para>In the course of administering a Lustre file system, you may need to determine which machine is serving a specific OST. It is not as simple as identifying the machine’s IP address, as IP is only one of several networking protocols that Lustre uses and, as such, LNET does not use IP addresses as node identifiers, but NIDs instead. To identify the NID that is serving a specific OST, run one of the following commands on a client (you do not need to be a root user): <screen>client$ lctl get_param osc.${fsname}-${OSTname}*.ost_conn_uuid</screen>For example: <screen>client$ lctl get_param osc.*-OST0000*.ost_conn_uuid 
483 osc.lustre-OST0000-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp</screen>- OR - <screen>client$ lctl get_param osc.*.ost_conn_uuid 
484 osc.lustre-OST0000-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp
485 osc.lustre-OST0001-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp
486 osc.lustre-OST0002-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp
487 osc.lustre-OST0003-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp
488 osc.lustre-OST0004-osc-f1579000.ost_conn_uuid=192.168.20.1@tcp</screen></para>
489     </section>
490     <section xml:id="dbdoclet.50438199_62333">
491       <title><indexterm><primary>maintance</primary><secondary>changing failover node address</secondary></indexterm>
492 Changing the Address of a Failover Node</title>
493       <para>To change the address of a failover node (e.g, to use node X instead of node Y), run this command on the OSS/OST partition:
494               <screen>tunefs.lustre --erase-params --failnode=&lt;NID&gt; &lt;device&gt; </screen>
495               or
496               <screen>tunefs.lustre --erase-params --servicenode=&lt;NID&gt; &lt;device&gt; </screen>
497       </para>
498     </section>
499   </section>
500 </chapter>