2010/10/4 Alexandre Snarskii <snar@snar.spb.ru>
On Mon, Oct 04, 2010 at 11:30:03AM +0300, Michael Bochkaryov wrote:
> Макисм, спасибо - bonding.txt я читал, как и LARTC.
> А вот с современными свичами я знаком куда хуже
>
> Как реализовать failover only - вроде бы достаточно понятно.
> А вот что нужно, чтобы в нормальной ситуации были и HA,
> и load balancing - пока не уверен, что знаю.

Одновременно и HA и load-balancing на разных свитчах не бывает (разве
что свитчи шибко умные, понимающие всякий кластеринг и так далее, но
это не твой случай).

А не подскажешь на будущее, куда посмотреть стоит?
Слишком уж чайником себя с этой задачкой почувствовал :)
 
Так что сделай failover only и не мучайся :)

Убедил :)
 
 
> 2010/10/4 Max Speransky <speransky@gmail.com>
>
>     Хм, bonding.txt из линуксведра вполне раскрывает эту тему
>
>     2) HA on two or more switches (or a single switch without trunking support)
>     ---------------------------------------------------------------------------
>     This mode is more problematic because it relies on the fact that there
>     are multiple ports and the host's MAC address should be visible on one
>     port only to avoid confusing the switches.
>
>     If you need to know which interface is the active one, and which ones are
>     backup, use ifconfig. All backup interfaces have the NOARP flag set.
>
>     To use this mode, pass "mode=1" to the module at load time :
>
>        # modprobe bonding miimon=100 mode=1
>
>     Or, put in your /etc/modules.conf :
>
>        alias bond0 bonding
>        options bond0 miimon=100 mode=1
>
>     Example 1: Using multiple host and multiple switches to build a "no single
>     point of failure" solution.
>
>
>                    |                                     |
>                    |port3                           port3|
>              +-----+----+                          +-----+----+
>              |          |port7       ISL      port7|          |
>              | switch A +--------------------------+ switch B |
>              |          +--------------------------+          |
>              |          |port8                port8|          |
>              +----++----+                          +-----++---+
>              port2||port1                           port1||port2
>                   ||             +-------+               ||
>                   |+-------------+ host1 +---------------+|
>                   |         eth0 +-------+ eth1           |
>                   |                                       |
>                   |              +-------+                |
>                   +--------------+ host2 +----------------+
>                             eth0 +-------+ eth1
>
>     In this configuration, there are an ISL - Inter Switch Link (could be a
>     trunk),
>     several servers (host1, host2 ...) attached to both switches each, and one
>     or
>     more ports to the outside world (port3...). One an only one slave on each
>     host
>     is active at a time, while all links are still monitored (the system can
>     detect a failure of active and backup links).
>
>     Each time a host changes its active interface, it sticks to the new one
>     until
>     it goes down. In this example, the hosts are not too much affected by the
>     expiration time of the switches' forwarding tables.
>
>     If host1 and host2 have the same functionality and are used in load
>     balancing
>     by another external mechanism, it is good to have host1's active interface
>     connected to one switch and host2's to the other. Such system will survive
>     a failure of a single host, cable, or switch. The worst thing that may
>     happen
>     in the case of a switch failure is that half of the hosts will be
>     temporarily
>     unreachable until the other switch expires its tables.
>
>     Example 2: Using multiple ethernet cards connected to a switch to configure
>               NIC failover (switch is not required to support trunking).
>
>
>              +----------+                          +----------+
>              |          |eth0                 port1|          |
>              | Host A   +--------------------------+  switch  |
>              |          +--------------------------+          |
>              |          |eth1                 port2|          |
>              +----------+                          +----------+
>
>      On host A :                                 On the switch :
>         # modprobe bonding miimon=100 mode=1     # (optional) minimize the time
>         # ifconfig bond0 addr                    # for table expiration
>         # ifenslave bond0 eth0 eth1
>
>     Each time the host changes its active interface, it sticks to the new one
>     until
>     it goes down. In this example, the host is strongly affected by the
>     expiration
>     time of the switch forwarding table.
>
>
>     3 октября 2010 г. 23:52 пользователь Michael Bochkaryov
>     <misha@rattler.kiev.ua> написал:
>     > Мое почтение всем!
>     >
>     > Не подскажет ли кто направление копания в такой задаче?
>     >
>     > Имеется:
>     > 1) 2 сервера на linux c 2 x ethernet
>     > 2) 2 управляемых свича с поддержкой link aggregation 802.3ad
>     >
>     > Нужно организовать "шибко надежный" ethernet для парочки серверов.
>     > Чтобы как при вылете порта, так и при вылете одного из свичей сетка
>     > продолжала работать, пускай и с меньшей скоростью.
>     >
>     > Можно ли link aggregation организовать на портах в разных свичах?
>     > Или нужно на уровне IP это разруливать (чего не хочется)?
>     >
>     > Заранее спасибо :)
>     >
>     > --
>     > Regards,
>     > Michael Bochkaryov
>     > Net.Style - VoIP and VAS development
>     > www.netstyle.com.ua
>     >
>     >
>
>
>
>     --
>     Yours, Max
>
>
>
>
> --
> Regards,
> Michael Bochkaryov
> Net.Style - VoIP and VAS development
> www.netstyle.com.ua
>

--
In theory, there is no difference between theory and practice.
But, in practice, there is.




--
Regards,
Michael Bochkaryov
Net.Style - VoIP and VAS development
www.netstyle.com.ua