Спецпроекты

Как проверить выделенный сервер

Безопасность Бизнес Телеком Интернет Интеграция Маркет

В этом материале мы расскажем как убедиться в том, соответствует ли заявленная конфигурация выделенного сервера с ОС Linux фактической. Поскольку серверные варианты Linux-дистрибутивов не имеют по умолчанию графического интерфейса, будем использовать только команды консоли.

Общие сведения о системе

Вот вы заказали выделенный сервер и загрузились в операционную систему. Для начала посмотрим в какой операционной системе мы находимся и какое ядро используем. В этом нам поможет команда uname, поддерживающая следующие опции:

-a — вся доступная информация;

-i — идентификатор ядра;

-m — тип аппаратной платформы;

-n — имя системы;

-p — процессорная архитектура;

-r — данные о релизе ОС;

-s — наименование ОС;

-v — версия ОС.

Еще одним способом получить информацию об установленном дистрибутиве ОС можно получить с помощью команд:

# cat /etc/issue

или

# lsb_release -a

Обе команды отобразят название дистрибутива и его версию. Отличие лишь в том, что вторая команда еще и отобразит кодовое имя дистрибутива.

Команды Linux можно применять для проверки конфигурации как физических, так и облачных серверов

Информация о «железе»

Утилита 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-контроллеров используется собственные утилиты, например:

Сетевые интерфейсы

Вся актуальная информация о сетевых интерфейсах, присутствующих в системе, доступна в псевдофайле /proc/net/dev. Следующие команды помогут получить подробные данные о сетевых интерфейсах:

# cat /proc/net/dev — список всех сетевых интерфейсов (активных и неактивных)

# ip link show up — список активных интерфейсов

# ip address — список всех интерфейсов и назначенные IP-адреса

# ip r — текущая таблица маршрутизации

Заключение

В этой статье мы рассказали о самых популярных командах Linux для проверки конфигурации заказанного сервера. Эти же команды можно применять как к физическим, так и облачным серверам.

Знаете еще полезные команды? Будет рады видеть вас в комментариях!


Событие месяца

Вручены награды CNews AWARDS 2019: люди, технологии, проекты

Тема месяца

Обзор: ИТ-тренды 2020

Индексы «ИТ-тренды CNews 2020» и «ИТ-тренды CNews 2020 Реальный сектор».