Lecture preview

Диски, разделы и хранилище: от lsblk до LVM и RAID

От первого взгляда на диски до гибкого управления томами: разбираемся, куда делось место на диске, как безопасно менять размер разделов, зачем нужен LVM, чем RAID отличается от бэкапа и как ограничить пользователя квотой.

lsblk/df/du fdisk/parted SWAP LVM (PV/VG/LV) RAID квоты
What you will learn in this lecture
  • Определить, что и где занимает место на диске
  • Создать и смонтировать новый раздел
  • Собрать LVM-том и увеличить его без остановки сервиса
  • Объяснить, какие уровни RAID защищают от отказа диска, а какие — нет
  • Выставить пользователю квоту на дисковое пространство

Beginning of the lecture

«Диск заполнен на 98%» — а куда именно делось место, непонятно

  • Тревога о диске приходит внезапно, без объяснения причины
  • Одних df недостаточно — нужно понять, ЧТО именно занимает место
  • Сегодня — от первого взгляда на диск до гибкого управления томами

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

du: сколько места реально занимает конкретный каталог

  • du -sh путь — только итоговый размер каталога, без деталей внутри
  • du -ah путь — размер каждого файла и подкаталога отдельно
  • Отсортируйте вывод, чтобы сразу увидеть самое тяжёлое

du отвечает на вопрос «сколько весит этот конкретный каталог», а не диск целиком. Флаг -s сворачивает результат в одну итоговую цифру, что удобно, когда интересен только общий вес. А -a, наоборот, расписывает вес каждого файла и подкаталога по отдельности — полезно, когда ищете конкретного виновника раздутого места.

# Итоговый размер каталога одной строкой
du -sh /var/log

# Размер каждого подкаталога отдельно, отсортированный
du -ah /var/log | sort -rh | head -10

df: сколько всего свободно на каждой примонтированной файловой системе

  • df -h — размер, занято, свободно по каждому разделу
  • df -h -T — то же самое плюс тип файловой системы
  • df работает по разделам, а не по произвольным каталогам

Если du смотрит на конкретный каталог, то df смотрит на уровень выше — на файловые системы целиком, ровно на те, что примонтированы прямо сейчас. Флаг -h переводит байты в мегабайты и гигабайты для человека, а -T добавляет ещё и тип файловой системы — полезно, если на сервере рядом уживаются ext4 и сетевая шара.

df -h -T
# Filesystem  Type  Size  Used  Avail  Use%  Mounted on
# /dev/sda1   ext4   50G   47G    2G    97%   /
# /dev/sdb1   ext4  100G   10G   90G    10%   /srv/pixel

The full lecture is available with a subscription

21 more slides in the full version.

The video, all slides, notes, tests, AI tutor and interview unlock after you sign in and subscribe.

Sign in or register Get a subscription

Lecture contents

  1. «Диск заполнен на 98%» — а куда именно делось место, непонятно
  2. du: сколько места реально занимает конкретный каталог
  3. df: сколько всего свободно на каждой примонтированной файловой системе
  4. lsblk: карта всех дисков и разделов в системе одной командой
  5. blkid и UUID: почему монтировать диск лучше по идентификатору, а не по имени
  6. Грабли: удалили файл, а df всё равно показывает диск забитым
  7. От пустого раздела до рабочей папки: mkfs, mount и fstab
  8. SWAP на практике: превращаем обычный файл в дополнительную память
  9. dd: копирует диск байт в байт, не зная ничего про файлы внутри
  10. Грабли: перепутали if и of в dd — и стёрли не тот диск
  11. fdisk и parted: две руки для одной и той же задачи — разметки диска
  12. LVM: слой абстракции между дисками и разделами
  13. LVM на практике: от сырого диска до смонтированного тома
  14. Главная причина любить LVM: расширение тома без остановки сервиса
  15. Снапшот LVM: моментальный слепок тома перед рискованной операцией
  16. RAID: несколько дисков работают как один, но по-разному защищённый
  17. Миф: RAID — это резервная копия
  18. ❓ Стоп-проверка: RAID 1 настроен, а данные всё равно потеряны
  19. 💡 Разбор: не хватило независимой резервной копии, отдельной от RAID
  20. Дисковые квоты: ограничиваем не права доступа, а объём места
  21. edquota: soft-лимит предупреждает, hard-лимит останавливает жёстко
  22. repquota: кто из пользователей реально съедает место на разделе
  23. Проект «Пиксель»: отдельный LVM-раздел под данные с квотой
  24. Дальше — Пиксель научится сам запускать свои скрипты

Articles on this lecture

All lectures in this course

  1. Linux: с нуля до уверенного администрирования
  2. Как устроена файловая система Linux: от корня до загрузки ядра
  3. Пользователи, права доступа и sudo: кто и что может делать в системе
  4. Bash-скрипты: от команды в терминале до рабочего скрипта автоматизации
  5. Пакеты, окружение и первая автоматизация: apt, профиль и cron
  6. Обработка текста и данных в терминале: grep, sed, awk, jq и curl
  7. Процессы и ядро изнутри: от top до strace
  8. Диски, разделы и хранилище: от lsblk до LVM и RAID
  9. systemd: как на самом деле запускаются сервисы в современном Linux
  10. Журналы и мониторинг: journald, rsyslog и sysstat
  11. Сеть в Linux: от IP-адреса до сокета и DNS
  12. Удалённый доступ и сетевые хранилища: SSH, rsync, NFS и SMB
  13. Firewall и защита сервера: ufw, nftables, fail2ban и GPG
  14. Финал: собираем защищённый и автоматизированный сервер целиком