0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<h2>Особенности применения ВМ для кластера</h2>
1
<h2>Особенности применения ВМ для кластера</h2>
2
<p>Теги: виртуальные машины, системное администрирование, отказоустойчивый кластер</p>
2
<p>Теги: виртуальные машины, системное администрирование, отказоустойчивый кластер</p>
3
<p>В случае применения виртуальных машин в целях построения<strong>отказоустойчивых кластеров</strong>на базе<strong>Pacemaker&Corosync</strong>важно понимать ряд особенностей. О них и поговорим.</p>
3
<p>В случае применения виртуальных машин в целях построения<strong>отказоустойчивых кластеров</strong>на базе<strong>Pacemaker&Corosync</strong>важно понимать ряд особенностей. О них и поговорим.</p>
4
<p>Итак, о каких особенностях идет речь:</p>
4
<p>Итак, о каких особенностях идет речь:</p>
5
<ul><li><strong>fsync</strong>. Отказоустойчивость ряда систем управления базами данных (той же PostgreSQL) существенно завязана на возможность выполнить синхронизацию записи в постоянное хранилище (диск) и, соответственно, на корректную работу этого механизма. Различные гипервизоры по-разному реализуют кэширование дисковых операций, причем важно понимать, что некоторые из них не обеспечивают своевременный сброс данных из кэша в систему хранения;</li>
5
<ul><li><strong>fsync</strong>. Отказоустойчивость ряда систем управления базами данных (той же PostgreSQL) существенно завязана на возможность выполнить синхронизацию записи в постоянное хранилище (диск) и, соответственно, на корректную работу этого механизма. Различные гипервизоры по-разному реализуют кэширование дисковых операций, причем важно понимать, что некоторые из них не обеспечивают своевременный сброс данных из кэша в систему хранения;</li>
6
<li><strong>realtime corosync</strong>. Процесс corosync в кластере, работающем на основе Pacemaker, отвечает за обнаружение сбоев в узлах кластера. Чтобы, к примеру, этот процесс работал правильно, важно, чтобы операционная система гарантированно планировала его выполнение на процессоре (операционная система выделяет процессорное время). Также, в связи с вышеописанным, данный процесс имеет RT-приоритет (realtime). Если ОС виртуализирована, то в ней отсутствует возможность гарантировать такое планирование процессов, а это уже, в свою очередь, становится причиной ложного срабатывания кластерного программного обеспечения;</li>
6
<li><strong>realtime corosync</strong>. Процесс corosync в кластере, работающем на основе Pacemaker, отвечает за обнаружение сбоев в узлах кластера. Чтобы, к примеру, этот процесс работал правильно, важно, чтобы операционная система гарантированно планировала его выполнение на процессоре (операционная система выделяет процессорное время). Также, в связи с вышеописанным, данный процесс имеет RT-приоритет (realtime). Если ОС виртуализирована, то в ней отсутствует возможность гарантировать такое планирование процессов, а это уже, в свою очередь, становится причиной ложного срабатывания кластерного программного обеспечения;</li>
7
<li><strong>fencing</strong>. Когда среда виртуализирована, то механизм фенсинга усложняется, так как он становится многоуровневым: на 1-ом уровне надо реализовать выключение ВМ через гипервизор, на 2-ом - выключение всего гипервизора (2-ой уровень срабатывает, если на 1-ом уровне фенсинга он корректно не отработал). Однако следует признать, что у некоторых гипервизоров возможность фенсинга отсутствует. Собственно говоря, в том числе и поэтому ВМ при построении отказоустойчивых кластеров рекомендуется не применять.</li>
7
<li><strong>fencing</strong>. Когда среда виртуализирована, то механизм фенсинга усложняется, так как он становится многоуровневым: на 1-ом уровне надо реализовать выключение ВМ через гипервизор, на 2-ом - выключение всего гипервизора (2-ой уровень срабатывает, если на 1-ом уровне фенсинга он корректно не отработал). Однако следует признать, что у некоторых гипервизоров возможность фенсинга отсутствует. Собственно говоря, в том числе и поэтому ВМ при построении отказоустойчивых кластеров рекомендуется не применять.</li>
8
</ul><p><em>По материалам блога https://habr.com/ru/company/postgrespro/blog/.</em></p>
8
</ul><p><em>По материалам блога https://habr.com/ru/company/postgrespro/blog/.</em></p>
9
9