When you get your decommissioned server from Ebay or other sources, one of the first tasks you’ll need to do is check and tackle your firmware versions. Keeping up with firmware doesn’t seem to be that important to some people that maintain servers apparently. But before we start, this is a great site to search for server equipment on Ebay to sort by your criteria. There are some great deals to be had. I don’t even know if what I paid covered shipping.
A wonderful thing with Dell servers is the iDRACx module, Integrated Dell Remote Access Controller. This gives you a web server and Java virtual console that runs independently of the server and is always on with it’s own dedicated Ethernet port. With this module you won’t need to connect a monitor, keyboard or mouse to manage your server. And you can remotely power up the machine, reboot…. One note, the Java version my iDRAC6 works with is not up to being exposed to the internet directly, so you’ll want to use a VPN to access the local network if you’re not on the local network.
Once logged in you’ll see the main screen with information on your server and virtual console to the top right.
Once you power up the machine and launch the Java virtual console you can interact with the server just as if you have a monitor, keyboard and mouse plugged in. You can go into the BIOS and change settings, interact with the iDRAC configuration, the RAID controller, LifeCycle Controller (System Services)….
Once done with BIOS configuration it goes to the boot screen.
And once fully booted you’re presented with your installed OS login.
Regarding the Firmware, I used a CentOS 7 install USB thumb drive to install the OS to another USB thumb drive using the server itself. And then I downloaded the Linux .BIN files for the firmware versions I needed to install placing them on the USB thumb drive I just created. You can then make the firmware files executable (chmod +x) and run them from the booted thumb drive. The firmware files to look for are for the BIOS, iDRACx, Diagnostic Application, Drivers for OS Deployment, Network interface, RAID controller firmware as equipped, and Lifecycle Controller. If you don’t have an iDRACx module, there is also a BMC power management firmware (iDRACx takes over that functionality and is more recently updated). Dell’s main firmware site might not have the latest firmware listed, so this site can be helpful.
The main Dell support site:
https://www.dell.com/support/home/en-us
Couple notes, my iDRAC6 version would not update directly to the newest version, and I had to install earlier versions first to get it fully upgraded. And I didn’t bother installing the BMC version which was pretty ancient and superseded by the iDRAC6 module anyway. If you didn’t have the iDRAC6 module, you’d need to get an older OS version to run that firmware update. I believe it was referenced to POSIX changes with more modern operating systems.
A good video on what is involved with tips and tricks I borrowed, and he has a series for a Dell Poweredge R710 as well:
And this is the best tip of all, as servers are not like your home PC with quiet fans. The fans in a server are meant to move a lot of air and noise is not a concern of the power management firmware. Unless you have a dedicated room for the equipment, you’ll want to quiet the machine down a lot. Enter in this great Github project by perryclements with a Python Script to take over the fan management in the main server OS, which you setup as a service to load on boot. This lowers the fan RPMs quite a lot and the CPUs didn’t get much warmer. The author of the script borrowed the source from a guy that wrote it for the Dell Poweredge R710, so you could also adapt this to other hardware of this same generation (newer iDRAC7 modules have other options). Note that I had to install lm-sensors and ipmitool via apt which I don’t think was mentioned in the readme.md and I gleaned from the Python code.
https://github.com/perryclements/r410-fancontroller
So with a bit of effort you can update that cheap old server you picked up and have a good platform in your home lab that you can play with, experiment with, learn server virtualization, or just run some services and docker containers. And you don’t have to break the bank. A couple interesting services would be a Pi-Hole and Unbound DNS server, Syncthing, and/or Nextcloud server. Or run your own pfSense firewall if your machine has a slot open for another dedicated NIC.