<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Our Puppet/Ansible GPFS modules/playbooks handle this sequencing for us (we use bind mounts for things like u, projects, and scratch also).&nbsp; Like Skylar mentioned page pool allocation, quorum checking, and cluster arbitration have to come
 before a mount of the FS so that time you mentioned doesnt seem totally off to me. &nbsp;We just make the creation of the bind mounts dependent on the actual GPFS mount occurring in the configuration management tooling which has worked out well for us in that
 regard.&nbsp; <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Best,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">J.D. Maloney<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Sr. HPC Storage Engineer | Storage Enabling Technologies Group<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">National Center for Supercomputing Applications (NCSA)</span><o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">gpfsug-discuss-bounces@spectrumscale.org &lt;gpfsug-discuss-bounces@spectrumscale.org&gt; on behalf of Skylar Thompson &lt;skylar2@uw.edu&gt;<br>
<b>Date: </b>Tuesday, February 22, 2022 at 2:13 PM<br>
<b>To: </b>gpfsug-discuss@spectrumscale.org &lt;gpfsug-discuss@spectrumscale.org&gt;<br>
<b>Subject: </b>Re: [gpfsug-discuss] How to do multiple mounts via GPFS<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal">The problem might be that the service indicates success when mmstartup<br>
returns rather than when the mount is actually active (requires quorum<br>
checking, arbitration, etc.). A couple tricks I can think of would be using<br>
ConditionPathIsMountPoint from systemd.unit[1], or maybe adding a<br>
callback[2] that triggers on the mount condition for your filesystem that<br>
makes the bind mount rather than systemd.<br>
<br>
[1] <a href="https://urldefense.com/v3/__https:/www.freedesktop.org/software/systemd/man/systemd.unit.html*ConditionPathIsMountPoint=__;Iw!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv4xJQwzZ$">
https://urldefense.com/v3/__https://www.freedesktop.org/software/systemd/man/systemd.unit.html*ConditionPathIsMountPoint=__;Iw!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv4xJQwzZ$</a>
<br>
[2] <a href="https://urldefense.com/v3/__https:/www.ibm.com/docs/en/spectrum-scale/5.1.2?topic=reference-mmaddcallback-command__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv3f90Gia$">
https://urldefense.com/v3/__https://www.ibm.com/docs/en/spectrum-scale/5.1.2?topic=reference-mmaddcallback-command__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv3f90Gia$</a>
<br>
<br>
These are both on our todo list for improving our own GPFS mounting as we<br>
have problems with our job scheduler not starting reliably on reboot, but<br>
for us we can have Puppet start it on the next run so it just means nodes<br>
might not return to service for 30 minutes or so.<br>
<br>
On Tue, Feb 22, 2022 at 03:05:58PM -0500, Justin Cantrell wrote:<br>
&gt; This is how we're currently solving this problem, with systemd timer and<br>
&gt; mount. None of the requires seem to work with gpfs since it starts so late.<br>
&gt; I would like a better solution.<br>
&gt; <br>
&gt; Is it normal for gpfs to start so late?? I think it doesn't mount until<br>
&gt; after the gpfs.service starts, and even then it's 20-30 seconds.<br>
&gt; <br>
&gt; <br>
&gt; On 2/22/22 14:42, Skylar Thompson wrote:<br>
&gt; &gt; Like Tina, we're doing bind mounts in autofs. I forgot that there might be<br>
&gt; &gt; a race condition if you're doing it in fstab. If you're on system with systemd,<br>
&gt; &gt; another option might be to do this directly with systemd.mount rather than<br>
&gt; &gt; let the fstab generator make the systemd.mount units:<br>
&gt; &gt; <br>
&gt; &gt; <a href="https://urldefense.com/v3/__https:/nam11.safelinks.protection.outlook.com/?url=https*3A*2F*2Fwww.freedesktop.org*2Fsoftware*2Fsystemd*2Fman*2Fsystemd.mount.html&amp;amp;data=04*7C01*7Cjcantrell1*40gsu.edu*7C2a65cd0ddefd48cb81a308d9f63bb840*7C515ad73d8d5e4169895c9789dc742a70*7C0*7C0*7C637811559082622923*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000&amp;amp;sdata=*2BWWD7cCNSMeJEYwELldYT3pLdXVX3AxJj7gqZQCqUv4*3D&amp;amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUl!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv0tqF9rU$">
https://urldefense.com/v3/__https://nam11.safelinks.protection.outlook.com/?url=https*3A*2F*2Fwww.freedesktop.org*2Fsoftware*2Fsystemd*2Fman*2Fsystemd.mount.html&amp;amp;data=04*7C01*7Cjcantrell1*40gsu.edu*7C2a65cd0ddefd48cb81a308d9f63bb840*7C515ad73d8d5e4169895c9789dc742a70*7C0*7C0*7C637811559082622923*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000&amp;amp;sdata=*2BWWD7cCNSMeJEYwELldYT3pLdXVX3AxJj7gqZQCqUv4*3D&amp;amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUl!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv0tqF9rU$</a>
<br>
&gt; &gt; <br>
&gt; &gt; You could then set RequiresMountFor=gpfs1.mount in the bind mount unit.<br>
&gt; &gt; <br>
&gt; &gt; On Tue, Feb 22, 2022 at 02:23:53PM -0500, Justin Cantrell wrote:<br>
&gt; &gt; &gt; I tried a bind mount, but perhaps I'm doing it wrong. The system fails<br>
&gt; &gt; &gt; to boot because gpfs doesn't start until too late in the boot process.<br>
&gt; &gt; &gt; In fact, the system boots and the gpfs1 partition isn't available for a<br>
&gt; &gt; &gt; good 20-30 seconds.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; /gfs1/home??? /home??? none???? bind<br>
&gt; &gt; &gt; I've tried adding mount options of x-systemd-requires=gpfs1, noauto.<br>
&gt; &gt; &gt; The noauto lets it boot, but the mount is never mounted properly. Doing<br>
&gt; &gt; &gt; a manual mount -a mounts it.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; On 2/22/22 12:37, Skylar Thompson wrote:<br>
&gt; &gt; &gt; &gt; Assuming this is on Linux, you ought to be able to use bind mounts for<br>
&gt; &gt; &gt; &gt; that, something like this in fstab or equivalent:<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; /home /gpfs1/home bind defaults 0 0<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; On Tue, Feb 22, 2022 at 12:24:09PM -0500, Justin Cantrell wrote:<br>
&gt; &gt; &gt; &gt; &gt; We're trying to mount multiple mounts at boot up via gpfs.<br>
&gt; &gt; &gt; &gt; &gt; We can mount the main gpfs mount /gpfs1, but would like to mount things<br>
&gt; &gt; &gt; &gt; &gt; like:<br>
&gt; &gt; &gt; &gt; &gt; /home /gpfs1/home<br>
&gt; &gt; &gt; &gt; &gt; /other /gpfs1/other<br>
&gt; &gt; &gt; &gt; &gt; /stuff /gpfs1/stuff<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; But adding that to fstab doesn't work, because from what I understand,<br>
&gt; &gt; &gt; &gt; &gt; that's not how gpfs works with mounts.<br>
&gt; &gt; &gt; &gt; &gt; What's the standard way to accomplish something like this?<br>
&gt; &gt; &gt; &gt; &gt; We've used systemd timers/mounts to accomplish it, but that's not ideal.<br>
&gt; &gt; &gt; &gt; &gt; Is there a way to do this natively with gpfs or does this have to be done<br>
&gt; &gt; &gt; &gt; &gt; through symlinks or gpfs over nfs?<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; gpfsug-discuss mailing list<br>
&gt; &gt; &gt; gpfsug-discuss at spectrumscale.org<br>
&gt; &gt; &gt; <a href="https://urldefense.com/v3/__https:/nam11.safelinks.protection.outlook.com/?url=http*3A*2F*2Fgpfsug.org*2Fmailman*2Flistinfo*2Fgpfsug-discuss&amp;amp;data=04*7C01*7Cjcantrell1*40gsu.edu*7C2a65cd0ddefd48cb81a308d9f63bb840*7C515ad73d8d5e4169895c9789dc742a70*7C0*7C0*7C637811559082622923*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000&amp;amp;sdata=F4oXAT0zdY*2BS1mR784ZGghUt0G*2F6Ofu36MfJ9WnPsPM*3D&amp;amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUl!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv5uX7C9S$">
https://urldefense.com/v3/__https://nam11.safelinks.protection.outlook.com/?url=http*3A*2F*2Fgpfsug.org*2Fmailman*2Flistinfo*2Fgpfsug-discuss&amp;amp;data=04*7C01*7Cjcantrell1*40gsu.edu*7C2a65cd0ddefd48cb81a308d9f63bb840*7C515ad73d8d5e4169895c9789dc742a70*7C0*7C0*7C637811559082622923*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000&amp;amp;sdata=F4oXAT0zdY*2BS1mR784ZGghUt0G*2F6Ofu36MfJ9WnPsPM*3D&amp;amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUl!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv5uX7C9S$</a>
<br>
&gt; _______________________________________________<br>
&gt; gpfsug-discuss mailing list<br>
&gt; gpfsug-discuss at spectrumscale.org<br>
&gt; <a href="https://urldefense.com/v3/__http:/gpfsug.org/mailman/listinfo/gpfsug-discuss__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv34vkiw2$">
https://urldefense.com/v3/__http://gpfsug.org/mailman/listinfo/gpfsug-discuss__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv34vkiw2$</a>
<br>
<br>
-- <br>
-- Skylar Thompson (skylar2@u.washington.edu)<br>
-- Genome Sciences Department (UW Medicine), System Administrator<br>
-- Foege Building S046, (206)-685-7354<br>
-- Pronouns: He/Him/His<br>
_______________________________________________<br>
gpfsug-discuss mailing list<br>
gpfsug-discuss at spectrumscale.org<br>
<a href="https://urldefense.com/v3/__http:/gpfsug.org/mailman/listinfo/gpfsug-discuss__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv34vkiw2$">https://urldefense.com/v3/__http://gpfsug.org/mailman/listinfo/gpfsug-discuss__;!!DZ3fjg!vTT86FG0CVqF6KsdQdq6n66YOYiOPr6K2MrdTnqc2vnVduE1uhiO8VJcWTqzv34vkiw2$</a>
<o:p></o:p></p>
</div>
</div>
</body>
</html>