<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.lustre.org/index.php?action=history&amp;feed=atom&amp;title=Lustre_Day_to_Day_Operations</id>
	<title>Lustre Day to Day Operations - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.lustre.org/index.php?action=history&amp;feed=atom&amp;title=Lustre_Day_to_Day_Operations"/>
	<link rel="alternate" type="text/html" href="http://wiki.lustre.org/index.php?title=Lustre_Day_to_Day_Operations&amp;action=history"/>
	<updated>2026-09-01T19:23:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>http://wiki.lustre.org/index.php?title=Lustre_Day_to_Day_Operations&amp;diff=5582&amp;oldid=prev</id>
		<title>Elliswilson: Created page with &quot;== Quick Reference ==  {| class=&quot;wikitable&quot; |- ! Task !! Command |- | Check filesystem health || &lt;code&gt;lctl get_param health_check&lt;/code&gt; |- | List filesystem space || &lt;code&gt;lfs df -h&lt;/code&gt; |- | List MDT/OST space || &lt;code&gt;lfs df -i&lt;/code&gt; (inodes), &lt;code&gt;lfs df -h&lt;/code&gt; (blocks) |- | Check server status || &lt;code&gt;lctl dl&lt;/code&gt; |- | Mount a client || &lt;code&gt;mount -t lustre mgsnode@tcp:/fsname /mnt/fsname&lt;/code&gt; |- | Unmount a client || &lt;code&gt;umount /mnt/fsname&lt;/code&gt; |-...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.lustre.org/index.php?title=Lustre_Day_to_Day_Operations&amp;diff=5582&amp;oldid=prev"/>
		<updated>2026-07-20T15:30:22Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Quick Reference ==  {| class=&amp;quot;wikitable&amp;quot; |- ! Task !! Command |- | Check filesystem health || &amp;lt;code&amp;gt;lctl get_param health_check&amp;lt;/code&amp;gt; |- | List filesystem space || &amp;lt;code&amp;gt;lfs df -h&amp;lt;/code&amp;gt; |- | List MDT/OST space || &amp;lt;code&amp;gt;lfs df -i&amp;lt;/code&amp;gt; (inodes), &amp;lt;code&amp;gt;lfs df -h&amp;lt;/code&amp;gt; (blocks) |- | Check server status || &amp;lt;code&amp;gt;lctl dl&amp;lt;/code&amp;gt; |- | Mount a client || &amp;lt;code&amp;gt;mount -t lustre mgsnode@tcp:/fsname /mnt/fsname&amp;lt;/code&amp;gt; |- | Unmount a client || &amp;lt;code&amp;gt;umount /mnt/fsname&amp;lt;/code&amp;gt; |-...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Quick Reference ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Command&lt;br /&gt;
|-&lt;br /&gt;
| Check filesystem health || &amp;lt;code&amp;gt;lctl get_param health_check&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List filesystem space || &amp;lt;code&amp;gt;lfs df -h&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List MDT/OST space || &amp;lt;code&amp;gt;lfs df -i&amp;lt;/code&amp;gt; (inodes), &amp;lt;code&amp;gt;lfs df -h&amp;lt;/code&amp;gt; (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Check server status || &amp;lt;code&amp;gt;lctl dl&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mount a client || &amp;lt;code&amp;gt;mount -t lustre mgsnode@tcp:/fsname /mnt/fsname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Unmount a client || &amp;lt;code&amp;gt;umount /mnt/fsname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Start a target || &amp;lt;code&amp;gt;mount -t lustre /dev/sdX /lustre/fsname/mdt0&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop a target || &amp;lt;code&amp;gt;umount /lustre/fsname/mdt0&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Startup Sequence ==&lt;br /&gt;
&lt;br /&gt;
Always start services in this order:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. MGT  (Management Target)&lt;br /&gt;
2. MDT  (Metadata Targets — MDT0 first)&lt;br /&gt;
3. OSTs (Object Storage Targets)&lt;br /&gt;
4. Clients&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Start MGS&lt;br /&gt;
mount -t lustre /dev/sda1 /lustre/mgt&lt;br /&gt;
&lt;br /&gt;
# 2. Start MDT(s) — MDT0 must be first&lt;br /&gt;
mount -t lustre /dev/sdb1 /lustre/testfs/mdt0&lt;br /&gt;
&lt;br /&gt;
# 3. Start OST(s)&lt;br /&gt;
mount -t lustre /dev/sdc1 /lustre/testfs/ost0&lt;br /&gt;
mount -t lustre /dev/sdd1 /lustre/testfs/ost1&lt;br /&gt;
&lt;br /&gt;
# 4. Mount clients&lt;br /&gt;
mount -t lustre mgsnode@tcp:/testfs /mnt/testfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For ZFS backends, import the zpool before mounting:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zpool import &amp;lt;poolname&amp;gt;&lt;br /&gt;
mount -t lustre &amp;lt;poolname&amp;gt;/mdt0 /lustre/testfs/mdt0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Clients connect to the MGS first, not the MDS. If the MDTs and OSTs are running but the MGS is down, clients cannot mount.&lt;br /&gt;
&lt;br /&gt;
== Shutdown Sequence ==&lt;br /&gt;
&lt;br /&gt;
Reverse of startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Clients   (umount all clients first)&lt;br /&gt;
2. MDT       (stops new metadata operations)&lt;br /&gt;
3. OSTs&lt;br /&gt;
4. MGT       (optional — can remain running for other filesystems)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Unmount clients&lt;br /&gt;
umount /mnt/testfs&lt;br /&gt;
&lt;br /&gt;
# 2. Stop MDT(s)&lt;br /&gt;
umount /lustre/testfs/mdt0&lt;br /&gt;
&lt;br /&gt;
# 3. Stop OST(s)&lt;br /&gt;
umount /lustre/testfs/ost0&lt;br /&gt;
umount /lustre/testfs/ost1&lt;br /&gt;
&lt;br /&gt;
# 4. Stop MGS (optional)&lt;br /&gt;
umount /lustre/mgt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For ZFS, it is &amp;#039;&amp;#039;not&amp;#039;&amp;#039; necessary to export zpools after unmounting. Only export if migrating the pool to another host.&lt;br /&gt;
&lt;br /&gt;
== Mounting by Label ==&lt;br /&gt;
&lt;br /&gt;
Lustre targets can be mounted by label instead of device path. Labels are set during &amp;lt;code&amp;gt;mkfs.lustre&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Mount by label&lt;br /&gt;
mount -t lustre -L testfs-MDT0000 /lustre/testfs/mdt0&lt;br /&gt;
mount -t lustre -L testfs-OST0000 /lustre/testfs/ost0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fstab Entries ==&lt;br /&gt;
&lt;br /&gt;
Server fstab entries should use &amp;lt;code&amp;gt;_netdev&amp;lt;/code&amp;gt; to ensure networking is up before mount, and &amp;lt;code&amp;gt;noauto&amp;lt;/code&amp;gt; to prevent mounting before LNet is configured:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Server targets&lt;br /&gt;
/dev/sdb1  /lustre/testfs/mdt0  lustre  _netdev,noauto  0 0&lt;br /&gt;
/dev/sdc1  /lustre/testfs/ost0  lustre  _netdev,noauto  0 0&lt;br /&gt;
&lt;br /&gt;
# Client&lt;br /&gt;
mgsnode@tcp:/testfs  /mnt/testfs  lustre  _netdev,noauto  0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, use labels:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=testfs-MDT0000  /lustre/testfs/mdt0  lustre  _netdev,noauto  0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checking Filesystem Status ==&lt;br /&gt;
&lt;br /&gt;
=== Health Check ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# On any server or client&lt;br /&gt;
lctl get_param health_check&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns &amp;lt;code&amp;gt;healthy&amp;lt;/code&amp;gt; or lists active problems.&lt;br /&gt;
&lt;br /&gt;
=== Filesystem Space ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Block usage (human-readable)&lt;br /&gt;
lfs df -h /mnt/testfs&lt;br /&gt;
&lt;br /&gt;
# Inode usage&lt;br /&gt;
lfs df -i /mnt/testfs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Connectivity ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# List loaded Lustre devices&lt;br /&gt;
lctl dl&lt;br /&gt;
&lt;br /&gt;
# Check LNET status&lt;br /&gt;
lctl get_param nis&lt;br /&gt;
lnetctl net show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OST Status ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Check if any OSTs are degraded or unavailable&lt;br /&gt;
lctl get_param obdfilter.*.degraded&lt;br /&gt;
lctl get_param osc.*.state&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common Mount Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Option !! Applies To !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;_netdev&amp;lt;/code&amp;gt; || Servers, Clients || Wait for network before mounting.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;noauto&amp;lt;/code&amp;gt; || Servers, Clients || Do not mount at boot (use with init scripts or systemd).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flock&amp;lt;/code&amp;gt; || Clients || Enable filesystem-wide POSIX flock (default: disabled).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;localflock&amp;lt;/code&amp;gt; || Clients || Enable node-local flock only.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;user_xattr&amp;lt;/code&amp;gt; || Clients || Enable user extended attributes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nouser_xattr&amp;lt;/code&amp;gt; || Clients || Disable user extended attributes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lazystatfs&amp;lt;/code&amp;gt; || Clients || &amp;lt;code&amp;gt;statfs&amp;lt;/code&amp;gt; does not block if an OST is unavailable.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[Starting and Stopping Lustre Services]]&lt;br /&gt;
* [[Mounting a Lustre File System on Client Nodes]]&lt;br /&gt;
* [[Working with File System Labels]]&lt;br /&gt;
* [[Lustre Monitoring and Statistics Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lustre Systems Administration]]&lt;/div&gt;</summary>
		<author><name>Elliswilson</name></author>
	</entry>
</feed>