<div dir="ltr">yes, drbd will mirror the content of block devices between hosts synchronously or asynchronously. this will provide us data <span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">redundancy between hosts.</span><div>perhaps we should use zfs + drbd for mdt and ost?<div><span style="color:rgb(0,0,0);font-family:&quot;Open Sans&quot;,HelveticaNeue,&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;font-size:15px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"></span></span></div></div><div><br></div><div>Thanks</div><div>Yu</div></div><br><div class="gmail_quote"><div dir="ltr">Patrick Farrell &lt;<a href="mailto:paf@cray.com">paf@cray.com</a>&gt; \u4e8e2018\u5e746\u670827\u65e5\u5468\u4e09 \u4e0b\u53489:28\u5199\u9053\uff1a<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<br>
I\u2019m a little puzzled - it can switch, but isn\u2019t the data on the failed disk lost...?  That\u2019s why Andreas is suggesting RAID.  Or is drbd doing syncing of the disk?  That seems like a really expensive way to get redundancy, since it would have to be full online
 mirroring with all the costs in hardware and resource usage that implies...?<br>
<br>
ZFS is not a requirement, it generally performs a bit worse than ldiskfs but makes it up with impressive features to improve data integrity and related things.  Since it sounds like that\u2019s not a huge concern for you, I would stick with ldiskfs.  It will likely
 be a little faster and is easier to set up.<br>
<br>
<hr style="display:inline-block;width:98%">
<div id="m_1665947129306950335divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> lustre-discuss &lt;<a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a>&gt; on behalf of yu sun &lt;<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>&gt;<br>
<b>Sent:</b> Wednesday, June 27, 2018 8:21:43 AM<br>
<b>To:</b> <a href="mailto:adilger@whamcloud.com" target="_blank">adilger@whamcloud.com</a><br>
<b>Cc:</b> <a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
<b>Subject:</b> Re: [lustre-discuss] lctl ping node28@o2ib report Input/output error</font>
<div> </div>
</div>

<div>
<div dir="ltr"><span style="float:none;display:inline">yes\uff0c you are right, thanks for your great suggestions.</span>
<div><br>
<div><span style="float:none;display:inline">now we are using glusterfs to store training data for ML, and we begin to investigate lustre to instead glusterfs for performance.</span></div>
<div><br>
</div>
<div>Firstly, yes we do want to get maximum perforance, you means we should use zfs , for example , not each ost/mdt on a separate partitions, for better perforance?</div>
<div><br>
</div>
<div>Secondly, we dont use any underlying RAID devices,  and we do configure each ost on a separate disk, considering that lustre does not provide disk data redundancy, we are use drbd + pacemarker + corosync for data
<span style="background-color:rgb(255,255,255);float:none;display:inline">redundancy and HA, you can see we have configured --<span style="float:none;display:inline">servicenode when mkfs.lustre. I dont know how reliable is this solution?  it seems ok for
 our current test, when one disk faild, pacemarker can switch to other ost on the other machine </span></span>automaticly.</div>
<div><span style="background-color:rgb(255,255,255);float:none;display:inline"><span style="float:none;display:inline"><br>
</span></span></div>
<div><span style="background-color:rgb(255,255,255);float:none;display:inline"><span style="float:none;display:inline">we also want to use zfs and I have test zfs by mirror, However, if the physical machine down\uff0cdata on the machine will lost. so we decice
 use the solution listed above.</span></span></div>
<div><br>
</div>
<div>Now we are testing, and any suggesting is appreciated \U0001f606.</div>
<div>thanks <span style="background-color:rgb(255,255,255);float:none;display:inline">
Andreas.</span></div>
<div><span style="background-color:rgb(255,255,255);float:none;display:inline"><span style="float:none;display:inline"><br>
</span></span></div>
<div><span style="background-color:rgb(255,255,255);float:none;display:inline"><span style="float:none;display:inline">Your</span></span></div>
<div><span style="background-color:rgb(255,255,255);float:none;display:inline"><span style="float:none;display:inline">Yu</span></span></div>
<div><br>
<div><span style="float:none;display:inline"><br>
</span></div>
</div>
<br>
<div class="m_1665947129306950335x_gmail_quote">
<div dir="ltr">Andreas Dilger &lt;<a href="mailto:adilger@whamcloud.com" target="_blank">adilger@whamcloud.com</a>&gt; \u4e8e2018\u5e746\u670827\u65e5\u5468\u4e09 \u4e0b\u53487:07\u5199\u9053\uff1a<br>
</div>
<blockquote class="m_1665947129306950335x_gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
On Jun 27, 2018, at 09:12, yu sun &lt;<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>&gt; wrote:<br>
&gt; <br>
&gt; client:<br>
&gt; root@ml-gpu-ser200.nmg01:~$ mount -t lustre node28@o2ib1:node29@o2ib1:/project /mnt/lustre_data<br>
&gt; mount.lustre: mount node28@o2ib1:node29@o2ib1:/project at /mnt/lustre_data failed: Input/output error<br>
&gt; Is the MGS running?<br>
&gt; root@ml-gpu-ser200.nmg01:~$ lctl ping node28@o2ib1<br>
&gt; failed to ping 10.82.143.202@o2ib1: Input/output error<br>
&gt; root@ml-gpu-ser200.nmg01:~$<br>
&gt; <br>
&gt; <br>
&gt; mgs and mds:<br>
&gt;     mkfs.lustre --mgs --reformat --servicenode=node28@o2ib1 --servicenode=node29@o2ib1 /dev/sdb1<br>
&gt;     mkfs.lustre --fsname=project --mdt --index=0 --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1 --servicenode node28@o2ib1 --servicenode node29@o2ib1 --reformat --backfstype=ldiskfs /dev/sdc1<br>
<br>
Separate from the LNet issues, it is probably worthwhile to point out some issues<br>
with your configuration.  You shouldn&#39;t use partitions on the OST and MDT devices<br>
if you want to get maximum performance.  That can offset all of the filesystem IO<br>
from the RAID/sector alignment and hurt performance.<br>
<br>
Secondly, it isn&#39;t clear if you are using underlying RAID devices, or if you are<br>
configuring each OST on a separate disk?  It looks like the latter - that you are<br>
making each disk a separate OST.  That isn&#39;t a good idea for Lustre, since it does<br>
not (yet) have any redundancy at higher layers, and any disk failure would result<br>
in data loss.  You currently need to have RAID-5/6 or ZFS for each OST/MDT, unless<br>
this is a really &quot;scratch&quot; filesystem where you don&#39;t care if the data is lost and<br>
reformatting the filesystem is OK (i.e. low cost is the primary goal, which is fine<br>
also, but not very common).<br>
<br>
We are working at Lustre-level data redundancy, and there is some support for this<br>
in the 2.11 release, but it is not yet in a state where you could reliably use it<br>
to mirror all of the files in the filesystem.<br>
<br>
Cheers, Andreas<br>
<br>
&gt; <br>
&gt; ost:<br>
&gt; ml-storage-ser22.nmg01:<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=12 /dev/sdc1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=13 /dev/sdd1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=14 /dev/sde1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=15 /dev/sdf1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=16 /dev/sdg1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=17 /dev/sdh1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=18 /dev/sdi1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=19 /dev/sdj1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=20 /dev/sdk1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=21 /dev/sdl1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=22 /dev/sdm1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=23 /dev/sdn1<br>
&gt; ml-storage-ser26.nmg01:<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=36 /dev/sdc1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=37 /dev/sdd1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=38 /dev/sde1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=39 /dev/sdf1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=40 /dev/sdg1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=41 /dev/sdh1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=42 /dev/sdi1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=43 /dev/sdj1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=44 /dev/sdk1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=45 /dev/sdl1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=46 /dev/sdm1<br>
&gt;     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=47 /dev/sdn1<br>
&gt; <br>
&gt; Thanks<br>
&gt; Yu<br>
&gt; <br>
&gt; Mohr Jr, Richard Frank (Rick Mohr) &lt;<a href="mailto:rmohr@utk.edu" target="_blank">rmohr@utk.edu</a>&gt; \u4e8e2018\u5e746\u670827\u65e5\u5468\u4e09 \u4e0b\u53481:25\u5199\u9053\uff1a<br>
&gt; <br>
&gt; &gt; On Jun 27, 2018, at 12:52 AM, yu sun &lt;<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; I have create file /etc/modprobe.d/lustre.conf with content on all mdt ost and client:<br>
&gt; &gt; root@ml-gpu-ser200.nmg01:~$ cat /etc/modprobe.d/lustre.conf<br>
&gt; &gt; options lnet networks=&quot;o2ib1(eth3.2)&quot;<br>
&gt; &gt; and I exec command line : lnetctl lnet configure --all to make my static lnet configuration take effect. but i still can&#39;t ping node28 from my client ml-gpu-ser200.nmg01.   I can mount  as well as access lustre on  client ml-gpu-ser200.nmg01.<br>
&gt; <br>
&gt; What options did you use when mounting the file system?<br>
&gt; <br>
&gt; --<br>
&gt; Rick Mohr<br>
&gt; Senior HPC System Administrator<br>
&gt; National Institute for Computational Sciences<br>
&gt; <a href="http://www.nics.tennessee.edu" rel="noreferrer" target="_blank">http://www.nics.tennessee.edu</a><br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; lustre-discuss mailing list<br>
&gt; <a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
&gt; <a href="http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org" rel="noreferrer" target="_blank">
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org</a><br>
<br>
Cheers, Andreas<br>
---<br>
Andreas Dilger<br>
Principal Lustre Architect<br>
Whamcloud<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
</div>

</blockquote></div>