HTML Diff
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&amp;Corosync</strong>важно понимать ряд особенностей. О них и поговорим.</p>
3 <p>В случае применения виртуальных машин в целях построения<strong>отказоустойчивых кластеров</strong>на базе<strong>Pacemaker&amp;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