<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi.<b> Please, give link to your blog.</b><br>
      <br>
      I succesfully create configuration for virtual machines (and it
      works fine), test force reboot many time (and machine have some
      problem with ACPI table, thats why SATA controller reset links for
      all disks (now it fixed), but only one disk is out from md-raid
      and system worked. when controller problem was it heavy test I/O).
      E.g. I think, that with journal and crc32 dm-integrity is stable.
      In one of tests I write 1Mb with dd (with skip), then read (cat
      > /dev/null) LVM-partition on top of md. dm-intergity
      succesfully detect corrution, generate i/o error and md fencing
      disk, but still works.<br>
      <br>
      <br>
      I use this configuration: 7 SATA disks => each with own
      dm-integrity => md raid6 6 disks + 1 spare disk -> LVM for
      virtual machines.<br>
      <br>
      If any disk gives up buggy info, dm-integrity will generate i/o
      error and md fence disk from raid, but system continious working.
      You can say, that I must use ZFS for this case, but I don't have
      SSD-cache, and without SSD-cache ZFS is too slow, SLOWSLOWSLOW in
      future, when virtual machines disks will fragment, e.g. CoW. My
      solution gives integrity opportunity without fragmentation
      penalty.<br>
      <br>
      Please, use this info in your blog, becase in production we want
      not only know, that info from disk is buggy, but read non-buggy
      info and continue working. If you will paste to your blog, please.
      change serial numbers of my disks. :)<br>
      <br>
      <b>And one more think: after system boot and assemble script
        executed, it eates ~4Gb RAM (only dm-intergity). What parameter
        doing it?</b><br>
      <br>
      <br>
      I use this sript on boot to assemle raid:<br>
      <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">cd /root/local/integrity/src</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open  /dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV90886975-part1 integra-WCAV90886975</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open   /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F0SJX4T6-part1 integra-WCC3F0SJX4T6</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open   /dev/disk/by-id/ata-WDC_WD5001AALS-00J7B0_WD-WMATV7467797-part1 integra-WMATV7467797</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open   /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F0YY89KN-part1 integra-WCC3F0YY89KN</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open  /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F5HF3NN0-part1 integra-WCC3F5HF3NN0</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open  /dev/disk/by-id/ata-WDC_WD5003AZEX-00K3CA0_WD-WCC6Y4XEA1RS-part1 integra-WCC6Y4XEA1RS</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup --integrity=crc32 --buffer-sectors=414096  --journal-watermark=70  --journal-commit-time=60000  open  /dev/mapper/vg--super--blue-lv--super--spare integra-spare</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">cd /</p>
      <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">mdadm --assemble --scan</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">sleep 6</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">echo 50000 > /proc/sys/dev/raid/speed_limit_min</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">echo 500000 > /proc/sys/dev/raid/speed_limit_max</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">echo 32768 > /sys/block/md0/md/stripe_cache_size</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">And this to create:</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format /dev/disk/by-id/ata-WDC_WD5000AADS-00S9B0_WD-WCAV90886975-part1 ##-> ../../sda1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format  /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F0SJX4T6-part1 ## -> ../../sdb1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format  /dev/disk/by-id/ata-WDC_WD5001AALS-00J7B0_WD-WMATV7467797-part1 ##-> ../../sdc1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format  /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F0YY89KN-part1 ##-> ../../sdd1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format  /dev/disk/by-id/ata-WDC_WD5003AZEX-00MK2A0_WD-WCC3F5HF3NN0-part1 ## -> ../../sde1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format  /dev/disk/by-id/ata-WDC_WD5003AZEX-00K3CA0_WD-WCC6Y4XEA1RS-part1 ## -> ../../sdf1
LD_PRELOAD='../lib/.libs/libcryptsetup.so.12' ./integritysetup  -v --sector-size=512 --integrity=crc32  --tag-size 32 --buffer-sectors=414096 --journal-size=836870912  format /dev/mapper/vg--super--blue-lv--super--spare
</p>
      <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
      mdadm --verbose --create /dev/md0  --bitmap=internal
      --bitmap-chunk=524288 -c 128  --level=6  --raid-devices=6
      /dev/mapper/integra-WCAV90886975 /dev/mapper/integra-WCC3F0SJX4T6
      /dev/mapper/integra-WMATV7467797 /dev/mapper/integra-WCC3F0YY89KN
      /dev/mapper/integra-WCC3F5HF3NN0 /dev/mapper/integra-WCC6Y4XEA1RS
      --spare-devices=1 /dev/mapper/integra-spare<br>
      <br>
      <br>
      11.07.2017 12:52, Milan Broz пишет:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7c811e93-ff1c-420d-bc99-2b234d13ae30@gmail.com">
      <pre wrap="">On 07/10/2017 05:53 PM, Renesanso wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">And I have other question: is it ready for production in crc32+journal 
mode? Not as like IBM-like production, I mean, but it is not full> buggy, but stable now? :)
</pre>
      </blockquote>
      <pre wrap="">
Hi,

well, there are some tests, we found and fixed some issues in 4.12-rcX
(so be sure you are using code from released 4.12.0 or later!).

So I hope it is stable, but it would definitely need more users to test.
If you find any problem, crash or anything related to kernel code, please send
a report to the <a class="moz-txt-link-abbreviated" href="mailto:dm-devel@redhat.com">dm-devel@redhat.com</a> list.

Thanks,
Milan
</pre>
    </blockquote>
    <p>
</p>
  </body>
</html>