I agree with @network_ninja but will extend it a bit.
How I'd solve this
Router1--L3--Router2
| |
| |
Switch1--L2--Switch2
| | |
| | |
PC1 PC2--------+
Router1 and Router2 are running VRRP, HSRP, GLBP or CARP to produce virtual default-GW IP address to the LAN.
This protocol will converse over the Switch core to agree which of the routers is owning the default-GW IP address at any given time.
PC2 is redundant linux server, which is using 'bonding' to redundantly connect to the Switches, it should be configured so that if the the virtual default-gw IP address stops responding to ARP WHO HAS, it'll switch to backup connection. IP address itself is not on the physical interfaces, but on the virtual bonding interface.
Equivalent solution is available to other OS, but often not included in base OS package.
PC1 is non-redundant server.
Switches are not running anything special, no spanning tree (as there is no L2 loop) and no LACP. They can be from different vendors and can be taken down for maintenance separately.
Routers are not running any switching, IP addresses are configured directly in the L3 interfaces facing the switches.
If you choose VRRP as your first-hop-redundancy-protocols, routers can be from different vendor. Each router can be taken down for maintenance separately, by gracefully switching VRRP priority before work on the primary.
Just because some devices will link doesn't mean the switch isn't still bad. Some NICs will be more tolerant of marginal signaling and/or timing.
Personal example... I have a Nortel ERS with a damaged clock circuit (power outage killed it.) I've verified with a scope that the clock for the second half of the switch is noisy and marginally out of spec. As a result, some network cards will link, and actually function. However, most, including the other half of the switch and every other switch I have, won't. 10M works fine, because the PHYs generate their own clock. 100M only works with "loose" NICs. 1000M won't even link with itself -- that signal is pure noise.
Cheap switches are cheap for a reason. I'm not going to say how many sub-50$ "hubs" I've thrown away.
Best Answer
Switches don't get involved in layer-3 (e.g. IP). A switch is a transparent layer-2 device, so hosts connected to a switch will have no problem getting to a DHCP server on the same LAN.