I'll toss out for consideration what most will consider a bit more unorthodox solution.
Consider solving this with Layer 3 instead of Layer 2.
Put both switches into place, and DON'T interconnect them. Connect the router(s) to both switches. Connect your HP servers to both switches. Use two different IP blocks internally for the servers to talk to the router(s)...one block on each switch (and therefore interface on the router(s) and servers). Put the IP addresses that you actually use to communicate with the servers on a loopback interface. Put quagga on the servers and run OSPF (at your scale, just throw everything in area 0, no biggie)...make sure the loopback addresses/interfaces are included in the OSPF config. Put OSPF on the router(s).
Voila', the router(s) learn about the addresses that you're actually using to talk to the servers via OSPF as host routes...if a switch dies, the relevant adjancies go away and traffic gets rerouted over to the other switch.
As a bonus, if you use different IP address for the various services that you run on your Linux servers, you can move the services and their associated IP addresses around seamlessly and the network adapts cleanly and easily.
No danger in this setup of having bad behavior from a split-brain situation if the link between the two switches fail...no danger of bad behavior from a FHRP like VRRP, HSRP and the like...no danger of the switches falling back to inefficiently flooding traffic if you run into an asymmetric situation.
I use this solution in a much larger sort of environment and its works EXTREMELY well, is amazingly robust and resilient to both equipment failure and human configuration mistakes.