<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Аспро: ЛайтШоп [тема: Оптимизация производительности восстановления pbs (параллелизация)]</title>
		<link>http://proxmox.su</link>
		<description>Новое в теме Оптимизация производительности восстановления pbs (параллелизация) форума Proxmox Backup Server на сайте Аспро: ЛайтШоп [proxmox.su]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 21 Jun 2026 14:53:45 +0300</pubDate>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355347/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			Это, мягко говоря, преуменьшение, как мне кажется. Эти цифры просто потрясающие! Хотя это, возможно, и не раскрывает весь потенциал базового хранилища, если я смогу восстановить в 2 или 3 раза быстрее на том же железе — я соглашусь! При скорости восстановления выше 1 ГБ/с узким местом, наверное, станет сеть для многих пользователей. Но если живая (live) восстановление по какой-то причине не удастся, все изменения в виртуальной машине за это время пропадут. Для некоторых ВМ, например файловых серверов и уж тем более баз данных, это недопустимо. А вот для простого веб-сервера, который в любом случае пишет в внешнюю базу данных, это, вероятно, нормально. Рисков тут почти нет. <br />
			<i>23.09.2021 21:38:00, Felix..</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355347/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355347/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Thu, 23 Sep 2021 21:38:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355346/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			Потому что в случае проблемы мы можем использовать live-restore, и так наш виртуальный сервер и веб-сервер будут работать примерно через 7-9 минут. Если делать полный рестор, даже без параллелизации, вряд ли получится восстановить 750 ГБ меньше чем за 10 минут, как мне кажется. Конечно, если совместить оба подхода — параллелизовать live-restore, — тогда мы в работе уже через минуту?.. <br />
			<i>23.09.2021 14:39:00, logics.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355346/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355346/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Thu, 23 Sep 2021 14:39:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355345/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			В чём тут преимущество или улучшение функции live restore? <br />
			<i>23.09.2021 14:06:00, voarsh.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355345/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355345/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Thu, 23 Sep 2021 14:06:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355344/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			Я попробовал распараллелить процесс восстановления, см. parallelize restore.rs на <noindex><a href="https://lists.proxmox.com/pipermail/pbs-devel/2020-December/subject.html" target="_blank" rel="nofollow" >https://lists.proxmox.com/pipermail/pbs-devel/2020-December/subject.html</a></noindex>. Но есть ограничение, о котором говорилось здесь: <noindex><a href="https://lists.proxmox.com/pipermail/pbs-devel/2020-December/001685.html" target="_blank" rel="nofollow" >https://lists.proxmox.com/pipermail/pbs-devel/2020-December/001685.html</a></noindex>. В любом случае, я действительно заметил улучшение в своих тестах, результаты бенчмарков здесь: <noindex><a href="https://lists.proxmox.com/pipermail/pbs-devel/2020-December/001687.html" target="_blank" rel="nofollow" >https://lists.proxmox.com/pipermail/pbs-devel/2020-December/001687.html</a></noindex>. Но в большинстве случаев теперь меня устраивает Live Restore. <br />
			<i>21.09.2021 11:39:00, logics.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355344/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355344/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Tue, 21 Sep 2021 11:39:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355343/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			Жду с нетерпением улучшения скорости восстановления. Может быть, можно добавить опцию для кластера/хоста, которая позволит запускать до x процессов, как это сделано с vzdump?! Восстановление идёт очень медленно, при этом CPU, NVME и даже HDD большую часть времени простаивают. Я посмотрел список багов, но так и не понял, движется ли это в сторону решения в ближайшее время? Возможно, можно получить обновление по этому вопросу. Спасибо! <br />
			<i>20.09.2021 19:18:00, DerDanilo.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355343/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355343/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Mon, 20 Sep 2021 19:18:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
		<item>
			<title>Оптимизация производительности восстановления pbs (параллелизация)</title>
			<description><![CDATA[<b><a href="http://proxmox.su/forum/messages/forum64/message355342/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya">Оптимизация производительности восстановления pbs (параллелизация)</a></b> <i>Proxmox Backup Server</i> в форуме <a href="http://proxmox.su/forum/forum64/">Proxmox Backup Server</a>. <br />
			Ребята, спасибо за выпуск Proxmox Backup Server! PBS выглядит очень перспективно с точки зрения того, что нужно нашей компании:<br /><br />- Инкрементные бэкапы виртуальных машин, например, каждые 15 минут<br />- Гибкий цикл хранения, например, хранить последние 8, хранить 22 часа и т.д.<br />- Один клиент PVE, который отправляет данные, и несколько серверов бэкапа, которые тянут данные через sync-задания<br />- В случае сбоя оператор выбирает бэкап (обычно последний, не старше 15 минут) и запускает процесс восстановления ВМ.<br /><br />Сейчас мы оцениваем железо для сервера бэкапа. Производительность инкрементных бэкапов нормальная, даже на HDD — проблем нет.<br /><br />Но время восстановления слишком большое: на нашем текущем хосте у Hetzner мы видим время восстановления от 1 часа 17 минут до 1 часа 21 минуты со средней скоростью 156–165 МБ/с для больших ВМ около 750 ГБ. Я хочу сократить время восстановления до примерно 0 часов 15–45 минут, для этого нужны скорости восстановления от 300 до 800 МБ/с.<br /><br />Давайте сосредоточимся на скоростях восстановления ВМ в 750 ГБ. Вот характеристики нашего текущего хоста:<br /><br />- Хост: выделенный сервер у Hetzner<br />- CPU: Intel&#174; Xeon&#174; CPU E5-1650 v3 (6 ядер, 12 потоков)<br />- Оперативная память: 256 ГБ<br />- Источник (PBS chunks): HDD 2 ТБ, Цель: тот же HDD. Скорость: 35 МБ/с<br />- Источник (PBS chunks): HDD 2 ТБ, Цель: SSD TOSHIBA_KHK61RSE1T92. Скорость: 139 МБ/с<br />- Источник (PBS chunks): SSD TOSHIBA_THNSN81Q92CSE, Цель: SSD TOSHIBA_KHK61RSE1T92. Скорость: 156–165 МБ/с<br /><br />Потом я подумал, может NVMe смогут хотя бы 300 МБ/с, и провёл тесты на Amazon EC2 и Microsoft Azure.<br /><br />- Хост: AWS EC2 i3.metal, выделенный экземпляр<br />- CPU: 80 x AMD EPYC 7551 32-Core Processor (2 сокета)<br />- Память: 512 ГБ<br />- Источник (PBS chunks): массив mdadm RAID0 из 2x 2 ТБ NVMe, цель — другой массив mdadm RAID0 из 2x 2 ТБ NVMe. Скорость: 140 МБ/с<br />- Источник (PBS chunks): массив mdadm RAID0 из 8x 2 ТБ NVMe, цель — тот же массив. Скорость: 142 МБ/с<br /><br />- Хост: Azure L80s_v2<br />- CPU: 72 x Intel&#174; Xeon&#174; CPU E5-2686 v4 @ 2.30GHz (2 сокета)<br />- Память: 640 ГБ<br />- Источник (PBS chunks): 2 ТБ NVMe, цель — другой 2 ТБ NVMe. Скорость: 204 МБ/с<br />- Источник (PBS chunks): массив mdadm RAID0 из 2x 2 ТБ NVMe, цель — другой массив из 2x 2 ТБ NVMe. Скорость: 229 МБ/с<br />- Источник (PBS chunks): массив mdadm RAID0 из 5x 2 ТБ NVMe, цель — другой массив из 5x 2 ТБ NVMe. Скорость: 208 МБ/с<br /><br />Хосты могли скачать начальный бэкап ВМ со скоростью 1200–2200 МБ/с (10–18 Гбит/с), а данные fio говорят сами за себя (см. вложение).<br /><br />В итоге тесты с NVMe-дисками не показали ожидаемых скоростей восстановления. AWS EC2 даже не смогла обогнать по производительности нашего E5-1650 v3 с Toshiba SSD...<br /><br />Давайте посмотрим на htop во время восстановления: <img class="lazyload "  src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="/upload/forum/proxmox/21126-936de62b2eacb89b48e18df8af848c41.jpg" alt="Пользователь добавил изображение" border="0" /><br /><br />Причина низкой скорости восстановления очевидна: /usr/bin/pbs-restore использует только один поток, что приводит к загрузке почти на 100% одного виртуального ядра.<br /><br />Однопоточный процессор не справляется, чтобы заполнить очереди ввода-вывода моих NVMe.<br /><br />При использовании SSD и NVMe узким местом в восстановлении становится производительность одного CPU-потока.<br /><br />Поэтому я заглянул в репозиторий proxmox-backup-qemu, особенно в файл src/restore.rs.<br /><br />В конструкторе pub fn new(setup: BackupSetup) инициализируется proxmox-restore-worker с builder.max_threads(6) и builder.core_threads(4), но восстановительные воркеры не работают параллельно при восстановлении одной ВМ: в функции pub async fn restore_image я не вижу параллелизма в цикле for pos in 0..index.index_count().<br /><br />Возможно, я смотрю не в тот репозиторий или не в те строки кода, но...<br /><br />Можете представить себе распараллеливание pbs-restore для восстановления одного бэкапа PBS ВМ, чтобы использовать преимущества современных SSD и NVMe?<br /><br />Дополнительные ссылки:<br /><noindex><a href="https://docs.rs/rayon/1.5.0/rayon/" target="_blank" rel="nofollow" >https://docs.rs/rayon/1.5.0/rayon/</a></noindex><br /><noindex><a href="https://rust-lang-nursery.github.io/rust-cookbook/concurrency/parallel.html" target="_blank" rel="nofollow" >https://rust-lang-nursery.github.io/rust-cookbook/concurrency/parallel.html</a></noindex><br /><noindex><a href="http://smallcultfollowing.com/babysteps/blog/2015/12/18/rayon-data-parallelism-in-rust/" target="_blank" rel="nofollow" >http://smallcultfollowing.com/babysteps/blog/2015/12/18/rayon-data-parallelism-in-rust/</a></noindex> <br />
			<i>24.11.2020 15:24:00, logics.</i>]]></description>
			<link>http://proxmox.su/forum/messages/forum64/message355342/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</link>
			<guid>http://proxmox.su/forum/messages/forum64/message355342/81228-optimizatsiya-proizvoditelnosti-vosstanovleniya-pbs-_parallelizatsiya</guid>
			<pubDate>Tue, 24 Nov 2020 15:24:00 +0300</pubDate>
			<category>Proxmox Backup Server</category>
		</item>
	</channel>
</rss>
