Привет всем! Я тут играюсь с Proxmox и хочу поэкспериментировать с сервисами высокой доступности. Это в моей домашней лаборатории, и я понимаю, что это полное избыточное решение для того, что я запускаю / делаю, но мне просто интересно ковыряться и узнавать новое (одна из целей домашней лаборатории!).
Немного о моей конфигурации: у меня есть Proxmox-сервер дома с различными самохостинговыми сервисами (Bitwarden, Imich, Home Assistant и т.д.). Я хочу поэкспериментировать с обеспечением высокой доступности. У меня также есть ещё один удалённый сервер, который в основном служит решением для резервного копирования, но я также поставил на него Proxmox, чтобы иметь возможность запускать некоторые ВМ удалённо, если потребуется. У меня есть ВМ PBS на обоих серверах, которая синхронизируется друг с другом. В настоящее время у меня есть возможность, что если мой основной сервер будет не в строю и Bitwarden станет недоступен, например, я смогу получить доступ к удалённому серверу и восстановить контейнер Bitwarden. Но затем мне либо потребуется вторичный DNS-запись, чтобы попасть на него, либо обновить основную DNS-запись. И мне также нужно убедиться, что любые изменения, внесённые при использовании вторичного сервера, будут правильно синхронизированы с основным. Это делает автоматизацию такого рода вещей немного сложнее (хотя и не невозможно).
Первая мысль: "О, в Proxmox есть кластеризация и высокая доступность встроенные." Интересно, будет ли это работать лучше. И затем я обнаружил, что кластеризация не работает, если задержка больше 5 мс (по сути, никогда за пределами одного дата-центра). Должен сказать, я был удивлён этим ограничением. Я понимаю, что это техническое ограничение, но мне просто очень удивительно, что никто до сих пор не нашёл способа его обойти. Это действительно заставляет меня задуматься о том, как компании предлагают гарантии по времени безотказной работы 99,999% и выше без нескольких дата-центров в разных местах с автоматическим переключением и всем прочим.
Учитывая это, мой главный вопрос: как это делается? 😅 Это определённо выходит за рамки моего опыта и знаний, и я хочу научиться делать это, даже если это полное избыточное решение для моего использования. Я не хочу просто запустить резервную копию и продумать способ синхронизации данных и всего прочего. Я хочу настоящую систему отказоустойчивости между несколькими площадками, где можно достичь времени простоя менее 864 миллисекунды в день. Какие технологии / программное обеспечение и т.д. стоит изучить для решения подобной задачи?
Лучшее, что я могу придумать на данный момент сам, — это своего рода балансировщик нагрузки, который может автоматически перенаправлять трафик, если основной дата-центр не работает, но тогда вы всё равно оставите проблему синхронизации данных обратно к основному, прежде чем снова перенаправлять трафик туда после сбоя. И этот балансировщик нагрузки также должен иметь резервную копию... что опять же, не уверен, как это возможно.
Размышляя о веб-доступных вещах, таких как Bitwarden, я не знаю, что нужно сделать, чтобы либо достаточно быстро обновить DNS, либо иметь несколько направлений для одной DNS-записи... Во всех ли системах высокой доступности в конечном итоге есть какая-то единственная точка отказа, которая просто очень стабильна? 😅 Не могу себе представить, что это так...
Спасибо за любой отзыв!
Немного о моей конфигурации: у меня есть Proxmox-сервер дома с различными самохостинговыми сервисами (Bitwarden, Imich, Home Assistant и т.д.). Я хочу поэкспериментировать с обеспечением высокой доступности. У меня также есть ещё один удалённый сервер, который в основном служит решением для резервного копирования, но я также поставил на него Proxmox, чтобы иметь возможность запускать некоторые ВМ удалённо, если потребуется. У меня есть ВМ PBS на обоих серверах, которая синхронизируется друг с другом. В настоящее время у меня есть возможность, что если мой основной сервер будет не в строю и Bitwarden станет недоступен, например, я смогу получить доступ к удалённому серверу и восстановить контейнер Bitwarden. Но затем мне либо потребуется вторичный DNS-запись, чтобы попасть на него, либо обновить основную DNS-запись. И мне также нужно убедиться, что любые изменения, внесённые при использовании вторичного сервера, будут правильно синхронизированы с основным. Это делает автоматизацию такого рода вещей немного сложнее (хотя и не невозможно).
Первая мысль: "О, в Proxmox есть кластеризация и высокая доступность встроенные." Интересно, будет ли это работать лучше. И затем я обнаружил, что кластеризация не работает, если задержка больше 5 мс (по сути, никогда за пределами одного дата-центра). Должен сказать, я был удивлён этим ограничением. Я понимаю, что это техническое ограничение, но мне просто очень удивительно, что никто до сих пор не нашёл способа его обойти. Это действительно заставляет меня задуматься о том, как компании предлагают гарантии по времени безотказной работы 99,999% и выше без нескольких дата-центров в разных местах с автоматическим переключением и всем прочим.
Учитывая это, мой главный вопрос: как это делается? 😅 Это определённо выходит за рамки моего опыта и знаний, и я хочу научиться делать это, даже если это полное избыточное решение для моего использования. Я не хочу просто запустить резервную копию и продумать способ синхронизации данных и всего прочего. Я хочу настоящую систему отказоустойчивости между несколькими площадками, где можно достичь времени простоя менее 864 миллисекунды в день. Какие технологии / программное обеспечение и т.д. стоит изучить для решения подобной задачи?
Лучшее, что я могу придумать на данный момент сам, — это своего рода балансировщик нагрузки, который может автоматически перенаправлять трафик, если основной дата-центр не работает, но тогда вы всё равно оставите проблему синхронизации данных обратно к основному, прежде чем снова перенаправлять трафик туда после сбоя. И этот балансировщик нагрузки также должен иметь резервную копию... что опять же, не уверен, как это возможно.
Размышляя о веб-доступных вещах, таких как Bitwarden, я не знаю, что нужно сделать, чтобы либо достаточно быстро обновить DNS, либо иметь несколько направлений для одной DNS-записи... Во всех ли системах высокой доступности в конечном итоге есть какая-то единственная точка отказа, которая просто очень стабильна? 😅 Не могу себе представить, что это так...
Спасибо за любой отзыв!
