Поскольку на 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