Как проверить выделенный сервер
В этом материале мы расскажем как убедиться в том, соответствует ли заявленная конфигурация выделенного сервера с ОС Linux фактической. Поскольку серверные варианты Linux-дистрибутивов не имеют по умолчанию графического интерфейса, будем использовать только команды консоли.
Общие сведения о системе
Вот вы заказали выделенный сервер и загрузились в операционную систему. Для начала посмотрим в какой операционной системе мы находимся и какое ядро используем. В этом нам поможет команда uname, поддерживающая следующие опции:
-a — вся доступная информация;
-i — идентификатор ядра;
-m — тип аппаратной платформы;
-n — имя системы;
-p — процессорная архитектура;
-r — данные о релизе ОС;
-s — наименование ОС;
-v — версия ОС.
Еще одним способом получить информацию об установленном дистрибутиве ОС можно получить с помощью команд:
# cat /etc/issue
или
# lsb_release -a
Обе команды отобразят название дистрибутива и его версию. Отличие лишь в том, что вторая команда еще и отобразит кодовое имя дистрибутива.
Информация о «железе»
Утилита lshw
Для того, чтобы нам получить расширенную информацию об аппаратном обеспечении сервера используем утилиту lshw. В большинстве дистрибутивов Linux она идет «в комплекте». Если же ее не оказалось, то устанавливаем с помощью стандартного пакетного менеджера (для примера в Debian/Ubuntu):
# apt install lshw
Выведем полный листинг всего установленного на сервере оборудования:
# lshw
Если же полная информация не требуется, то воспользуемся опцией -short для получения краткой сводки:
# lshw -short
В случае, когда нужна информация только по определенному компоненту используем ключ -C вместе с типом нужного устройства, например:
# lshw -C сpu // данные о процессоре
# lshw -C memory // данные об оперативной памяти
# lshw -C disk // данные о дисковой подсистеме
Утилита lspci
Узнать о том, какие шины PCI присутствуют в системе, а также какие устройства к ним подключены, воспользуемся утилитой lspci из пакета утилит pciutils. Если вдруг данного пакета в системе нет, то действуем аналогично установке lshw:
# apt install pciutils
В отличие от lshw, которая выводит максимально большое количество информации о каждом аппаратном компоненте системы, lspci по умолчанию дает только краткую сводку. Для получения подробной информации в виде «дерева» необходимо использовать ключ -t:
# lspci -t
Для просмотра ID и ревизии устройств задействуем ключи -n или -nn
# lspci -n // выведет «дерево» ID устройств
# lspci -nn // точно такое же дерево, но еще и с указанием наименований устройств
Еще одной часто возникающей задачей является уточнение каким именно драйвером ядра обслуживается то или иное устройство. Соответствующую информацию нам поможет получить ключ -k:
# lspci -k
Псевдофайловая система /proc
Архитектура ОС Linux такова, что программы из User space не могут обращаться напрямую к ядру системы, что обусловлено требованиями безопасности. Поэтому для получения информации от ядра используется псевдофайловая система /proc. Каждый элемент этой системы хранит информацию об определенном физическом устройстве или же о состоянии работы системы. Для получения информации можно воспользоваться стандартной командой cat, например:
# cat /proc/cpuinfo // данные о процессоре и его аппаратных особенностях
# cat /proc/meminfo // информация об используемой оперативной памяти
# cat /proc/interrupts // данные об используемых прерываниях
Информация о программной части
Оперативная память
Прежде всего следует убедиться в том, что заявленный объем оперативной памяти соответствует заявленному. Для этого используем команду free c ключом -m:
# free -m // покажет доступный объем занятой и свободной оперативной памяти
Чтобы утилита отображала объем в гигабайтах — добавьте ключ -g.
Дисковая подсистема
Чтобы точно получить данные о количестве установленных дисковых накопителей и их дисковой разметке используется команда fdisk с ключом -l:
# fdisk -l
Помимо информации о накопителях необходимо четко понимать размер свободного и занятого дискового пространства. Для этого воспользуемся командой df.
# df -a // информация обо всех файловых системах (ФС)
# df -h // данные о ФС в человекочитаемом формате
При использовании команды df -h может возникнуть сомнение в корректности выводимых данных, поскольку при сложении цифр из разделов Available и Used полученная сумма не будет равна цифре в разделе Size. Этот нюанс объясняется очень просто — не учитываются системные файлы и метаданные.
Также крайне полезной является команда smartctl из пакета smartmontools. Эта команда выдает подробную информацию о состоянии дискового накопителя.
В случае использования метода распределения дискового пространства LVM, пригодятся следующие команды:
# pvscan — общая информация о физических томах
# pvdisplay — подробная информация по каждому физическому тому
# lvscan — общая информация о логических томах
# lvdisplay — информация об атрибутах логических томов
Переходим к проверке состояния программных RAID-массивов. Вся информация о текущем состоянии активных массивов хранится в /proc/mdstat. Отобразить содержимое псевдофайла можно с помощью штатной команды cat:
# cat /proc/mdstat
Вывод команды покажет следующую информацию:
- имя RAID-массива;
- состояние RAID-массива;
- уровень RAID;
- имена физических разделов, входящих в массив;
- число настроенных и число работающих устройств в массиве;
- состояние каждого работающего устройства (U — устройство в порядке, _ — отказ устройства, sync — устройство в состоянии синхронизации)
Наличие аппаратного RAID-контроллера можно проверить уже упоминавшейся командой lspci:
# lspci -nn | grep RAID
Обращаем внимание на то, что с помощью штатных средств операционной системы состояние аппаратного RAID-массива получить невозможно. Каждый производитель аппаратных RAID-контроллеров используется собственные утилиты, например:
- MegaCLI для контроллеров LSI;
- Adaptec Storage Manager (asm) для контроллеров Microsemi Adaptec.
Сетевые интерфейсы
Вся актуальная информация о сетевых интерфейсах, присутствующих в системе, доступна в псевдофайле /proc/net/dev. Следующие команды помогут получить подробные данные о сетевых интерфейсах:
# cat /proc/net/dev — список всех сетевых интерфейсов (активных и неактивных)
# ip link show up — список активных интерфейсов
# ip address — список всех интерфейсов и назначенные IP-адреса
# ip r — текущая таблица маршрутизации
Заключение
В этой статье мы рассказали о самых популярных командах Linux для проверки конфигурации заказанного сервера. Эти же команды можно применять как к физическим, так и облачным серверам.
Знаете еще полезные команды? Будет рады видеть вас в комментариях!