Информация о железе в Linux и FreeBSD

Поскольку на Linux нет прямого аналога Aida64, позволяющей делать замечательные отчёты о железе, приходится выкручиваться другими способами, особенно в случае специфического железа. Конечно для инвентаризации можно использовать системы типа GLPI, но они могут поддерживать не всё железо, да и устанавливать развесистую балалайку ради нескольких машин может быть не целесообразно. Ниже несколько полезных команд из старых заметок, остальное можно нагуглить.

Linux

Подойдёт для дистрибутивов на базе Debian (Ubuntu…) и RHEL (CentOS…).
По ходу дела проверяем с помощью whereis наличие необходимых программ и устанавливаем их с помощью пакетного менеджера, а если сервер без доступа в интернет, то качаем пакет под нужную версию (релиз) ОС, заливаем на сервер через любимую программу (sftp/ftps/scp/fish…), проверяем что зависимости ничего не ломают и не тянут за собой обновление половины системы.

https://pkgs.org/download/hwinfo
wget http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/hwinfo-20.2-1.gf.el6.x86_64.rpm
wget http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/gf-release-6-10.gf.el6.noarch.rpm
rpm -Uvh gf-release*rpm
yum --enablerepo=gf install hwinfo

Так же понадобятся

yum install lshw pciutils dmidecode
apt-get install hwinfo lshw dmidecode pciutils

Основная информация

Кратко обо всём

hwinfo --short

Имя, версия ОС

uname -a
lsb_release -a
cat /etc/*release

Для рэковых серверов

dmidecode -t system

Материнская плата

dmidecode -t baseboard | grep -E "Manufacturer|Product Name|Version" | sed 's/^[ \t]*//'

Процессор

dmidecode -t processor | grep -E "Socket|Family|Version|Core Count|Core Enabled|Thread Count" | sed 's/^[ \t]*//'
cat /proc/cpuinfo | grep "model name"

Оперативная память

dmidecode --type 17 | grep -E "Size"
lshw -short -C memory
aptitude install i2c-tools
modprobe eeprom
execute decode-dimms

Видеокарта

hwinfo --gfxcard --short
lshw -C display

Сетевая карта

hwinfo --netcard --short
lshw -class network
lspci | egrep -i --color 'network|ethernet'

Запоминающие устройства

hwinfo --storage --short

Общая информация

df -h
fdisk -l | grep dev
mount | grep /dev

Информация о дисках

hwinfo --disk --short
hwinfo --block --short
lshw -C disk
lsblk -io KNAME,TYPE,SIZE,MODEL

По конкретному диску

smartctl -i /dev/sda

LVM

vgdisplay | grep -E "VG Name|VG Size"
lvdisplay | grep -E "LV Name|LV Size"

Software RAID

cat /proc/mdstat

Hardware RAID Controller

yum install pciutils
lspci -knn | grep 'RAID bus controller'

HP RAID (CentOS), cciss — HP Smart Array CCISS driver

smartctl -i -d cciss,0 /dev/cciss/c0d0 | grep -E "Vendor|Product|User Capacity" # "0" - номер канала, изменяется от 0 до N
smartctl -a -d cciss,0 /dev/cciss/c0d0

HP RAID (Debian), cciss — HP Smart Array CCISS driver

hpacucli controller slot=1 physicaldrive all show status
hpacucli ctrl slot=1 pd all show
# Информация по конкретному диску
hpacucli ctrl slot=1 pd 1I:1:1 show detail

IBM megacli

cat /proc/scsi/scsi
lshw -c disk
megacli -CfgDsply -aALL | grep -E "Slot|Size|RAID|Inquiry" | grep -vE " Size"
# Ошибки, статус smart
megacli -CfgDsply -aALL | grep -E "Slot|Inquiry|Error| flagged"
# Список Device ID и слотов
megacli -LdPdInfo -aALL | grep -E "ID|Slot"
# Информация по конкретному физическому диску, находящемся в [девайс:слот]
megacli -pdinfo -physdrv [252:0] -aALL

FreeBSD

Примерно та же история, но для некоторых линуксовых утилит нет аналогов под фрибсд, а запуск линуксовых утилит непосредственно под фрибсд не всегда работает, либо утилиты есть только под определённую архитектуру. Для старых, годами не обновлявшихся систем единственный более-менее безболезненный способ установки программ — через бинарные пакеты.
В совсем старых версиях это делалось утилитами pkg (pkg_install, pkg_version…), в более новых это просто pkg (смотри pkg info), для использования pkg может потребоваться доработка напильником, нужно гуглить «freebsd portmaster pkg2ng». Ниже примеры ссылок на скачивание пакетов из официального http/ftp репозитория.

http://ftp2.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.1-release/All/dmidecode-2.10.tbz
http://ftp2.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.1-release/All/sysinfo-1.0.1.tbz
http://ftp2.freebsd.org/pub/FreeBSD-Archive/ports/amd64/packages-8.3-release/All/sysinfo-1.0.1.tbz
http://ftp2.freebsd.org/pub/FreeBSD-Archive/ports/amd64/packages-9.1-release/All/sysinfo-1.0.1.tbz

Основная информация

Что я использовал несколько лет назад на FreeBSD 8.4 amd64

sysinfo-1.0.1.tbz
dmidecode-2.11.tbz
8-07-14_MegaCLI.zip
MegaCli64
cciss_vol_status-1.10_1.tbz
pkg_add <package>.tbz

На FreeBSD 9

http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/
sysinfo-1.0.1_2.txz
dmidecode-3.0.txz
pkg-1.8.7_1.txz
env SIGNATURE_TYPE=none pkg add pkg-1.8.7_1.txz
pkg add <package>.txz

На FreeBSD 10

http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/
dmidecode-3.0.txz
sysinfo-1.0.1_2.txz
pkg add <package>.txz

После установки можно позапускать и посмотреть всякое

/usr/local/sbin/sysinfo
  bios      BIOS information
  cpu       CPU details
  mem       Memory details
  misc      Miscellaneous information
  network   Network related details
  os        Operating system details
  packages  Information about installed packages
  services  Information about system services
  storage   Details about storage system
  system    System information (hardware related)
  user      User related information
/usr/local/sbin/dmidecode
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot
uname -a
/usr/local/sbin/sysinfo system
/usr/local/sbin/dmidecode -t baseboard | grep -E "Manufacturer|Product Name|Version" | sed 's/^[ \t]*//'
/usr/local/sbin/dmidecode -t processor | grep -E "Socket|Family|Version|Core Count|Core Enabled|Thread Count" | sed 's/^[ \t]*//'
/usr/local/sbin/sysinfo cpu | grep Model
/usr/local/sbin/dmidecode --type 17 | grep Size
/usr/local/sbin/dmidecode --type 17 | grep -v Unknown | grep Type | grep DDR | uniq
pciconf -l -v

Запоминающие устройства

atacontrol list
/usr/local/sbin/sysinfo storage
camcontrol devlist
geom disk list | grep -E "Name|name|Mediasize"
gpart show
smartctl -a /dev/da0
diskinfo /dev/da0
egrep da0: /var/run/dmesg.boot | head -n1

(ar) Состояние Software RAID массива ar0

atacontrol status ar0

(mfi) IBM LSI MegaRAID

egrep mfi0: /var/run/dmesg.boot | head -n1
/usr/sbin/mfiutil show adapter
/usr/sbin/mfiutil show config
# Список корзин
./MegaCli64 -EncInfo -a0
# Состояние RAID
./MegaCli64 -LDInfo -Lall -aALL | grep State
# Список дисков
./MegaCli64 -PDList -a0 | grep -E "Slot|Size|RAID|Inquiry" | grep -vE " Size"
# Состояние дисков
./MegaCli64 -PDList -a0 | grep -E "Slot|Inquiry|Error| flagged"

(da) Hewlett-Packard Company Smart Array P410i Controller

smartctl -a /dev/da0
camcontrol devlist
camcontrol inquiry da0
cciss_vol_status -V /dev/da0
hpacucli

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *