<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 23/11/18 18:00, ST Wong (ITSC)
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:HK2PR01MB3234E2F14D5A070650320F35BCD40@HK2PR01MB3234.apcprd01.prod.exchangelabs.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;
        color: rgb(0, 0, 0); font-family: Calibri, Helvetica,
        sans-serif, "EmojiFont", "Apple Color
        Emoji", "Segoe UI Emoji", NotoColorEmoji,
        "Segoe UI Symbol", "Android Emoji",
        EmojiSymbols;">
        <p style="margin-top:0; margin-bottom:0">Hi all,</p>
        <p style="margin-top:0; margin-bottom:0"><br>
        </p>
        <p style="margin-top:0; margin-bottom:0"><span>We've 8 </span>osd
          hosts, 4 in room 1 and 4 in room2.   
          <br>
        </p>
        <p style="margin-top:0; margin-bottom:0">A pool with size = 3
          using following crush map is created, to cater for room
          failure.</p>
        <br>
        <p style="margin-top:0; margin-bottom:0"><span style="font-size:
            10pt; font-family: "Courier New", serif,
            "EmojiFont";"><br>
            <span class="highlight" id="0.23873219365686194"
              name="searchHitInReadingPane">rule</span> multiroom {<br>
                    id 0<br>
                    type replicated<br>
                    min_size 2<br>
                    max_size 4<br>
                    step take default<br>
                    step choose firstn 2 type room<br>
                    step chooseleaf firstn 2 type host<br>
                    step emit<br>
            }</span></p>
        <p style="margin-top:0; margin-bottom:0"><span style="font-size:
            10pt; font-family: "Courier New", serif,
            "EmojiFont";"><br>
          </span></p>
        <p style="margin-top:0; margin-bottom:0"><span style="font-size:
            10pt; font-family: "Courier New", serif,
            "EmojiFont";"><span></span></span></p>
        <div>
          <p style="margin-top:0; margin-bottom:0"><br>
          </p>
          We're expecting:</div>
        <div><br>
        </div>
        <div>1.for each object, there are always 2 replicas in one room
          and 1 replica in other room making size=3.  But we can't
          control which room has 1 or 2 replicas.</div>
        <div><br>
        </div>
        <div>2.in case an osd host fails, ceph will assign remaining
          osds to the same PG to hold replicas on the failed osd host. 
          Selection is based on crush rule of the pool, thus maintaining
          the same failure domain - won't make all replicas in the same
          room.  
          <br>
        </div>
        <div>  <br>
        </div>
        <div>3.in case of entire room with 1 replica fails, the pool
          will remain degraded but won't do any replica relocation.</div>
        <div><br>
        </div>
        <div>4. in case of entire room with 2 replicas fails, ceph will
          make use of osds in the surviving room and making 2 replicas. 
          Pool will not be writeable before all objects are made 2
          copies (unless we make pool size=4?).  Then when recovery is
          complete, pool will remain in degraded state until the failed
          room recover.<br>
        </div>
        <p style="margin-top:0; margin-bottom:0"><span style="font-size:
            10pt; font-family: "Courier New", serif,
            "EmojiFont";"></span></p>
        <div><br>
        </div>
        <div>Is our understanding correct?  Thanks a lot.</div>
        <div>Will do some simulation later to verify.</div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>/stwong<br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
ceph-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ceph-users@lists.ceph.com">ceph-users@lists.ceph.com</a>
<a class="moz-txt-link-freetext" href="http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com">http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com</a>
</pre>
    </blockquote>
    <br>
    I think this is correct. To re-phrase 2) : all PGs on the failed
    node will be re-distributed on  several other hosts within the same
    room.<br>
    <br>
    Since some PGs will have 2 replicas in 1 room whereas some other PGs
    will have 2 replicas in the other room, i tend to dis-like such
    setup as it is not symmetric,some PGs will suffer more than others
    in case on room failure, you failure domain is not symmetric.
    Besides more importantly, as you stated in 4, you cluster will be
    down while these unfortunate PGs recover ( statistically that is
    half your data ). I would prefer in such case you would use a size=4
    min_size=2 setup.<br>
    <br>
    /Maged<br>
  </body>
</html>