<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>