Verifying hardware on a remote server
Q We've rented a number of dedicated Linux servers from a hosting company. I've confirmed that the disk and memory allocated are as requested, but have been denied physical access to the data centre. How can we verify what make and model of components have been used within our servers? This is a requirement set by our external consultants as part of our disaster recovery programs.
A As the kernel boots up, polling the system's hardware and loading the appropriate modules, there's usually a wealth of information output to the console. You can retrieve this information by dumping the kernel's ring buffer using dmesg. The kernel can be further queried by manually inspecting /proc, the interface to kernel data structures. Of particular interest are:
/proc/cpuinfo CPU information.
/proc/ide/ IDE bus and disc information.
/proc/scsi/ All SCSI devices.
/proc/ioports Registered IO port regions.
/proc/pci PCI buses, installed devices and drivers.
The utility Lspci displays information about PCI buses and what is connected to them. This is often sufficient to identify the likes of VGA, network and SCSI adapters. For more about BIOS and motherboards, visit the Dmidecode project at www.nongnu.org/dmidecode. Assuming your BIOS follows the SMBIOS/DMI standard you may be able to list the system manufacturer, model name and BIOS version. Finally, Red Hat Enterprise Linux includes the Kudzu library for hardware discovery and configuration. It is possible to call Kudzu to probe and report on the installed hardware. Invoking as kudzu -s -p initiates a 'non-disruptive' poll without modifying any existing configurations.
Follow us on Identi.ca or Twitter