Блог "Дети ОИТа"
/поиск

Определение накопителей, файловых систем и точек монтирования

> [!INFO] Применимость > **ALT Linux 10.4–11.x** · локальная работа через CLI/TTY > Доступны учётные записи `administrator` и `root`. > > Цель: получить общую картину по накопителям, разделам, файло

[!INFO] Применимость
ALT Linux 10.4–11.x · локальная работа через CLI/TTY
Доступны учётные записи administrator и root.

Цель: получить общую картину по накопителям, разделам, файловым системам, точкам монтирования и заполненности системы.

Все действия в заметке являются неразрушающими.

Оглавление

  • [[#Быстрый осмотр|Быстрый осмотр]]
  • [[#Физические накопители|Физические накопители]]
  • [[#Разделы и файловые системы|Разделы и файловые системы]]
  • [[#Точки монтирования|Точки монтирования]]
  • [[#Заполненность файловых систем|Заполненность файловых систем]]
  • [[#Проверка inode|Проверка inode]]
  • [[#Постоянные подключения|Постоянные подключения]]
  • [[#LVM RAID шифрование и Multipath|LVM RAID шифрование и Multipath]]
  • [[#Сетевые файловые системы|Сетевые файловые системы]]
  • [[#Ошибки накопителей и файловых систем|Ошибки накопителей и файловых систем]]
  • [[#Расшифровка типов устройств|Расшифровка типов устройств]]
  • [[#Что зафиксировать по итогам|Что зафиксировать по итогам]]

Быстрый осмотр

Основной набор команд:

lsblk -e 7 -o NAME,PATH,TYPE,SIZE,FSTYPE,FSVER,LABEL,UUID,MOUNTPOINTS
findmnt -rn -o TARGET,SOURCE,FSTYPE,OPTIONS
df -hT
df -ih
grep -vE '^[[:space:]]*(#|$)' /etc/fstab
journalctl -k -b -p warning..alert --no-pager

Эти команды позволяют быстро определить:

  • какие накопители видит ядро;
  • какие разделы и логические устройства существуют;
  • какие файловые системы обнаружены;
  • что и куда смонтировано;
  • сколько места и inode осталось;
  • какие подключения должны подниматься автоматически;
  • есть ли ошибки ввода-вывода или файловых систем.

Физические накопители

Показать только верхний уровень устройств:

lsblk -d -o NAME,PATH,SIZE,ROTA,TRAN,MODEL,SERIAL

Основные поля:

Поле Значение
NAME Краткое имя устройства
PATH Полный путь в /dev
SIZE Размер устройства
ROTA 1 — вращающийся диск, 0 — SSD или виртуальное устройство
TRAN Интерфейс подключения: SATA, SAS, NVMe, USB и другие
MODEL Модель накопителя
SERIAL Серийный номер

Примечание

На виртуальных машинах, аппаратных RAID-контроллерах и некоторых SAN-подключениях поля TRAN, MODEL или SERIAL могут быть пустыми либо описывать виртуальное устройство.

Показать таблицы разделов:

sudo fdisk -l

Команда помогает определить:

  • тип таблицы разделов: GPT или DOS/MBR;
  • начало и конец разделов;
  • размер разделов;
  • типы разделов;
  • наличие свободного или неразмеченного пространства.

Не использовать интерактивный режим fdisk без отдельной задачи.

Разделы и файловые системы

Основная команда:

lsblk -e 7 -o NAME,PATH,TYPE,SIZE,FSTYPE,FSVER,LABEL,UUID,PARTUUID,MOUNTPOINTS

Более компактный вариант:

lsblk -f

Проверить сигнатуры файловых систем и служебных форматов:

sudo blkid

blkid может показать:

  • TYPE — тип файловой системы или контейнера;
  • UUID — уникальный идентификатор;
  • LABEL — текстовую метку;
  • PARTUUID — идентификатор раздела;
  • сигнатуры LVM, RAID и LUKS.

Найти устройство по UUID:

findfs UUID=<UUID>

Найти устройство по LABEL:

findfs LABEL=<LABEL>

Точки монтирования

Показать текущее дерево монтирования:

findmnt

Показать только значимые поля:

findmnt -rn -o TARGET,SOURCE,FSTYPE,OPTIONS

Проверить конкретный каталог:

findmnt --target <путь>

Пример:

findmnt --target /var

Проверить конкретное устройство:

findmnt --source <устройство>

Пример:

findmnt --source /dev/sda2

Основные параметры в поле OPTIONS:

Параметр Значение
rw Файловая система доступна на запись
ro Файловая система смонтирована только для чтения
noexec Запуск файлов запрещён
nosuid Биты SUID и SGID не учитываются
nodev Файлы устройств не обрабатываются
relatime Время доступа обновляется в ограниченном режиме
_netdev Подключение зависит от готовности сети

Предупреждение

Не выполнять mount, umount или remount во время первичной разведки без конкретной необходимости.

Заполненность файловых систем

Показать объём, занятое и свободное место:

df -hT

Основные поля:

Поле Значение
Filesystem Источник файловой системы
Type Тип файловой системы
Size Общий объём
Used Использовано
Avail Доступно
Use% Процент заполнения
Mounted on Точка монтирования

Показать только локальные устройства:

df -hT | grep '^/dev/'

Примечание

df показывает использование смонтированных файловых систем. Несмонтированные разделы в вывод не попадают.

Поиск крупных каталогов

Использовать только при необходимости. Команда может выполняться долго.

Проверить верхний уровень одной файловой системы:

sudo du -xhd1 <точка_монтирования>

Пример:

sudo du -xhd1 /var

Отсортировать результат:

sudo du -xhd1 /var | sort -h

Ключ -x запрещает переход на другие файловые системы.

Проверка inode

Файловая система может перестать создавать файлы даже при наличии свободного объёма, если закончились inode.

Проверить inode:

df -ih

Основные поля:

Поле Значение
Inodes Общее число inode
IUsed Использовано
IFree Свободно
IUse% Процент использования

Особое внимание требуется при значениях:

IUse% = 100%

Постоянные подключения

Показать активные строки /etc/fstab:

grep -vE '^[[:space:]]*(#|$)' /etc/fstab

Представить /etc/fstab в читаемом виде:

findmnt --fstab -o SOURCE,TARGET,FSTYPE,OPTIONS

Проверить синтаксис и разрешение источников:

sudo findmnt --verify --verbose

Команда выполняет проверку конфигурации и не монтирует файловые системы.

Показать mount-юниты systemd:

systemctl list-units --type=mount --all

Показать automount-юниты:

systemctl list-units --type=automount --all

Локальные unit-файлы могут находиться в:

/etc/systemd/system/*.mount
/etc/systemd/system/*.automount

LVM, RAID, шифрование и Multipath

Сначала определить уровни через lsblk:

lsblk -e 7 -o NAME,PATH,TYPE,SIZE,FSTYPE,MOUNTPOINTS

LVM

Проверить наличие команд:

command -v pvs
command -v vgs
command -v lvs

Если доступны:

sudo pvs
sudo vgs
sudo lvs -a -o +devices

Команды показывают:

  • PV (Physical Volume) — физические тома;
  • VG (Volume Group) — группы томов;
  • LV (Logical Volume) — логические тома;
  • устройства, на которых размещены логические тома.

Linux Software RAID

Проверить состояние ядра:

cat /proc/mdstat

Если доступна команда mdadm:

sudo mdadm --detail --scan

Для конкретного массива:

sudo mdadm --detail /dev/md0

Команда --detail не изменяет массив.

Device Mapper и шифрование

Показать устройства /dev/mapper:

ls -la /dev/mapper/

Показать дерево Device Mapper:

sudo dmsetup ls --tree

Признаки шифрования:

FSTYPE=crypto_LUKS
TYPE=crypt

Проверить конкретное открытое LUKS-устройство:

sudo cryptsetup status <имя_из_dev_mapper>

Multipath

Проверить наличие инструмента:

command -v multipath

Если доступен:

sudo multipath -ll

В lsblk устройство Multipath обычно отображается как mpath или через /dev/mapper/mpath*.

Предупреждение

Не запускать команды создания, активации, пересборки или удаления LVM, RAID, LUKS и Multipath в рамках первичной разведки.

Сетевые файловые системы

Показать активные NFS и SMB/CIFS-подключения:

findmnt -rn -t nfs,nfs4,cifs -o TARGET,SOURCE,FSTYPE,OPTIONS

Показать все сетевые источники из /etc/fstab:

grep -Ei 'nfs|cifs|smb|_netdev' /etc/fstab

Типовые значения SOURCE:

server:/export/path
//server/share

DFS (Distributed File System) на Linux-клиенте обычно отображается как подключение типа cifs; сама DFS-логика может быть скрыта за SMB-путём.

Примечание

LUN и Multipath не являются сетевыми файловыми каталогами. Они предоставляют системе блочные устройства, поверх которых могут находиться разделы, LVM и файловые системы.

Ошибки накопителей и файловых систем

Показать предупреждения ядра текущей загрузки:

journalctl -k -b -p warning..alert --no-pager

Отфильтровать типовые ошибки хранения:

journalctl -k -b --no-pager | grep -Ei \
'I/O error|Buffer I/O|blk_update_request|critical medium|reset|timeout|EXT4-fs error|XFS.*error|BTRFS.*error|md.*degraded|multipath'

Проверить, не была ли файловая система переведена в read-only:

findmnt -rn -o TARGET,SOURCE,FSTYPE,OPTIONS | grep -E '(^|,)ro(,|$)'

Для конкретного устройства:

journalctl -k -b --no-pager | grep -i '<имя_устройства>'

Пример:

journalctl -k -b --no-pager | grep -i 'sda'

SMART

smartctl не всегда установлен по умолчанию. Проверить:

command -v smartctl

Если команда доступна:

sudo smartctl -a /dev/<диск>

Проверять SMART нужно для физического накопителя, например /dev/sda или /dev/nvme0, а не для раздела /dev/sda1.

Расшифровка типов устройств

Тип отображается в поле TYPE команды lsblk.

Тип Значение
disk Диск или блочное устройство верхнего уровня
part Раздел диска
lvm Логический том LVM
crypt Открытое шифрованное устройство
raid* Linux Software RAID
mpath Multipath-устройство
rom Оптический привод
loop Loop-устройство, часто образ файла
dm Устройство Device Mapper

Не считать каждую строку lsblk отдельным физическим диском. Один физический накопитель может содержать несколько уровней:

disk
└─ part
   └─ crypt
      └─ lvm
         └─ filesystem

Что зафиксировать по итогам

Минимальная карта системы:

Физические накопители:
Таблицы разделов:
Разделы:
LVM:
RAID:
LUKS:
Multipath:
Файловые системы:
Точки монтирования:
Заполнение:
Использование inode:
Сетевые подключения:
Ошибки ядра:
Записи /etc/fstab:

Запрещённые действия на этапе разведки

Не выполнять без отдельной подтверждённой задачи:

mkfs.*
fsck с исправлением
xfs_repair
btrfs check --repair
wipefs
dd
mount с изменением конфигурации
umount
parted/fdisk в режиме записи
pvcreate/vgcreate/lvcreate
mdadm --create
cryptsetup luksFormat
multipath -F

Сначала фиксируется фактическая схема хранения. Исправление выполняется отдельным сценарием после определения устройства, уровня и типа файловой системы.


Метка: LVM