DHCP for data center

I vote no. Allow me to enumerate my reasons.

1: Reliability.
Having each server machine rely on dhcp in order to have its networking stack come up correctly adds another potential fault. In a server environment, where you're trying as hard as possible to achieve maximum availability, adding another moving part is not a good idea

2: Security
DHCP essentially hands anyone plugging into the switch a valid lease. Yes, you can specify that only known MACs get leases, and everyone else is denied, but a better place for this is dynamic VLANs.

3: Documentation
Having a central DHCP pool which assigns addresses willy-nilly is insane for a server block. Assigning a server a specific IP via DHCP is less insane, in the sense that having 3 imaginary pink elephants chasing you is less insane than 5.

4: Management
Not only to you have to specify in the DHCP server what each machine is assigned to, you have to keep documentation of it. And you have to update ALL of the documentation any time anything changes. New network card? Update documentation and DHCP server and DNS, etc.

Simple is better.


Generally speaking, DHCP with reservations is the "best of breed" for IP management in the datacenter, depending (of course) on the particular needs of your data center.

Pros:

  • DHCP with reservations allows centralized management of your address space. A single place for administrators to reference and edit your address space without necessarily having to reference the namespace (DNS). This is particular great if your administrators naturally "split" in duties at the network layer.
  • DHCP can provide the ability to dynamically assign resources with correct ip in the address space. A reinstalled server comes up with the correct IP immediately without consultation.
  • Dynamic allocation is particularly great for rapid server deployment, where automation handles the majority of system installation.

Cons:

  • DHCP providers a point of failure that can prevent network access. (It's particularly nasty if one forgets to lower the time out for the dhcp client.)
  • Network design must consider DHCP broadcast traffic. This can complicate routing and provide another level of potential failure for network access.
  • Managing DNS and DHCP separately is considered burdensome by some.
  • A failed DHCP assignment can result in the 169 network being created, firewalls and routers should be suitably prepared.

Very rarely is it wise to run DHCP in a data center without reservations, though some blend is appropriate. In many settings, the "Cons" for DHCP with reservations end up being non-issues (if the router can take out DHCP, well, the servers aren't accessible anyway, etc). It's also commonly a decision regarding size. A datacenter with hundreds or thousands of servers with frequent deployments and reinstallation will certainly use some DHCP, even if it's only for testing/deployment. A datacenter with a few servers will likely be fine with everything statically assigned.