Разделы диска

Конспект в доработке

    Разделы диска

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


    Разделы не могут охватывать несколько дисков. Но с помощью менеджера логических томов (Logical Volume Manager, LVM) можно объединить несколько разделов, даже на разных дисках, в один логический том.
    Логические тома абстрагируют ограничения физических устройств и позволяют работать с «пулами» дискового пространства, которые можно объединять или распределять гораздо более гибко, чем традиционные разделы. LVM полезен в ситуациях, когда нужно увеличить объем раздела без переноса данных на более крупное устройство.

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

    Чтобы получить доступ к файловой системе в Linux, ее необходимо смонтировать.
    Файловая система подключается к определенной точке в дереве каталогов системы, которая называется точкой монтирования.
    Представим, что есть раздел с личными данными пользователей (их домашними каталогами), в котором находятся каталоги /john, /jack и /carol. При монтировании в точке /home содержимое этих каталогов будет доступно в точках /home/john, /home/jack и /home/carol
    Точка подключения должна существовать до монтирования файловой системы.
    сли каталог существует и содержит файлы, они будут недоступны до тех пор, пока вы не размонтируете файловую систему


    Традиционно /mnt был каталогом, в котором монтировались все внешние устройства, и в нем существовал ряд предварительно настроенных опорных точек для распространенных устройств, таких как приводы CD-ROM (/mnt/cdrom) и дисководы для гибких дисков (/mnt/floppy).
    На смену ему пришел /media — точка подключения по умолчанию для любых съемных носителей (например, внешних дисков, USB-накопителей, карт памяти, оптических дисков и т. д.), подключаемых к системе.

    В большинстве современных дистрибутивов Linux и настольных операционных систем съемные устройства автоматически подключаются к системе под именем /media/USER/LABEL при подключении к компьютеру, где USER — имя пользователя, а LABEL — метка устройства

    Загрузочный раздел /boot

    Загрузочный раздел содержит файлы, которые используются загрузчиком для загрузки операционной системы. В системах Linux загрузчиком обычно является GRUB2, а в более старых системах — GRUB Legacy
    Отдельный загрузочный раздел может потребоваться для обеспечения безопасности (чтобы система загружалась даже в случае сбоя корневой файловой системы), а также если вы хотите использовать файловую систему, которую загрузчик не распознает в корневом разделе, или если она использует неподдерживаемый метод шифрования или сжатия.


    Загрузочный раздел обычно является первым разделом на диске. Это связано с тем, что в оригинальной BIOS IBM PC диски адресаровались с помощью цилиндров, головок и секторов (CHS). Максимальное количество цилиндров составляло 1024, головок — 256, а секторов — 63, что позволяло использовать диски размером до 528 МБ (504 МБ в MS-DOS). Это означает, что все, что находится за этой отметкой, будет недоступно в устаревших системах, если только не используется другая схема адресации диска (например, логическая блочная адресация, LBA).
    Поэтому для обеспечения максимальной совместимости загрузочный раздел обычно располагается в начале диска и заканчивается перед 1024-м цилиндром (528 МБ), чтобы компьютер в любой ситуации мог загрузить ядро.

    Поскольку в загрузочном разделе хранятся только файлы, необходимые для загрузчика, начального RAM-диска и образов ядра, по современным меркам он может быть довольно маленьким. Оптимальный размер — около 300 МБ

    Системный раздел EFI (ESP)

    Системный раздел EFI (ESP) используется компьютерами на базе унифицированного расширяемого встроенного интерфейса (UEFI) для хранения загрузчиков и образов ядер установленных операционных систем.


    Этот раздел отформатирован в файловой системе FAT. На диске, разделенном с помощью таблицы разделов GUID, он имеет глобально уникальный идентификатор C12A7328-F81F-11D2-BA4B-00A0C93EC93B. Если диск был отформатирован по схеме разметки MBR, идентификатор раздела будет 0xEF.
    На компьютерах под управлением Microsoft Windows этот раздел обычно является первым на диске, хотя это и не обязательно. ESP создается (или заполняется) операционной системой при установке, а в системе Linux монтируется в папку /boot/efi.

    Переменные данные (/var)

    В этом каталоге содержатся «переменные данные» — файлы и каталоги, в которые система должна иметь возможность записывать данные во время работы. Сюда входят системные журналы (в /var/log), временные файлы (/var/tmp) и кэшированные данные приложений (в /var/cache)
    /var/www/html Также по умолчанию используется каталог для файлов данных веб-сервера Apache, а /var/lib/mysql — это расположение файлов баз данных по умолчанию для сервера MySQL. Однако оба этих параметра можно изменить.
    Одна из веских причин для размещения /var в отдельном разделе — стабильность. Многие приложения и процессы записывают данные в /var и подкаталоги, такие как /var/log или /var/tmp. Некорректно работающий процесс может записывать данные до тех пор, пока в файловой системе не останется свободного места.


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

    Swap

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


    Размер раздела подкачки — спорный вопрос. Старое правило, действовавшее на заре развития Linux («в два раза больше объема оперативной памяти»), может оказаться неактуальным в зависимости от того, как используется система и какой объем физической оперативной памяти установлен.

    LVM

    Управление логическими томами (Logical Volume Management, LVM) — это форма виртуализации хранилища, которая предлагает системным администраторам более гибкий подход к управлению дисковым пространством, чем традиционное разбиение на разделы.
    Основной единицей является физический том (Physical Volume, PV) — блочное устройство в вашей системе, например раздел диска или RAID-массив.
    Виртуальные диски объединены в группы томов (Volume Groups, VG), которые абстрагируют базовые устройства и рассматриваются как единое логическое устройство с совокупной емкостью хранения, равной сумме емкостей входящих в него виртуальных дисков.
    Каждый том в группе томов делится на части фиксированного размера, называемые экстентами.
    Экстенты на физическом томе называются физическими экстентами (PE), а экстенты на логическом томе — логическими экстентами (LE).
    Как правило, каждый логический экстент сопоставляется с физическим экстентом, но это может измениться при использовании таких функций, как зеркалирование диска.


    Группы томов можно разделить на логические тома (Logical Volume, LV), которые функционально похожи на разделы, но более гибкие.
    Размер логического тома, указанный при его создании, на самом деле определяется размером физических экстентов (по умолчанию 4 МБ), умноженным на количество экстентов в томе
    Для увеличения логического тома системному администратору достаточно добавить экстенты из пула, доступного в группе томов.
    После создания логического тома операционная система воспринимает его как обычное блочное устройство
    В /dev будет создано устройство с именем /dev/VGNAME/LVNAME, где VGNAME — это имя группы томов, а LVNAME — имя логического тома.
    Эти устройства можно отформатировать с использованием нужной файловой системы с помощью стандартных утилит (например, mkfs.ext4), а затем подключить обычными способами: вручную с помощью команды mount или автоматически, добавив их в файл /etc/fstab

    Команда du

    du Команда является рекурсивной. В самом простом виде она просто показывает, сколько блоков по 1 килобайту используется в текущем каталоге и во всех его подкаталогах
    По умолчанию отображается использование каждого подкаталога, а затем общее использование текущего каталога, включая подкаталоги

    #отобразить количество для каждого файла в каталоге du -ah #сколько места занимают файлы в текущем каталоге без учета подкаталогов du -Sh

    Если вы хотите сохранить различие между пространством, занимаемым файлами в текущем каталоге, и пространством, занимаемым подкаталогами, но при этом также хотите видеть итоговую сумму, вы можете добавить параметр -c:

    du -Shc

    Вы можете указать, насколько «глубоким» должен быть вывод du с помощью параметра -d N, где N описывает уровни. Например, если вы используете параметр -d 1, он покажет текущий каталог и его подкаталоги, но не подкаталоги подкаталогов.

    du -h -d1

    Возможно, вы захотите исключить из подсчета некоторые типы файлов. Для этого используйте --exclude="PATTERN", где PATTERN — шаблон, которому нужно соответствовать, при этом общая сумма больше не отражает размер исключенных файлов

    #исключить из подсчета некоторые типы файлов du -ah --exclude="*.bin"
    df

    Команда df выведет список всех доступных (уже подключенных) файловых систем в вашей системе, включая их общий размер, объем использованного и доступного пространства, процент использования и место подключения

    #отображать используемые/доступные индексные дескрипторы вместо блоков df -hi #выводит тип каждой файловой системы: df -hT

    Зная тип файловой системы, вы можете отфильтровать вывод. Вы можете отобразить только файловые системы определенного типа с помощью -t TYPE, или исключить файловые системы определенного типа с помощью -x TYPE, как показано в примерах ниже.

    df -ht tmpfs df -hx tmpfs

    Вы также можете настроить вывод df в соответствии со своими предпочтениями, выбрав, что и в каком порядке должно отображаться, с помощью параметра --output=, за которым следует список полей, разделенных запятыми. Вот некоторые из доступных полей:


    source Устройство, соответствующее файловой системе. fstype Тип файловой системы. size Общий размер файловой системы. used Сколько места используется. avail Сколько свободного места есть в наличии. pcent Процент использования. target Место подключения файловой системы (точка подключения).

    Если вам нужен вывод с указанием цели, источника, типа и использования, вы можете использовать следующую команду:

    df -h --output=target,source,fstype,pcent

    df Также можно проверить информацию о индексных дескрипторах, передав в --output= следующие поля:

    itotal
    Общее количество индексных дескрипторов в файловой системе.
    
    iused
    Количество использованных индексных дескрипторов в файловой системе.
    
    iavail
    Количество доступных индексных дескрипторов в файловой системе.
    
    ipcent
    Процент используемых индексных дескрипторов в файловой системе.
    

    #выведите информацию о каждой файловой системе ext4, включая следующие поля: #устройство, точка монтирования, общее количество индексных дескрипторов, количество доступных индексных дескрипторов, процент свободного места df -t ext4 --output=source,target,itotal,iavail,pcent
    Поддержка файловых систем ext2, ext3 и ext4

    Чтобы проверить файловую систему на наличие ошибок (и, будем надеяться, исправить их), в Linux есть утилита fsck
    В самом простом варианте ее можно вызвать с помощью fsck и указать расположение файловой системы, которую нужно проверить


    НИКОГДА не запускайте fsck (или связанные с ней утилиты) на подключенной файловой системе. В противном случае данные могут быть утеряны.

    fsck Сама по себе программа не проверяет файловую систему, а просто вызывает соответствующую утилиту для файловой системы. Например для файловой системы ext2/3/4 будет вызвана утилита e2fsck
    напрямую вызвать утилиту для конкретной файловой системы, например fsck.msdos для файловых систем FAT.

    #Проверка файловой системы fsck /dev/sdb1 #Указать тип файловой системы fsck -t vfat /dev/sdc

    Введите fsck и затем еще раз Tab дважды, чтобы увидеть список всех соответствующих команд в вашей системе.


    fsck может принимать некоторые аргументы командной строки. Вот некоторые из наиболее распространенных:
    -A
    Это позволит проверить все файловые системы, перечисленные в /etc/fstab.
    
    -C
    Отображает индикатор выполнения при проверке файловой системы. В настоящее время работает только с файловыми системами ext2/3/4.
    
    -N
    Эта команда выведет информацию о том, что будет сделано, и завершит работу без фактической проверки файловой системы.
    
    -R
    При использовании в сочетании с -A проверка корневой файловой системы пропускается.
    
    -V
    Подробный режим, при котором во время работы выводится больше информации, чем обычно. Это полезно для отладки.
    

    При обнаружении ошибки в файловой системе fsck останавливается и спрашивает пользователя, что делать. Пользователь должен ввести y для устранения проблемы, n — чтобы оставить ее без внимания, или a — чтобы устранить текущую проблему и все последующие.

    Есть варианты, при которых e2fsck запускается в неинтерактивном режиме:
    -p - Программа попытается автоматически исправить все обнаруженные ошибки. Если будет обнаружена ошибка, требующая вмешательства системного администратора, e2fsck программа выдаст описание проблемы и завершит работу.
    -y - Это даст ответы y (да) на все вопросы
    -n - Противоположность -y. Помимо ответа n (нет) на все вопросы, это приведет к тому, что файловая система будет смонтирована в режиме «только чтение», то есть ее нельзя будет изменить.
    -f - Заставляет e2fsck проверять файловую систему, даже если она помечена как «чистая», то есть была корректно размонтирована.

    Точная настройка внешней файловой системы

    Файловые системы ext2, ext3 и ext4 имеют ряд параметров, которые системный администратор может изменить или «настроить» в соответствии с потребностями системы. Утилита для отображения и изменения этих параметров называется tune2fs.


    Чтобы просмотреть текущие параметры любой файловой системы, используйте параметр -l, за которым следует название устройства, представляющего раздел.

    tune2fs -l /dev/sda1 tune2fs 1.44.6 (5 марта 2019 г.) Имя тома файловой системы: <нет> Последний раз монтировалась в: / UUID файловой системы: 6e2c12e3-472d-4bac-a257-c49ac07f3761 Магический номер файловой системы: 0xEF53 Версия файловой системы: 1 (динамическая) Возможности файловой системы: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum Флаги файловой системы: signed_directory_hash Параметры монтирования по умолчанию: user_xattr acl Состояние файловой системы: чистая Обработка ошибок: продолжить Тип операционной системы: Linux Количество индексных дескрипторов: 7069696 Количество блоков: 28255605 Количество зарезервированных блоков: 1412780 Свободных блоков: 23007462 Свободных индексных дескрипторов: 6801648 Первый блок: 0 Размер блока: 4096 Размер фрагмента: 4096 Размер группового дескриптора: 64 Зарезервированные блоки GDT: 1024 Блоки на группу: 32768 Фрагменты на группу: 32768 Иноды на группу: 8192 Блоки инод на группу: 512 Размер группы гибких блоков: 16 Файловая система создана: пн, 17 июня 2019 г., 13:49:59 Последнее время монтирования: пт, 28 июня, 21:14:38, 2019 Время последней записи: пн, 17 июня, 13:53:39 2019 Количество подключений: 8 Максимальное количество подключений: -1 Последняя проверка: пн, 17 июня, 13:49:59 2019 Интервал проверки: 0 (<нет>) Объем данных, записанных за время существования: 20 ГБ Зарезервированные блоки uid: 0 (пользователь root) Зарезервированные блоки gid: 0 (группа root) Первый индексный дескриптор: 11 Размер индексного дескриптора: 256 Требуемый дополнительный размер индексного дескриптора: 32 Желаемый дополнительный размер индексного дескриптора: 32 Индексный дескриптор журнала: 8 Первый индексный дескриптор без владельца: 5117383 Хэш каталога по умолчанию: half_md4 Начальное значение Directory Hash Seed: fa95a22a-a119-4667-a73e-78f77af6172f Резервное копирование журнала: блоки индексных дескрипторов Тип контрольной суммы: crc32c Контрольная сумма: 0xe084fe23

    В файловых системах ext есть счетчики монтирования. Счетчик увеличивается на 1 при каждом монтировании файловой системы, и при достижении порогового значения (максимального количества монтирований) система будет автоматически проверена с помощью e2fsck при следующей загрузке.


    Максимальное количество подключений можно задать с помощью параметра -c N, где N — это количество подключений файловой системы без проверки. Параметр -C N устанавливает количество подключений системы равным N.

    Также можно задать временной интервал между проверками с помощью параметра -i, за которым следует число и буквы d для обозначения дней, w для обозначения недель и m для обозначения месяцев. Например, -i 10d будет проверять файловую систему при следующей перезагрузке каждые 10 дней. Чтобы отключить эту функцию, укажите в качестве значения ноль.

    -L Можно использовать для присвоения метки файловой системе. Метка может содержать до 16 символов. Параметр -U задает UUID файловой системы, который представляет собой 128-битное шестнадцатеричное число. В приведенном выше примере UUID равен 6e2c12e3-472d-4bac-a257-c49ac07f3761. И метку, и UUID можно использовать вместо имени устройства (например, /dev/sda1) для монтирования файловой системы.

    Параметр -e BEHAVIOUR определяет поведение ядра при обнаружении ошибки в файловой системе. Возможны три варианта поведения:
    continue - Продолжит выполнение в обычном режиме.
    remount-ro - Перемонтирует файловую систему в режиме «только для чтения».
    panic - Приведет к аварийному завершению работы ядра.
    По умолчанию используется поведение continue. remount-ro может быть полезно в приложениях, работающих с конфиденциальными данными, так как оно немедленно останавливает запись на диск, предотвращая возможные ошибки.

    Файловые системы ext3 — это, по сути, файловые системы ext2 с журналом. С помощью tune2fs можно добавить журнал в файловую систему ext2, преобразовав ее в ext3. Процедура проста: нужно передать параметр -j в tune2fs, а затем указать устройство, содержащее файловую систему:

    tune2fs -j /dev/sda1

    После этого при монтировании преобразованной файловой системы не забудьте указать тип ext3 для использования журнала.
    При работе с журналируемыми файловыми системами параметр -J позволяет использовать дополнительные параметры для настройки некоторых параметров журнала, например -J size= для установки размера журнала (в мегабайтах), -J location= для указания места хранения журнала (в конкретном блоке или в определенной позиции на диске с суффиксами M или G) и даже для размещения журнала на внешнем устройстве с помощью -J device=.
    Вы можете указать сразу несколько параметров, разделив их запятой. Например: -J size=10,location=100M,device=/dev/sdb1 создаст журнал размером 10 МБ в позиции 100 МБ на устройстве /dev/sdb1.
    tune2fs У него есть опция «грубой силы» -f, которая позволяет завершить операцию, даже если обнаружены ошибки. Разумеется, использовать ее следует с особой осторожностью.


    #Предположим, /dev/sdb1 — это файловая система ext2. #сбросить счетчик монтирований #изменить метку tune2fs -j -C 0 -L UserData /dev/sdb1 #максимальное количество подключений для файловой системы равным 9 tune2fs -c 9 /dev/sda1
    Обслуживание файловых систем XFS

    Для файловых систем XFS эквивалентом fsck является xfs_repair. Если вы подозреваете, что с файловой системой что-то не так, первым делом нужно проверить ее на наличие повреждений.
    Параметр -n означает «без изменений»: файловая система будет проверена, об ошибках будет сообщено, но никаких исправлений произведено не будет.

    #Проверить файловую систему и не вносить изменения
    xfs_repair -n /dev/sdb1

    Если ошибки обнаружены, можно приступить к их устранению без параметра -n, например так: xfs_repair /dev/sdb1.
    xfs_repair поддерживает ряд параметров командной строки. Среди них:
    -l LOGDEV и -r RTDEV - Они нужны, если в файловой системе есть внешние разделы журнала и реального времени. В этом случае замените LOGDEV и RTDEV на соответствующие устройства.


    -m N - Используется для ограничения использования памяти xfs_repair до N мегабайт, что может быть полезно при настройке сервера. Согласно справочной странице, по умолчанию xfs_repair масштабирует использование памяти по мере необходимости, но не более чем на 75 % от объема физической оперативной памяти системы.

    -d - «Опасный» режим позволяет восстанавливать файловые системы, смонтированные в режиме «только чтение».

    -v - Возможно, вы уже догадались: это подробный режим. При каждом использовании этого параметра «подробность» увеличивается (например, -v -v выведет больше информации, чем просто -v).

    Обратите внимание, что xfs_repair не может восстановить файловые системы с «грязным» журналом. Вы можете «обнулить» поврежденный журнал с помощью параметра -L, но имейте в виду, что это крайняя мера, которая может привести к повреждению файловой системы и потере данных.

    Для отладки файловой системы XFS можно использовать утилиту xfs_db, как в примере xfs_db /dev/sdb1. В основном она используется для проверки различных элементов и параметров файловой системы.

    Еще одна полезная утилита — xfs_fsr, с помощью которой можно реорганизовать («дефрагментировать») файловую систему XFS. При запуске без дополнительных аргументов она будет работать в течение двух часов и попытается дефрагментировать все подключенные файловые системы XFS, доступные для записи, перечисленные в файле /etc/mtab/ . Возможно, вам придется установить эту утилиту с помощью менеджера пакетов для вашего дистрибутива Linux, так как она может отсутствовать в стандартной установке. Для получения дополнительной информации обратитесь к соответствующей справочной странице.


    Источники
    Последнее изменение: 07.09.2026 20:39


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ