<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
It seems expensive (straight mirroring rather than parity’s) and it’s asynchronous from Lustre, so if you’re really just syncing the block devices, that can’t guarantee safety on failure.  If I understand what you’re doing, when a failure occurs, drbd may be
 in the middle of syncing the block device.  That would likely lead to losing data you had already written and possibly to corrupting the on disk file system in the mirror.  (Specifically, you’d end up copying part of something important before the failure
 occurred)<br>
<br>
<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> yu sun <sunyu1949@gmail.com><br>
<b>Sent:</b> Wednesday, June 27, 2018 11:26:52 PM<br>
<b>To:</b> Patrick Farrell<br>
<b>Cc:</b> adilger@whamcloud.com; lustre-discuss@lists.lustre.org<br>
<b>Subject:</b> Re: [lustre-discuss] lctl ping node28@o2ib report Input/output error</font>
<div> </div>
</div>
<meta content="text/html; charset=utf-8">
<div>
<div dir="ltr">yes, drbd will mirror the content of block devices between hosts synchronously or asynchronously. this will provide us data <span style="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:"Open Sans",HelveticaNeue,"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:15px; float:none; display:inline"><span style="background-color:rgb(255,255,255); float:none; display:inline"></span></span></div>
</div>
<div><br>
</div>
<div>Thanks</div>
<div>Yu</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr">Patrick Farrell <<a href="mailto:paf@cray.com">paf@cray.com</a>> 于2018年6月27日周三 下午9:28写道:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div><br>
I’m a little puzzled - it can switch, but isn’t the data on the failed disk lost...?  That’s 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’s 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="x_m_1665947129306950335divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> lustre-discuss <<a href="mailto:lustre-discuss-bounces@lists.lustre.org" target="_blank">lustre-discuss-bounces@lists.lustre.org</a>>
 on behalf of yu sun <<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>><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, 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,data 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 😆.</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="x_m_1665947129306950335x_gmail_quote">
<div dir="ltr">Andreas Dilger <<a href="mailto:adilger@whamcloud.com" target="_blank">adilger@whamcloud.com</a>> 于2018年6月27日周三 下午7:07写道:<br>
</div>
<blockquote class="x_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 <<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>> wrote:<br>
> <br>
> client:<br>
> root@ml-gpu-ser200.nmg01:~$ mount -t lustre node28@o2ib1:node29@o2ib1:/project /mnt/lustre_data<br>
> mount.lustre: mount node28@o2ib1:node29@o2ib1:/project at /mnt/lustre_data failed: Input/output error<br>
> Is the MGS running?<br>
> root@ml-gpu-ser200.nmg01:~$ lctl ping node28@o2ib1<br>
> failed to ping 10.82.143.202@o2ib1: Input/output error<br>
> root@ml-gpu-ser200.nmg01:~$<br>
> <br>
> <br>
> mgs and mds:<br>
>     mkfs.lustre --mgs --reformat --servicenode=node28@o2ib1 --servicenode=node29@o2ib1 /dev/sdb1<br>
>     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'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'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'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 "scratch" filesystem where you don'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>
> <br>
> ost:<br>
> ml-storage-ser22.nmg01:<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=12 /dev/sdc1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=13 /dev/sdd1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=14 /dev/sde1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=15 /dev/sdf1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=16 /dev/sdg1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=17 /dev/sdh1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=18 /dev/sdi1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=19 /dev/sdj1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=20 /dev/sdk1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=21 /dev/sdl1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=22 /dev/sdm1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node22@o2ib1 --servicenode=node23@o2ib1 --ost --index=23 /dev/sdn1<br>
> ml-storage-ser26.nmg01:<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=36 /dev/sdc1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=37 /dev/sdd1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=38 /dev/sde1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=39 /dev/sdf1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=40 /dev/sdg1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=41 /dev/sdh1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=42 /dev/sdi1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=43 /dev/sdj1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=44 /dev/sdk1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=45 /dev/sdl1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=46 /dev/sdm1<br>
>     mkfs.lustre --fsname=project --reformat --mgsnode=node28@o2ib1 --mgsnode=node29@o2ib1  --servicenode=node26@o2ib1 --servicenode=node27@o2ib1 --ost --index=47 /dev/sdn1<br>
> <br>
> Thanks<br>
> Yu<br>
> <br>
> Mohr Jr, Richard Frank (Rick Mohr) <<a href="mailto:rmohr@utk.edu" target="_blank">rmohr@utk.edu</a>> 于2018年6月27日周三 下午1:25写道:<br>
> <br>
> > On Jun 27, 2018, at 12:52 AM, yu sun <<a href="mailto:sunyu1949@gmail.com" target="_blank">sunyu1949@gmail.com</a>> wrote:<br>
> ><br>
> > I have create file /etc/modprobe.d/lustre.conf with content on all mdt ost and client:<br>
> > root@ml-gpu-ser200.nmg01:~$ cat /etc/modprobe.d/lustre.conf<br>
> > options lnet networks="o2ib1(eth3.2)"<br>
> > and I exec command line : lnetctl lnet configure --all to make my static lnet configuration take effect. but i still can'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>
> <br>
> What options did you use when mounting the file system?<br>
> <br>
> --<br>
> Rick Mohr<br>
> Senior HPC System Administrator<br>
> National Institute for Computational Sciences<br>
> <a href="http://www.nics.tennessee.edu" rel="noreferrer" target="_blank">http://www.nics.tennessee.edu</a><br>
> <br>
> _______________________________________________<br>
> lustre-discuss mailing list<br>
> <a href="mailto:lustre-discuss@lists.lustre.org" target="_blank">lustre-discuss@lists.lustre.org</a><br>
> <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>
</div>
</body>
</html>