Home » Подробности о устройствах с blkid и lsblk
Подробности о устройствах с blkid и lsblk

Подробности о устройствах с blkid и lsblk

Если ты когда-нибудь настраивал сервер, собирал RAID или просто пытался понять, почему твой диск вдруг стал «невидимым» для системы — ты точно сталкивался с загадочными командами lsblk и blkid. Сегодня разберёмся, зачем они нужны, как они работают, чем отличаются, где могут спасти от головняка и почему про них стоит помнить при автоматизации и написании скриптов для серверов, VPS, Docker-хостов и прочих радостей жизни современного админа.

О чём этот пост и почему это важно

В этой статье — подробный разбор двух утилит, которые должны быть в арсенале каждого, кто занимается администрированием Linux-серверов: lsblk и blkid. Поговорим о том, как они помогают находить и идентифицировать устройства хранения, почему это важно для настройки и мониторинга, и как избежать типичных ошибок. Всё максимально практично, с примерами, кейсами, лайфхаками и даже сравнением с альтернативными инструментами. Если ты ищешь быстрые решения для своих серверов — ты по адресу.

Зачем вообще разбираться в устройствах хранения?

Казалось бы, зачем морочиться, если можно просто посмотреть df -h и увидеть свои диски? Но вот несколько ситуаций, где этого мало:

  • Сервер не грузится после обновления — подозрение на смену устройств или UUID.
  • Нужно быстро найти новый SSD, который только что воткнули в стоящий сервер (или VPS с горячим подключением дисков).
  • Планируешь собрать RAID или LVM — важно не перепутать устройства, иначе потеряешь данные.
  • Автоматизация: скрипты для бэкапов, монтирования, работы с Docker-томами и snapshot-ами.
  • Проверка, что диск размечен и отформатирован правильно, с нужным типом файловой системы.

В этих и десятках других случаев важно не просто знать, что у тебя есть какие-то /dev/sda или /dev/vdb, а точно понимать, что это за устройства, как они между собой связаны, и где какая файловая система.

Как это работает? Алгоритмы и структура

Что такое lsblk?

lsblk (List Block Devices) — это утилита, которая показывает дерево блочных устройств (диски, разделы, LVM, loop-устройства и т.д.) в системе. Она не лезет в файловые системы, а работает с sysfs и /proc, поэтому работает быстро и безопасно.

  • Показывает: имя устройства, тип (disk/part/lvm/rom/loop), размер, монтированную точку, UUID, LABEL, родительские и дочерние связи.
  • Не требует root-прав (но некоторые опции работают только с root).
  • Работает практически во всех современных дистрибутивах Linux.

Что такое blkid?

blkid (Block IDentification) — утилита для поиска и вывода информации о UUID, метках (LABEL), типах файловых систем и других атрибутах блочных устройств. Она читает метаданные прямо с устройств, поэтому может показать больше информации, чем lsblk, но иногда требует root-доступ.

  • Показывает: UUID, LABEL, тип файловой системы (TYPE), PARTUUID, PARTLABEL, и т.д.
  • Может искать устройства по UUID или LABEL.
  • Очень полезна для редактирования /etc/fstab и автоматизации монтирования.

Как быстро и просто всё настроить? Примеры и советы

Базовые команды

Вот минимальный набор команд, которые должен знать каждый:

lsblk
lsblk -f
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,UUID,LABEL
blkid
blkid /dev/sda1
blkid -o list
  • lsblk -f — показывает дерево устройств с файловыми системами, UUID и метками.
  • lsblk -o ... — можно явно указать нужные столбцы, например, добавить модель устройства или родительское устройство.
  • blkid без параметров — выведет все найденные устройства с их UUID, LABEL и типами ФС.
  • blkid /dev/sda1 — покажет инфу только по одному разделу.

Практические кейсы: что делать и как не сломать

Задача Лучший инструмент Команда Комментарий
Найти новый диск lsblk lsblk -o NAME,SIZE,MODEL Покажет все устройства, их размер и модель (если есть)
Узнать UUID для fstab blkid blkid /dev/sdb1 UUID нужен для надёжного монтирования
Проверить, что диск смонтирован lsblk lsblk -f Видно, где и что смонтировано
Найти все разделы ext4 lsblk или blkid lsblk -o NAME,TYPE,FSTYPE | grep ext4 Можно фильтровать по типу ФС
Автоматизация монтирования blkid blkid -t UUID=xxxx-xxxx Ищет устройство по UUID

Схема: как связаны lsblk и blkid

linux block device stack

Источник: Wikipedia

  • lsblk работает на уровне ядра и sysfs — видит все устройства, включая пустые, неразмеченные и без файловой системы.
  • blkid работает с метаданными на устройствах — видит только те, где есть поддерживаемая файловая система или разметка.

Ошибки новичков и распространённые мифы

  • Миф: lsblk и blkid — это одно и то же.
    Факт: lsblk показывает структуру устройств, blkid — их метаданные. Часто нужны обе утилиты вместе.
  • Ошибка: Использовать /dev/sda1 в fstab вместо UUID.
    Почему плохо: При смене порядка загрузки или подключения устройств имена могут поменяться, а UUID — нет.
  • Ошибка: Не обновлять кэш blkid после изменения разметки.
    Решение: После mkfs или parted — выполнить blkid -c /dev/null для обновления.
  • Миф: lsblk показывает только физические диски.
    Факт: lsblk показывает и loop, и LVM, и mdraid, и всё, что kernel считает блочным устройством.
  • Ошибка: Ориентироваться только на df — он не покажет не смонтированные устройства и не даст инфы о UUID.

Похожие решения и альтернативные утилиты

  • fdisk -l — покажет таблицу разделов, но не метки и UUID.
  • ls /dev/disk/by-* — можно посмотреть симлинки по UUID, LABEL, PARTUUID, но сложно автоматизировать.
  • udevadm info — даёт подробную инфу, но слишком многословен для повседневной работы.
  • hwinfo –block — мощно, но обычно не установлено по умолчанию.
  • parted -l — хорош для GPT/MBR, но не видит метаданных ФС.

Вывод: lsblk и blkid — золотая середина между подробностью и удобством.

Статистика и сравнение

Утилита Покрытие устройств Показывает UUID/LABEL Показывает структуру Удобство автоматизации
lsblk Все блочные Да (опции) Да (дерево) Высокое
blkid С ФС/разметкой Да Нет Высокое
fdisk -l Физ. диски Нет Таблица Среднее
ls /dev/disk/by-* Все Да (симлинки) Нет Среднее

Интересные факты и лайфхаки

  • lsblk может показывать родительские/дочерние связи — полезно для LVM, RAID и Docker-томов.
  • blkid поддерживает фильтрацию: blkid -t TYPE=ext4 покажет только разделы с ext4.
  • lsblk можно использовать в скриптах для автоматического поиска новых или свободных устройств.
  • Обе утилиты идеально подходят для работы с systemd-fstab-generator и fstab.
  • lsblk поддерживает вывод в JSON: lsblk -J — удобно для парсинга в автоматизации.
  • blkid может обновлять свой кэш: blkid -c /dev/null.
  • lsblk показывает loop-устройства, которые часто используются в Docker, snap и других контейнерах.

Нестандартные способы использования

  • Поиск «висящих» loop-устройств после падения контейнеров: lsblk | grep loop
  • Автоматическая генерация fstab на лету при деплое новых серверов: связка lsblk -f + blkid + шаблон fstab.
  • Мониторинг и аудит: регулярный вывод lsblk -o NAME,UUID,LABEL,MOUNTPOINT в лог — быстро заметишь «пропавший» диск.
  • В Docker-контейнерах: lsblk часто показывает только loop, но если пробросить устройства — можно видеть настоящие диски.

Автоматизация и новые возможности

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

  • В Ansible, Salt, Chef — можно парсить вывод lsblk -J и blkid -o export для динамической настройки.
  • В bash-скриптах — легко получить UUID или LABEL для монтирования, резервного копирования или проверки статуса.
  • В облачных окружениях (например, при заказе VPS на https://arenda-server.cloud/vps или выделенного сервера на https://arenda-server.cloud/dedicated) — можно автоматом находить новые диски и подключать их без ручной рутины.
  • Для CI/CD пайплайнов — удобно валидировать, что нужные тома подключены и размечены правильно перед деплоем.

Где взять lsblk и blkid?

Выводы и рекомендации

  • Используй lsblk для быстрой диагностики структуры устройств, поиска новых дисков, проверки монтирования и работы с LVM/RAID.
  • Используй blkid для надёжной идентификации разделов, поиска UUID/LABEL и автоматизации монтирования.
  • Не пиши в fstab /dev/sdX — всегда используй UUID или LABEL, которые можно найти через blkid.
  • Для автоматизации и скриптов — lsblk и blkid дают всё, что нужно для надёжной работы с блочными устройствами.
  • Если работаешь с VPS, Docker, выделенными серверами — эти утилиты помогут быстро настраивать и масштабировать инфраструктуру без сюрпризов.
  • Не забывай про обновление кэша blkid после изменений разметки!

В общем, lsblk и blkid — это твой швейцарский нож для работы с дисками на Linux. Освоив их, ты сэкономишь себе кучу времени и нервов, а твои серверы будут работать стабильнее и предсказуемее. Удачной настройки!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked