- Home »
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
Источник: 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?
- Пакет util-linux — есть практически во всех дистрибутивах Linux.
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/ - Документация:
lsblk(8),
blkid(8)
Выводы и рекомендации
- Используй
lsblk
для быстрой диагностики структуры устройств, поиска новых дисков, проверки монтирования и работы с LVM/RAID. - Используй
blkid
для надёжной идентификации разделов, поиска UUID/LABEL и автоматизации монтирования. - Не пиши в fstab /dev/sdX — всегда используй UUID или LABEL, которые можно найти через blkid.
- Для автоматизации и скриптов — lsblk и blkid дают всё, что нужно для надёжной работы с блочными устройствами.
- Если работаешь с VPS, Docker, выделенными серверами — эти утилиты помогут быстро настраивать и масштабировать инфраструктуру без сюрпризов.
- Не забывай про обновление кэша blkid после изменений разметки!
В общем, lsblk
и blkid
— это твой швейцарский нож для работы с дисками на Linux. Освоив их, ты сэкономишь себе кучу времени и нервов, а твои серверы будут работать стабильнее и предсказуемее. Удачной настройки!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.