Check out my first novel, midnight's simulacra!
Linux on Dells: Difference between revisions
m (1 revision) |
|
(No difference)
|
Revision as of 07:32, 28 January 2009
Dell has made impressive and extensive strides, in my opinion, regarding support for Linux on their various server and laptop products (I don't know much about Dell workstations). The Dell Linux Engineering Web is a good starting point for information.
Userspace Tools
OpenManage
Dell's OpenManage software can be used to access all manner of functionality. I get my Debian packages from ftp://ftp.sara.nl/pub/outgoing/dell/. FIXME
libsmbios
The System Management BIOS (SMBIOS) (specified by the Distributed Management Task Force) grew out of the DMIBIOS (so named due to interactions with the Desktop Management Interface (DMI) (also a DMTF initiative). The primary userland tools to interact with SMBIOS are those provided in conjunction with libsmbios, a Dell-led open source product with its development mailing list found here. Debian users ought install the libsmbios-bin package; developers will want the documentation. These tools use the dcdbas and dell_rbu kernel modules, available as part of the mainline kernel.
ipmitool
IPMItool can be used (together with appropriate kernel modules, see below) to operate the wealth of sensor and management functionality built into most Dell servers. Examples from a Dell R900:
[wopr](0) $ sudo ipmitool chassis status System Power : on Power Overload : false Power Interlock : inactive Main Power Fault : false Power Control Fault : false Power Restore Policy : always-off Last Power Event : Chassis Intrusion : inactive Front-Panel Lockout : inactive Drive Fault : false Cooling/Fan Fault : false Sleep Button Disable : not allowed Diag Button Disable : allowed Reset Button Disable : not allowed Power Button Disable : allowed Sleep Button Disabled: false Diag Button Disabled : true Reset Button Disabled: false Power Button Disabled: true [wopr](0) $
Interesting diagnostic subcommands include chassis status, sdr, lan print, sel, sensor, and fru.
Kernel Modules
- dcdbas - Dell System Management Base. Necessary to use a majority of the libsmbios tools, as well as Dell's OpenManage software. Its kernel documentation can be found here.
- dell_rbu (requires firmware_class) - Dell Remote BIOS Update (RBU). Necessary to use the dellBiosUpdate tool for BIOS upgrades directly from kernelspace (and thus protected mode).
- ipmi_si, ipmi_devintf (require ipmi_msghandler) - IPMI modules necessary for ipmitool.
BIOS Upgrades
Upgrading Dell BIOSes is easily accomplished on Linux. FIXME Once you have the SystemID, acquire the appropriate BIOS code from the Dell BIOS repository. The dellBiosUpdate tool is used with this file; use -f to specify the new BIOS file, -u to specify a BIOS upgrade, and (in my experience) the --force_mono option to make things actually work; there's almost certainly something at work here unknown to me. Here's an example:
[wopr](0) $ sudo getSystemId Libsmbios: 0.13.13 System ID: 0x01F0 Service Tag: 4HNKYF1 Express Service Code: 9774663229 Product Name: PowerEdge R900 BIOS Version: 1.1.3 Vendor: Dell Inc. Is Dell: 1 [wopr](0) $ sudo dellBiosUpdate --force_mono -u -f 0x01f0_version_1.1.6/bios.hdr Supported RBU type for this system: (MONOLITHIC, PACKET) Using RBU v2 driver. Initializing Driver. Setting RBU type in v2 driver to: MONOLITHIC (FORCED) Prep driver for data load. Writing RBU data (4096bytes/dot): ..................................................... Notify driver data is finished. Activate CMOS bit to notify BIOS that update is ready on next boot. Update staged sucessfully. BIOS update will occur on next reboot. [wopr](0) $ sudo shutdown -r 0 [wopr](0) $ sudo getSystemId Libsmbios: 0.13.13 System ID: 0x01F0 Service Tag: 4HNKYF1 Express Service Code: 9774663229 Product Name: PowerEdge R900 BIOS Version: 1.1.6 Vendor: Dell Inc. Is Dell: 1 [wopr](0) $
Without the --force_mono option, all updates I've performed have seemed to work, but failed to 'take'; you are advised to use getSystemId to verify the new BIOS version upon restart.
Monitoring Disks
- Use omreport to discover and interrogate storage; smartctl and smartd, the typical Linux SMART tools, don't generally work with the PERC controllers.
- omreport storage controller generates controller/backplane output:
[wopr](0) $ omreport storage controller Controller PERC 6/i Integrated (Embedded) Controllers ID : 0 Status : Ok Name : PERC 6/i Integrated Slot ID : Embedded State : Ready Firmware Version : 6.0.2-0002 Minimum Required Firmware Version : Not Applicable Driver Version : 00.00.03.20-rc1 Minimum Required Driver Version : Not Applicable Number of Connectors : 2 Rebuild Rate : 30% BGI Rate : 30% Check Consistency Rate : 30% Reconstruct Rate : 30% Alarm State : Not Applicable Cluster Mode : Not Applicable SCSI Initiator ID : Not Applicable Cache Memory Size : 256 MB Patrol Read Mode : Auto Patrol Read State : Stopped Patrol Read Rate : 30% Patrol Read Iterations : 26 [wopr](0) $
- omreport storage pdisk generates physical disk info:
[wopr](255) $ omreport storage pdisk controller=0 List of Physical Disks on Controller PERC 6/i Integrated (Embedded) Controller PERC 6/i Integrated (Embedded) ID : 0:0:0 Status : Ok Name : Physical Disk 0:0:0 State : Online Failure Predicted : No Progress : Not Applicable Type : SAS Capacity : 278.88 GB (299439751168 bytes) Used RAID Disk Space : 278.88 GB (299439751168 bytes) Available RAID Disk Space : 0.00 GB (0 bytes) Hot Spare : No Vendor ID : DELL Product ID : HUS153030VLS300 Revision : A280 Serial No. : J8WBX7NC Negotiated Speed : Not Available Capable Speed : Not Available Manufacture Day : 05 Manufacture Week : 11 Manufacture Year : 2008 SAS Address : 5000CCA0054E067D .... [wopr](0) $
- Finally, omreport storage vdisk reports on logical volumes:
[wopr](0) $ omreport storage vdisk List of Virtual Disks in the System Controller PERC 6/i Integrated (Embedded) ID : 0 Status : Ok Name : Virtual Disk 0 State : Ready Progress : Not Applicable Layout : RAID-5 Size : 1,115.50 GB (1197759004672 bytes) Device Name : /dev/sda Type : SAS Read Policy : No Read Ahead Write Policy : Write Back Cache Policy : Not Applicable Stripe Element Size : 64 KB Disk Cache Policy : Disabled [wopr](0) $
- Other interesting commands include omreport storage enclosure
Hardware Compability / Issues
Dell PowerEdge R900
- Dell's R900 page
- 4U server, 2 or 4 quad-core Xeons, 4-64G 667MHz RAM
- Most recent tested BIOS: 0x01F0-1.1.6
- Broadcom NICs (eg: NetXtreme II BCM5708, PCIID 14e4:164c) require non-free firmware (firmware-bnx2 package in Debian)
- PERC 6/i LSI Logic MegaRAID SAS 1078 SAS controller doesn't seem usable with eg mptctl or smartctl
- Use kernel modules ioatdma
Dell PowerEdge 1950
- Dell's 1950 III page
- 1U server, 1 dual-or-quad-core Xeon, 1-8G 667MHz RAM
- Most recent tested BIOS: 0x01B3-2.3.1
- Broadcom NICs (eg: NetXtreme II BCM5708, PCIID 14e4:164c) require non-free firmware (firmware-bnx2 package in Debian)
- Use kernel modules ioatdma, i5000_edac
Dell ATG D630
- Dell's ATG D630 page
- Dell's D630 page
- Ruggedized laptop, 1 dual-core Core 2 Duo, .5-6G 533-667MHz RAM
- Most recent tested BIOS: 0x0159-A12
- Use kernel modules ahci (be sure to enable AHCI mode in the BIOS SATA configuration)