Я читаю о высокой доступности, и я не могу понять следующее, что я прочитал: при аварийном переключении основной IP-адрес переносится на резервный сервер, НО так же должен и MAC-адрес.
В частности, я читал, что у каждой машины есть уникальный MAC-адрес, который может использоваться всеми интерфейсами машины. Я не понимаю этой части. Разве MAC не принадлежит сетевой карте? Что в этом предложении подразумевается под интерфейсами?
Также при аварийном переключении клиенты должны обновить свое сопоставление IP / MAC и найти 3 способа для этого, один из которых - использовать настраиваемый MAC и переместить его с основного на резервный вместе с общедоступным IP. Как это возможно? Сделайте программное обеспечение высокой доступности, например Кардиостимулятор сделать это? Как?
Книга правильная, но в ней есть пропущенные части.
Процедура, которой следует программное обеспечение кластеризации для создания службы на основе виртуального MAC-адреса, довольно проста. Когда служба запускается, она предлагает пакет Gratuitous Arp, в котором говорится, что конкретный IP-адрес можно найти на виртуальном MAC-адресе. Когда происходит аварийное переключение, «неработающий» узел удаляет свою локальную привязку IP / MAC, и новый узел начинает прослушивать этот виртуальный MAC-адрес и комбинацию IP. Без суеты.
Другой метод, используемый программным обеспечением для кластеризации, - это вообще не беспокоиться о виртуальных MAC-адресах и полностью полагаться на Gratuitous ARP. Последовательность запуска / переключения при отказе для такой системы будет выглядеть так:
По моему опыту, второй метод, чистый G-ARP, в наши дни используется в большинстве кластеров Linux. Однако оба метода действительны и уже использовались. Преимущество метода G-ARP заключается в том, что вам не нужно возиться с назначением виртуальных MAC-адресов. Преимущество чистого метода виртуального MAC заключается в том, что он не полагается на работу G-ARP в данной подсети.
Возможно, вы смешиваете две формы высокой доступности или балансировки нагрузки.
Связывание склеивание назначает (может) один и тот же IP-адрес нескольким интерфейсам на тот же хозяин.
Для кластер балансировка нагрузки с помощью HA, всем машинам назначается один и тот же IP-адрес с разными MAC. Одна машина будет получать весь трафик, но она может пересылать его другим машинам, которые могут отвечать напрямую, потому что у них одинаковый IP. Если главный компьютер выходит из строя, выбирается новый и выполняется бесплатный ARP, чтобы уведомить устройства о том, что IP-адрес у нового компьютера.
Похоже, вы находите довольно плохой материал для чтения. Не хотите разместить ссылку?
В целом: модель уровня OSI решает большинство этих проблем, и вам почти никогда не придется работать над несколькими уровнями одновременно.
MAC-адрес может появляться только один раз в сегменте Ethernet. На физических машинах они глобально уникальны и никогда не появляются дважды (даже на нескольких сетевых адаптерах на одной машине). В виртуальных машинах вы устанавливаете MAC программно и должны использовать некоторые частные диапазоны MAC, аналогичные диапазонам частных IP.
Для высокой доступности IP-адресов достаточно настроить IP-адрес на другом хосте. Операционные системы и сетевая инфраструктура на уровне 2 будут автоматически обновлять свои сопоставления MAC / IP.
Тем не менее, некоторое оборудование не работает и требует «бесплатных» запросов ARP, чтобы заставить их обновлять свои кеши.
В Linux я использую «ucarp» с дополнительными сценариями для автоматической настройки машин с этим «кластерным» IP.
В некоторых сценариях высокой доступности при событии высокой доступности резервным узлом возвращается только IP-адрес. В этом случае резервный узел должен транслировать незапрашиваемый пакет ARP для обновления таблиц ARP устройства в том же сегменте Ethernet. При получении незапрошенного пакета ARP устройство обычно не обновляет напрямую свою таблицу ARP (это позволит легко взломать сеть), но аннулирует запись ARP на соответствующем IP-адресе. В следующий раз, когда устройству потребуется поговорить со службой HA, оно выполнит запрос ARP, чтобы получить MAC, соответствующий IP-адресу.
В некоторых других сценариях высокой доступности (например, в некоторых маршрутизаторах и межсетевых экранах) и MAC, и IP-адрес возвращаются резервным узлом. Это позволяет клиентам в одном и том же сегменте Ethernet сохранять свою таблицу ARP нетронутой, но это не означает, что резервный узел может сохранять свою широковещательную передачу ARP (или какой-либо другой сетевой трафик). В этом случае широковещательная передача ARP (или другой сетевой трафик) необходима для обновления таблицы MAC-адресов коммутатора, чтобы трафик не заканчивался на неработающем порту устройства.
Вы можете прочитать это для получения более подробной информации о внутренней работе переключателей [Как программное обеспечение сетевого сниффинга работает через коммутатор?.