<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi Rick,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Appreciated you so much. I have been able to setup muti-tenancy with the docs you shared. \U0001f642</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Mohr, Rick &lt;mohrrf@ornl.gov&gt;<br>
<b>Sent:</b> Thursday, August 7, 2025 1:04 AM<br>
<b>To:</b> Ran Mo &lt;HenryMo2012@outlook.com&gt;; lustre-discuss@lists.lustre.org &lt;lustre-discuss@lists.lustre.org&gt;<br>
<b>Subject:</b> Re: [EXTERNAL] [lustre-discuss] mdt and mgt are always in RO mode</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Ran,<br>
<br>
I don't know much about multi-tenancy setups in Lustre, but I might be able to point you in the direction of some info.<br>
<br>
Lustre doesn't have a way to create users on the client side.&nbsp; It relies on the uids sent to the server by the client.&nbsp; In basic setups, the lustre servers will use the same set of usernames/uids as the clients (maybe using LDAP or something similar).&nbsp; There
 is an identity upcall that can be set on the server side to help with resolving group memberships if the default behavior isn't working.&nbsp; See
<a href="https://doc.lustre.org/lustre_manual.xhtml#identity_upcall">https://doc.lustre.org/lustre_manual.xhtml#identity_upcall</a> for more info on that.<br>
<br>
If the uids on the clients don't match those on the server, then you can use the nodemap feature to remap them.&nbsp; Lustre nodemaps are also used to control access to portions of the file system.&nbsp; There was a presentation at LUG this year that might help you (<a href="https://srcc.stanford.edu/sites/g/files/sbiybj25536/files/media/file/lug25-lustre_multitenancy-buisson_v1.2.pdf">https://srcc.stanford.edu/sites/g/files/sbiybj25536/files/media/file/lug25-lustre_multitenancy-buisson_v1.2.pdf</a>).&nbsp;
 The subdirs that you were asked to create are not subdirs on the mdt itself.&nbsp; Those will need to be created within the lustre filesystem from a client.&nbsp; If a client mounts the filesystem on /lustre, then you will need to make the dirs /lustre/tenantA and /lustre/tenantB
 on the client (this requires a client that can access the whole filesystem).&nbsp; Isolating access will come from using lustre's subdir mount feature to mount only a portion of the filesystem namespace (like /lustre/tenantA) on a client.&nbsp; Nodemap will be used
 to limit access to those different subdir namespaces.<br>
<br>
You might want to look at the lustre manual section on configuring Shared Secret Keys (<a href="https://doc.lustre.org/lustre_manual.xhtml#lustressk">https://doc.lustre.org/lustre_manual.xhtml#lustressk</a>) and possibly Kerberos (<a href="https://doc.lustre.org/lustre_manual.xhtml#managingSecurity.kerberos">https://doc.lustre.org/lustre_manual.xhtml#managingSecurity.kerberos</a>)
 too if needed.&nbsp; Hopefully that is enough to get you started.<br>
<br>
--Rick<br>
<br>
<br>
\ufeffOn 8/6/25, 12:43 AM, &quot;Ran Mo&quot; &lt;HenryMo2012@outlook.com &lt;<a href="mailto:HenryMo2012@outlook.com">mailto:HenryMo2012@outlook.com</a>&gt;&gt; wrote:<br>
<br>
Thanks Rick a lot. You save me from keeping reinstalling Lustre/troubleshooting why it is in RO. :)<br>
<br>
Sorry, I am new to Lustre. I am trying to setup and test two functions below. <br>
1) Use Lustre's identity feature to create users on the client side, and require user to be authenticated at Lustre server n before allowing them to access the file system.<br>
2) Enable the nodemap feature to enforce user data isolation; Create Tenant A and Tenant B, and ensure that each tenant can only mount and see data within their respective subdirectories of the file system.<br>
<br>
<br>
For test 1), per research , looks like there is a need to install Lustre_id at client side but I just cannot find it.<br>
For test 2), per research , ChatGPT asked me to create two sub directories (for examples, mkdir /mnt/mdt/{tenantA,tenantB}) under mount point of MDT (/mnt/mdt) on MDS server but since it is RO mode, I am not allowed to do so. That's where I have been stuck
 for test 2). (:<br>
<br>
Not sure if you can share your ideas on these.<br>
<br>
Environment:<br>
3 Rocky8.10 VMs (MDS+MGS on server1, the other two are OSS). Two Ubuntu VMs (22.04) as client. All is running Lustre 2.15.7.<br>
<br>
<br>
<br>
<br>
Thanks again. <br>
Ran<br>
<br>
<br>
<br>
<br>
</div>
</span></font></div>
</body>
</html>