<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Аспро: ЛайтШоп [тема: zeroizable LVM блоки на общем хранилище]</title>
		<link>http://proxmox.su</link>
		<description>Новое в теме zeroizable LVM блоки на общем хранилище форума Proxmox Виртуальная Среда на сайте Аспро: ЛайтШоп [proxmox.su]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 12 Nov 2026 06:32:19 +0300</pubDate>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366847/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Пожалуйста, откройте новую тему. LVM thin невозможно использовать на совместном хранилище, о чем и идет речь в этой теме. <br />
			<i>15.07.2017 00:14:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366847/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366847/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Sat, 15 Jul 2017 00:14:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366846/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			/ect/lvm/lvm.conf, похоже, указывает на то, что 'thin_pool_zero' включен по умолчанию. Запуск 'lvs' показывает атрибут 'z' для логических томов с тонкой подачей, но, например, 'cat /sys/block/dm-34/queue/discard_zeroes_data' указывает на то, что ядро не учитывает это или не знает об этом. Я не могу найти никаких сообщений по этому поводу. Это задумано (возможно, из-за того, что LVM-thin не обнуляет данные атомарно) или еще не написан необходимый код ядра? Мы используем следующий относительно простой bash-скрипт для обновления блочных устройств (дисков VM) на серверах в резервном центре. Скрипт в основном считывает и сравнивает 1КБ хэши MD5 и затем либо пропускает следующий блок, либо передает этот блок. Работает очень хорошо как со снимками на исходе (консистентный исходный образ), так и на месте назначения (последний снимок является консистентным образом, пока оригинал патчится). Мы надеялись найти способ заставить LVM-thin игнорировать блоки нулей, чтобы сэкономить место на DR-сайте, хотя, похоже, такого пока нет. Гостевые системы используют параметры монтирования discard или запускают дефрагментацию диска с TRIM (Windows) на сервере-источнике, но наша схема репликации в результате записывает нули в пункт назначения, если этот блок ранее содержал данные, поэтому образы назначения медленно растут со временем. Было бы идеально, если бы LVM-thin мог обнаруживать участки, содержащие только нули, и автоматически освобождать их, или если бы мы могли периодически обрабатывать блочные устройства для достижения этого. В настоящее время мы периодически запускаем VM в среде DR и вручную выполняем fstrim или дефрагментацию диска, но хотели бы, чтобы это было автоматизировано. P.S.: Чтение нулей из невыделенного пространства с LVM-thin также происходит очень быстро, так как на самом деле не нужно считывать никаких данных. Вот скрипт, который мы запускаем каждую ночь на системе Proxmox в удаленном офисе, надеюсь, он будет полезен кому-то (использует 'lzop' для сжатия хэшей и данных в пути): P.S.: Скрипт ниже взят из другого устаревшего хоста, который все еще использует стандартный LVM (без тонких томов). Изменить его несложно, так как требуется лишь небольшая настройка команды lvcreate. Код: #!/bin/sh<br /><br />network_kvm_backup () {<br /> &nbsp;src_vg=$1;<br /> &nbsp;src_lvm=$2;<br /> &nbsp;snapsize=$3;<br /> &nbsp;dst_host=$4;<br /> &nbsp;dst_vg=$5;<br /> &nbsp;export dev1="/dev/$src_vg/$src_lvm-snap1";<br /> &nbsp;export dev2="/dev/$dst_vg/$src_lvm-backup";<br /> &nbsp;export remote="root@$dst_host";<br /><br /> &nbsp;logger "Начинаем обновлять $dev1 на $dst_host как $dev2";<br /> &nbsp;[ "$src_vg" = "vg_kvm" ] && stripes=2 || stripes=1;<br /> &nbsp;lvcreate -i $stripes -L $snapsize /dev/$src_vg/$src_lvm -s -n $dev1 &gt; /dev/null;<br /> &nbsp;ssh -i /root/.ssh/rsync_rsa $remote "<br /> &nbsp; &nbsp;perl -'MDigest::MD5 md5' -ne 'BEGIN{\$/=\1024};print md5(\$_)' $dev2 | lzop -c" |<br /> &nbsp; &nbsp;lzop -dc | perl -'MDigest::MD5 md5' -ne 'BEGIN{$/=\1024};$b=md5($_);<br /> &nbsp; &nbsp; &nbsp;read STDIN,$a,16;if ($a eq $b) {print "s"} else {print "c" . $_}' $dev1 | lzop -c |<br /> &nbsp; &nbsp;ssh -i /root/.ssh/rsync_rsa $remote "lzop -dc |<br /> &nbsp; &nbsp; perl -ne 'BEGIN{\$/=\1} if (\$_ eq\"s\") {\$s++} else {if (\$s) {<br /> &nbsp; &nbsp; &nbsp;seek STDOUT,\$s*1024,1; \$s=0}; read ARGV,\$buf,1024; print \$buf}' 1&lt;&gt; $dev2"<br /> &nbsp;logger "Завершили обновление $dev1 на $dst_host как $dev2";<br /> &nbsp;lvremove -f $dev1 &gt; /dev/null;<br />}<br /><br /># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;src_vg src_lvm &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; snapsize dst_host &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dst_vg<br />network_kvm_backup vg_kvm lair-nt01 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 50G &nbsp; &nbsp;dr2.lair.co.za lvm0<br />network_kvm_backup vg_kvm lair-eppdns &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5G &nbsp; &nbsp;dr2.lair.co.za lvm0<br />network_kvm_backup vg_kvm lair-webapp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5G &nbsp; &nbsp;dr3.lair.co.za lvm0 <br />
			<i>11.07.2017 04:52:00, David Herselman.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366846/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366846/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Tue, 11 Jul 2017 04:52:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366845/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Спасибо за разъяснение. Теперь я лучше понимаю. С наилучшими пожеланиями. <br />
			<i>16.03.2016 11:02:00, marco44.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366845/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366845/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Wed, 16 Mar 2016 11:02:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366844/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			lvm-thin в исходном коде ядра помечает устройство как не возвращающее нули для освобожденных блоков. На практике это будет зависеть от размера освобожденного пространства. Если вы освободите достаточно большую часть, чтобы LVM мог его деаллоцировать, последующие чтения действительно будут возвращать нули, но это не гарантируется на уровне блоков, так что `detect-zeroes=unmap` не будет использовать освобождение тут. Обычно `detect-zeroes=unmap` заставляет qemu запрашивать у ядра, сообщает ли базовое хранилище, что выполнение освобождения приводит к возвращению нулей при последующих чтениях из этого места. Так что обычно он вернется к использованию запроса BLKZEROOUT, затем все будет зависеть от того, что еще знает хост-ядро о базовом хранилище: это снова может быть освобождение (но в этот момент это маловероятно, иначе qemu уже использовал бы это), одно запись блока с нулями, за которой следуют запросы "write-same" (наверное, в этот момент это наиболее вероятно), или если первое не обнуляет, а второе не поддерживается, это закончится фактическими записями нулей. Последние два запроса не будут выдавать освобождения вообще. <br />
			<i>14.03.2016 09:11:00, wbumiller.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366844/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366844/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Mon, 14 Mar 2016 09:11:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366843/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Я заявил, что файловая система может сама выполнять деэмпинг. Если KVM делает это через trim, конечно, это быстрее, но KVM для этого не нужен. Если вы записываете большой файл, например, не сжатый диск виртуальной машины, который содержит много нулей, файл записывается в ZFS, но он автоматически деэмпится, что приводит к очень компактному образу диска виртуальной машины. <br />
			<i>11.03.2016 18:09:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366843/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366843/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Fri, 11 Mar 2016 18:09:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366842/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Я думал, что если в параметрах KVM установлено detect-zeroes=unmap, то он будет отправлять операции удаления, когда обнаруживаются нули. Это было бы достаточно для LVM-Thin, чтобы справиться с удалениями... так это работает, когда система виртуальной машины действительно выполняет операции удаления. <br />
			<i>11.03.2016 11:44:00, marco44.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366842/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366842/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Fri, 11 Mar 2016 11:44:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366841/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Нет, если вы записываете нули в ZFS, ZFS это обнаруживает и автоматически разъединяет. Это вообще не связано с trim/discard. Не знаю, делает ли thin-LVM что-то похожее. ZFS обычно использует размер записи/блока 128K, вы можете установить его на 8K, чтобы он соответствовал вашему гостю (если правильно выровнен), и тогда получите 1:1 отображение блоков — то есть каждый освобожденный блок может быть разъединен ZFS, если у него теперь количество ссылок равно 0. LVM внутренне использует extend, и не знаю, могут ли тонко выделенные объемы также быть настроены с маленьким размером extend. Вы должны это проверить в документации thin-LVM или попробовать на тонко выделенном тестовом объеме. <br />
			<i>11.03.2016 11:12:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366841/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366841/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Fri, 11 Mar 2016 11:12:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366840/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Если это так, то значит, что KVM отправляет отбрасывания в ZFS, когда обнаруживает нули, но не в LVM-Thin. Это было бы странно, не правда ли? Или ZFS сам обнаруживает эти нули? <br />
			<i>11.03.2016 10:24:00, marco44.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366840/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366840/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Fri, 11 Mar 2016 10:24:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366839/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Я никогда не использовал тонкое предоставление LVM, но я могу записывать нули в ZFS, и ZFS позаботится о размечивании. Возможно, есть что-то похожее для тонко предоставленных LVM. Возможно, когда расширения LVM свободны, их можно вернуть. <br />
			<i>10.03.2016 20:03:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366839/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366839/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Thu, 10 Mar 2016 20:03:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366838/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Привет, извиняюсь, что влезаю в этот разговор, но мне кажется, что мой вопрос примерно о том же: я пытаюсь воспользоваться функцией обнаружения нулевых блоков на LVM-Thin томе, но без успешных результатов. В большинстве виртуальных машин я могу выполнить команды на освобождение места внутри ВМ (это работает). Но у меня есть одна виртуальная машина с Windows и одна очень старая Debian (Debian 3, да, я в курсе, но у меня нет выбора) которые не могут выполнять команды на освобождение. Запуск fstrim в виртуальной машине работает прекрасно, когда эта ВМ может их выполнять… например, с недавним Linux. Место освобождается и возвращается LVM-Thin. Но я не могу вернуть место, записывая нули, и, прочитав эту тему, подумал, что это может сработать. Я что-то упускаю? С уважением. <br />
			<i>10.03.2016 18:01:00, marco44.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366838/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366838/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Thu, 10 Mar 2016 18:01:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
		<item>
			<title>zeroizable LVM блоки на общем хранилище</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum63/message366837/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche">zeroizable LVM блоки на общем хранилище</a></b> <i>Proxmox Виртуальная Среда</i> в форуме <a href="http://proxmox.su/forum/forum63/">Proxmox Виртуальная Среда</a>. <br />
			Привет, я оптимизирую все свои виртуальные машины, заполняя их свободное пространство нулями перед резервным копированием, чтобы файлы резервной копии были как можно меньше. Я делаю это полуручно (скрипт и cronjob), но у меня это не автоматизировано. Я знаю, что можно использовать discard, но только если базовое хранилище это поддерживает. Я использовал это с qcow и даже LVM на SSD, но у меня кластер и SAN на основе FC для моих виртуальных машин. В мануалах KVM сказано следующее: что еще можно сделать? Это не относится к моей проблеме. Я хочу очистить/обнулить блоки на LVM, если файл был аннулирован в виртуальной машине. <br />
			<i>05.02.2016 21:56:00, LnxBil.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum63/message366837/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</link>
			<guid>http://proxmox.su/forum/messages/forum63/message366837/82430-zeroizable-lvm-bloki-na-obshchem-khranilishche</guid>
			<pubDate>Fri, 05 Feb 2016 21:56:00 +0300</pubDate>
			<category>Proxmox Виртуальная Среда</category>
		</item>
	</channel>
</rss>
