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

Лучший способ получить «прозрачное» резервирование для Ethernet?

Приношу свои извинения, если это очевидный вопрос, я новичок в том, что касается избыточных сетей, и я не уверен, какие ключевые слова использовать в Google. Мой сценарий приложения таков:

  • Система состоит из небольшого количества серверов на базе Linux (от 1 до 20).
  • На каждом сервере есть два физических разъема Ethernet.
  • Система работает в изолированной локальной сети - она ​​никак не подключена к Интернету.
  • Прикладное программное обеспечение (индивидуальное / собственное), которое работает на каждом сервере, обменивается данными со своими узлами на других серверах через постоянные TCP-соединения и / или многоадресную рассылку UDP.
  • Все коммуникации происходят через IPv6
  • Очевидно, что для обеспечения избыточности сети необходимо иметь два высокоскоростных коммутатора Ethernet и подключить каждый сервер Linux к обоим коммутаторам. Таким образом, если один из коммутаторов выйдет из строя или кто-то случайно перережет кабель Ethernet, связь может продолжиться через другой кабель / коммутатор, и система останется полностью функциональной.

    У меня вопрос: есть ли способ сделать резервирование на 100% прозрачным для прикладного программного обеспечения? (Под прозрачностью я подразумеваю, что прикладное программное обеспечение не должно знать или заботиться о том, что существует более одного порта Ethernet; в идеале оно будет видеть только eth0, а не eth1 ... и если данные перестанут передаваться через один из два физических порта Ethernet по какой-либо причине, прикладное программное обеспечение не должно обнаруживать неисправность или делать что-то особенное, чтобы продолжать работать).

    Дополнительная полоса пропускания не важна для моих целей (одна «полоса» гигабитного Ethernet достаточно быстра), но важны простота и надежность.

    Вам нужен сок Google - «соединение Ethernet». Это произведение искусства.

    Если вам нужна простота и надежность, просто приобретите два коммутатора, которые поддерживают агрегацию каналов с несколькими шасси (у поставщиков есть свои названия для этого, иногда это просто «стек») и поддерживают достаточное количество агрегатов каналов для каждого коммутатора, чтобы удовлетворить ваши потребности. Настройка LACP на портах коммутатора и серверов, поэтому все ваши приложения видят один интерфейс "bond0" на каждом сервере.

    Linux также поддерживает так называемую «адаптивную балансировку нагрузки», которая по-прежнему выглядит как один интерфейс «bond0» для уровня приложения, но не использует LACP и не требует коммутаторов с поддержкой агрегации каналов с несколькими шасси (но коммутаторы должны быть перекрестными). связан с хорошей пропускной способностью). В этом режиме используются уловки ARP для направления входящего трафика на каждый физический интерфейс вместо использования стандартов связывания канального уровня. Для этого требуются только тупые переключатели без каких-либо специальных функций, и он хорошо работает для нас в производстве с IPv4, не уверен в IPv6.