Skip to content

Disk

Основные термины

Disk

Disk (Диск) - физическое устройство для хранения данных, такое как жесткий диск (HDD), твердотельный накопитель (SSD) или оптический диск (CD/DVD).

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

  • жесткие диски (HDD), которые используют магнитные пластины для записи данных
  • твердотельные накопители (SSD), использующие флеш-память
  • оптические диски (CD/DVD), которые читаются и записываются с помощью лазера.

Диски могут быть как внутренними, так и внешними.

File System

File System (Файловая система) метод и структура, используемые операционной системой для организации и управления файлами на диске или разделе. Примеры: NTFS, FAT32, ext4.

Файловая система отвечает за организацию данных на диске. Она предоставляет структуру, через которую файлы могут быть сохранены, организованы и доступ к ним может быть получен. Каждая файловая система имеет свои особенности и ограничения. Например, NTFS поддерживает большие объемы данных и различные уровни доступа, в то время как FAT32 более простая и совместимая с разными устройствами, но имеет ограничения на размер файла.

Partition

Partition (Раздел) - логическая часть диска, которая действует как отдельный диск и может содержать файловую систему. Разделы позволяют операционной системе управлять дисковым пространством более эффективно.

Разделение диска позволяет создать несколько логических дисков на одном физическом носителе. Это удобно для разделения операционных систем, организации данных и улучшения производительности. Разделы могут быть:

  • основными (Primary),
  • расширенными (Extended)
  • логическими (Logical)

Основной раздел может содержать загрузочный сектор, необходимый для запуска операционной системы.

Dynamic Partitioning

Dynamic Partitioning (Динамическое создание разделов) процесс изменения размеров или создания новых разделов на диске без потери данных и без необходимости перезагрузки системы. Используется для гибкого управления дисковым пространством.

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

Основные команды OS GNU\Linux

Warning

Использование этих команд часто требует прав суперпользователя, поэтому в большинстве случаев необходимо использовать sudo. Всегда делайте резервные копии важных данных перед изменением структуры разделов или файловых систем.

lsblk

Описание: Команда lsblk выводит информацию о всех блоковых устройствах системы, таких как жесткие диски и их разделы.

Пример:

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0  33.7M  1 loop /snap/snapd/21467
loop1         7:1    0  33.7M  1 loop /snap/snapd/21761
sda           8:0    0 476.9G  0 disk 
├─sda1        8:1    0   200M  0 part 
└─sda2        8:2    0 476.7G  0 part 
mmcblk0     179:0    0  14.7G  0 disk 
├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0  14.2G  0 part /

blkid

Описание: Команда blkid выводит информацию о всех блоковых устройствах, включая их UUID и тип файловой системы.

Пример:

sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="system-boot" LABEL="system-boot" UUID="F526-0340" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="0529037a-01"
/dev/mmcblk0p2: LABEL="writable" UUID="1305c13b-200a-49e8-8083-80cd01552617" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0529037a-02"
/dev/sda2: LABEL="Untitled" UUID="6663-BA39" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="4071a1d9-3a1c-42e8-a0b7-f32703168585"
/dev/sda1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="67E3-17ED" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="de26ef46-9ebc-4252-9eaf-f2192c27db79"
/dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs"

fdisk

Описание: Утилита fdisk используется для управления разделами на дисках. Она позволяет создавать, изменять и удалять разделы.

Пример:

sudo fdisk /dev/sda

Welcome to fdisk (util-linux 2.39.3).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): 

gdisk

Описание: gdisk используется для работы с GPT таблицами разделов, аналогично fdisk, но для дисков с GPT.

Пример:

sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): 

parted

Описание: parted - это мощная утилита для управления разделами дисков, которая поддерживает работу с большими дисками и расширенными таблицами разделов.

Пример:

sudo parted /dev/sda
GNU Parted 3.6
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)  

mkfs

Описание: Команда mkfs используется для создания файловой системы на разделе или диске.

Пример:

sudo mkfs.ext4 /dev/sda1

mount

Описание: Команда mount монтирует файловую систему, что позволяет ей быть доступной для операционной системы.

Пример:

sudo mount /dev/sda1 /mnt

umount

Описание: Команда umount размонтирует файловую систему, делая её недоступной для операционной системы.

Пример:

sudo umount /mnt

df

Описание: Команда df показывает использование дискового пространства для всех смонтированных файловых систем.

Пример:

df -h
Filesystem     1K-blocks    Used Available Use% Mounted on
tmpfs             813300    3536    809764   1% /run
/dev/mmcblk0p2  14593116 2604864  11346580  19% /
tmpfs            4066492       0   4066492   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
/dev/mmcblk0p1    516204  173186    343018  34% /boot/firmware
shm                65536       0     65536   0% /run/k3s/containerd/io.containerd.grpc.v1.cri/sandboxes/14eba3ee5ee4d7d29f2a74ea18f15c97236e75dc772f0a7d1ae394865202efeb/shm
tmpfs             813296      12    813284   1% /run/user/1000

Разметка диска

MBR (Master Boot Record)

Описание: MBR - это старая схема разметки диска, использующая первую 512-байтовую область на диске для хранения таблицы разделов и загрузочного кода. MBR поддерживает до 4 первичных разделов и диски до 2 ТБ.

GPT (GUID Partition Table)

Описание: GPT - это современная схема разметки диска, заменяющая MBR. GPT поддерживает практически неограниченное количество разделов и диски размером до 9.4 zettabytes. GPT также имеет резервные копии таблицы разделов и защиту от повреждений.

PMBR (Protective MBR)

Описание: PMBR - это структура, используемая на GPT-дисках для обеспечения совместимости с системами, поддерживающими только MBR. PMBR отмечает весь диск как один раздел, чтобы предотвратить случайное переформатирование GPT-диска старым ПО.

Apple Partition Map (APM)

Описание: APM - это старая схема разметки диска, используемая в системах Apple Macintosh до появления GPT. APM хранит информацию о разделах в блоках, называемых дескрипторами, и поддерживает только Mac OS и ее загрузчик.

BIOS Boot Partition

Описание: Раздел, используемый для хранения загрузочного кода в системах с GPT-дисками, работающими под BIOS. Этот раздел необходим для загрузки операционной системы с GPT-диска на системе, поддерживающей только BIOS.

EFI System Partition (ESP)

Описание: ESP - это раздел, используемый в системах UEFI для хранения загрузочных файлов, драйверов и утилит UEFI. ESP обязателен для всех GPT-дисков в системах с UEFI.

Дополнительные термины

Extended Partition

Описание: В MBR-дисках, если требуется больше четырех разделов, один из них может быть расширенным разделом. Расширенный раздел может содержать множество логических разделов.

Logical Partition

Описание: Логический раздел - это раздел, который существует внутри расширенного раздела на MBR-дисках. Логические разделы позволяют обойти ограничение в 4 первичных раздела MBR.

Сравнение MBR и GPT

  • Количество разделов:

    • MBR: до 4 первичных разделов (или 3 первичных и 1 расширенный).
    • GPT: практически неограниченное количество разделов (до 128 по умолчанию на большинстве систем).
  • Поддерживаемый размер диска:

    • MBR: до 2 ТБ.
    • GPT: до 9.4 зеттабайт (ZB).
  • Загрузка и совместимость:

    • MBR: Поддерживается BIOS, но не UEFI.
    • GPT: Поддерживается UEFI и некоторые BIOS с использованием PMBR.
  • Резервное копирование и защита:

    • MBR: Нет встроенной защиты или резервных копий таблицы разделов.
    • GPT: Имеет резервные копии таблицы разделов и контрольные суммы для защиты от повреждений.

Заключение

Каждая схема разметки диска имеет свои преимущества и недостатки. MBR является старой, но широко поддерживаемой схемой, тогда как GPT предлагает множество улучшений, таких как поддержка больших дисков и более надежная структура. Понимание этих схем помогает эффективно управлять дисковым пространством и выбирать правильные инструменты для конкретных задач.

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

File System (Файловая система) организует хранение и доступ к данным на накопителе. Различные операционные системы поддерживают разные типы файловых систем. Ниже приведены основные файловые системы для GNU/Linux, Windows и macOS.

Файловые системы для GNU/Linux

  1. ext4 (Fourth Extended Filesystem)

    • Описание: Расширенная версия ext3, ext4 поддерживает файлы и файловые системы большего размера и включает в себя такие улучшения, как быстрое время проверки и улучшенная фрагментация.
    • Поддерживаемые функции: Журналирование, увеличенные размеры файлов и файловых систем, улучшенная фрагментация.
    • Использование: Широко используется в современных дистрибутивах Linux.
  2. Btrfs (B-tree Filesystem)

    • Описание: Современная файловая система, разработанная для обеспечения высокой производительности, расширяемости и надежности.
    • Поддерживаемые функции: Снимки, сжатие, самовосстановление, управление на основе копий при записи (COW).
    • Использование: Используется в некоторых дистрибутивах Linux, таких, как openSUSE и Fedora.
  3. XFS

    • Описание: Высокопроизводительная файловая система, разработанная SGI для системы IRIX и портированная на Linux.
    • Поддерживаемые функции: Журналирование, поддержка больших файлов и файловых систем, высокая производительность при параллельных операциях.
    • Использование: Используется в дистрибутивах, таких как CentOS и RHEL.
  4. ZFS (Zettabyte File System)

    • Описание: Мощная файловая система, разработанная Sun Microsystems, которая предоставляет высокую надежность и множество возможностей.
    • Поддерживаемые функции: Снимки, дедупликация, сжатие, управление данными на основе транзакций.
    • Использование: Широко используется в серверах и системах хранения данных.

Файловые системы для Windows

  1. NTFS (New Technology File System)

    • Описание: Основная файловая система, используемая в современных версиях Windows, обеспечивает высокую производительность и надежность.
    • Поддерживаемые функции: Журналирование, сжатие файлов, шифрование, квоты на дисковое пространство.
    • Использование: Используется по умолчанию в Windows начиная с Windows NT.
  2. FAT32 (File Allocation Table 32)

    • Описание: Устаревшая файловая система, которая все еще используется из-за ее широкой совместимости.
    • Поддерживаемые функции: Поддержка больших файлов и разделов, но с ограничением размера файла до 4 ГБ.
    • Использование: Используется на съемных носителях, таких как флешки и карты памяти.
  3. exFAT (Extended File Allocation Table)

    • Описание: Улучшенная версия FAT32, разработанная для устранения ограничений по размеру файлов и разделов.
    • Поддерживаемые функции: Поддержка больших файлов и разделов без ограничений FAT32.
    • Использование: Используется на съемных носителях и флешках, особенно для устройств, требующих больших файлов.

Файловые системы для macOS

  1. HFS+ (Hierarchical File System Plus)

    • Описание: Основная файловая система для macOS до появления APFS.
    • Поддерживаемые функции: Журналирование, поддержка больших файлов и разделов, поддержка Unicode.
    • Использование: Используется в версиях macOS до 10.13 (High Sierra).
  2. APFS (Apple File System)

    • Описание: Современная файловая система, разработанная Apple для замены HFS+.
    • Поддерживаемые функции: Снимки, клонирование, шифрование, улучшенная производительность и надежность.
    • Использование: Используется по умолчанию в macOS начиная с версии 10.13 (High Sierra).
  3. FAT32 и exFAT

    • Описание: Также поддерживаются для обеспечения совместимости с Windows и другими устройствами.
    • Использование: Используются на съемных носителях и внешних дисках для обеспечения межплатформенной совместимости.

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

Файловая система Операционные системы Журналирование Максимальный размер файла Максимальный размер раздела Особенности
ext4 Linux Да 16 ТБ 1 ЭБ Широкое использование в Linux
Btrfs Linux Да 16 ЭБ 16 ЭБ Снимки, сжатие, самовосстановление
XFS Linux Да 8 ЭБ 8 ЭБ Высокая производительность
ZFS Linux, BSD Да 16 ЭБ 16 ЭБ Снимки, дедупликация, управление данными на основе COW
NTFS Windows Да 16 ЭБ 256 ТБ Широкое использование в Windows, сжатие, шифрование
FAT32 Windows, Linux, macOS Нет 4 ГБ 32 ГБ Широкая совместимость
exFAT Windows, Linux, macOS Нет 16 ЭБ 64 ЗБ Поддержка больших файлов
HFS+ macOS Да 8 ЭБ 8 ЭБ Широкое использование в старых версиях macOS
APFS macOS Да 8 ЭБ 8 ЭБ Современная файловая система для macOS

Заключение

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