How does one prevent another server in a subnet to "steal" the IP address of our own server while it restarts?

Solution 1:

Static ARP entries in the ARP cache of the switches would help

Ask Serverloft how are configured their switches, and if something like this is scheduled.

edit:

Static arp entries in the switches would not prevent someone to "steal" the IP address if it's wanted (as MAC address can be changed), but it would prevent from beeing accidental.

The other solution I see to prevent IP stealing would be to implement 802.1x on the switches, like with wifi.

802.1x on the switch is port-based authentication. Wikipedia has a good article describing how a host talks to the switch using EAP, and the switch talks to a Radius server.

In the radius server can be set attributes for an host, and would set the client IP address in the mac address table of the switch once authenticated (eg. like a radius does w/ a LNS server).

Solution 2:

Am I missing something here? Or is everybody missing the fact that it seems you are assigning dynamic addresses (with DHCP) to servers?

In general, servers should be assigned static addresses so that situations like this don't occur.
It also helps to ensure that a server doesn't get a new address on restart, seemingly making the server disappear.

Solution 3:

It's not possible to prevent IP conflicts at the server. I suspect you are at a provider that allows root or admin access to the servers (that or an incompetant managed provider). Once is a mistake, twice is unacceptable. At an ISP that does base configuration for you and manages the servers for you this doesn't happen. I would suggest changing providers. My personal suggestion is orcsweb. The most likly reason this is happening is because linux does not repond or generate gratuitous ARP requests, to help prevent IP conflicts.