I'm going to start by admitting I don't really know much about networking beyond "Ethernet plug goes here, switch connects to other switch(es) here, switch connects to internet". Most of my experience with switches has been with their default configuration and we just leave each other alone.
In our datacenter, we have a network of servers served by a single 24 port PLANET SGSW-24040, which is apparently a 1000 Mbps Level 2 managed switch. When we bought it, it replaced an older Cisco/Linksys 10/100 switch that wasn't up to the task of switching VoIP data. Replacing the old switch solved our voice quality problems.
That was all well and good, and we didn't appear to have any further problems with it, until I found a nifty feature that lets me use Munin to measure bandwidth through SNMP. It also measures network errors, which I considered to be a good thing. After setting Munin up to collect these statistics, I started getting paged frequently about individual interface errors.
Reading up on the problem, I found that I could resolve the network errors by explicitly configuring the speed of the port that was generating the error. And that's where I started running into real problems. Whenever I rebooted a server, it wouldn't renegotiate the ethernet connection, and the server would be offline until I set its port on the switch to "autodetect".
So now I'm stuck between a rock and a hard place: I can either turn off the reporting of network errors and set all the ports on the switch to autodetect, or I can eliminate the errors in the first place at the cost of being forced to remember to reconfigure the switch anytime a server is rebooted for a kernel upgrade. Is this a problem with this particular switch? Is there some way to manually configure the ethernet on the servers (they're all Debian Linux)? Should I have to do any of this at all in the first place?