Назад | Перейти на главную страницу

Как обрабатывать IP-адреса с ручным аварийным переключением?

У меня есть два идентичных хоста хранения, где главный - единственный, к которому пользователи могут получить доступ. Если мастер не работает, я хочу вручную изменить адрес DHCP, поэтому вместо master указывает на 10.10.10.10 он должен указывать на 10.10.10.11.

Существуют сценарии репликации, которые полагаются на IP-адреса, поэтому, если мастер изменяет IP-адрес, мне нужно изменить IP-адрес в сценариях, чтобы данные по-прежнему реплицировались с мастера на подчиненное устройство.

Вопрос

Переключение IP-адресов и редактирование скриптов - довольно подверженная ошибкам задача. Существует ли обычная практика выполнения такого рода ручного переключения при отказе? Например. добавив какой-то слой абстракции?

Обычная практика - иметь отдельный IP-адрес и имя для службы, отличное от фактического IP-адреса и имени сервера.

В этом случае у вас есть

master 10.10.10.10
slave  10.10.10.11

Третье имя могло быть

storage 10.10.10.12

Ваши клиенты должны использовать «хранилище» вместо «главного» при подключении к службе.

Так долго как master в сети, то 10.10.10.12 должен быть виртуальный интерфейс на master. Если master не работает, установите 10.10.10.12 в качестве виртуального интерфейса на slave.

По возможности избегайте использования IP-адресов в сценариях. Если поиск DNS не является вариантом в конкретном случае, используйте файл конфигурации или файлы / etc / hosts для сопоставления имен хостов с IP-адресами.

Если вам нужно более автоматическое решение для аварийного переключения, посмотрите на что-то вроде keepalived с использованием протокола VRRP.

Более подробную информацию можно найти Вот

Виртуальный IP 10.10.10.10 (Это виртуальный IP-адрес, настроенный на обоих хостах)

Мастер IP 10.10.10.11

Подчиненный IP 10.10.10.12

Таким образом, вам не придется запускать второй интерфейс на ведомом устройстве, и у вас будет очень мало (возможно, секунда или около того) простоя.