Приложение A. Знакомство с дисковыми разделами

Примечание

Информация в этом разделе может быть неприменима к платформам, отличным от x86. Но изложенные общие принципы должны работать.
Информация в этом разделе может быть неприменима к платформам, отличным от x86. Но изложенные общие принципы должны работать.
Если вы знакомы с дисковыми разделами достаточно хорошо, можно сразу перейти к следующему разделу (см. Раздел A.1.4, «Выделение пространства для Red Hat Enterprise Linux»), где вы узнаете об освобождении пространства для установки Red Hat Enterprise Linux. В этом разделе также обсуждается схема разбиения разделов в Linux, разделение дискового пространства между разными операционными системами и пр.

A.1. Жесткие диски: основные понятия

Жесткие диски выполняют очень простую функцию — они хранят информацию и по команде надежно ее извлекают.
При обсуждении таких тем как разбиение диска, важно иметь представление об оборудовании, чтобы не запутаться в деталях. Поэтому в этом приложении использована упрощенная схема диска, помогающая понять, что же собственно происходит при разбиении. Рисунок A.1, «Пустой жесткий диск» демонстрирует новый пустой диск.
Пустой жесткий диск

Рисунок A.1. Пустой жесткий диск

Не на что смотреть, не правда ли? Но если мы говорим о дисках в общем, этого будет достаточно. Скажем, нам нужно сохранить на этом диске какие-то данные. В таком состоянии как сейчас ничего не получится. Сначала нужно его подготовить.

A.1.1. Важен порядок записи данных

Опытные пользователи понимают это достаточно быстро. Нам нужно отформатировать диск. Форматирование (или создание файловой системы) позволяет записывать данные на диск в определенном порядке.
Диск с файловой системой

Рисунок A.2. Диск с файловой системой

Как демонстрирует Рисунок A.2, «Диск с файловой системой», такая организация выдвигает некоторые ограничения:
  • Незначительный процент свободного дискового пространства тратится на хранение служебных данных файловой системы.
  • Файловая система разбивает оставшееся место на небольшие сегменты одинакового размера, которые в Linux называются блоками. [13]
Учитывая, что файловая система дает возможность работать с такими понятиями, как файлы и каталоги, упомянутые выше ограничения не являются существенными.
Универсальной файловой системы не существует. Как демонстрирует Рисунок A.3, «Диск с другой файловой системой», на диске может располагаться несколько разных файловых систем. Как можно догадаться, разные файловые системы могут быть несовместимы, то есть операционная система, поддерживающая одну файловую систему или набор родственных файловых систем, может не поддерживать другую. Однако последнее утверждение не является железным правилом. Например, Red Hat Enterprise Linux поддерживает большой диапазон файловых систем (включая часто используемые в других операционных системах), что облегчает доступ к их данным.
Диск с другой файловой системой

Рисунок A.3. Диск с другой файловой системой

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

Рисунок A.4. Диск с записанными на нем данными

Как демонстрирует Рисунок A.4, «Диск с записанными на нем данными», некоторые блоки теперь содержат данные. Однако просто посмотрев на этот рисунок, нельзя точно определить, сколько файлов находится на этом диске. Это может быть и один файл, и несколько, так как файлы используют минимум один блок, а могут использовать и больше. Также необходимо заметить, что занятые блоки не должны находиться рядом; занятые и свободные блоки могут перемежаться. Это называется фрагментацией. Фрагментация может сказаться при попытке изменить размер существующего раздела.
Как и большинство компьютерных технологий, жесткие диски неоднократно менялись с момента своего появления. Самым главным изменением, конечно, является увеличение их объема. Объем не в физическом смысле, а как мера информационной емкости. Конечно, многократно увеличившийся объем привел к изменению способа использования жестких дисков.

A.1.2. Разделы: преобразование одного диска в несколько

С ростом емкости дисков возник вопрос: насколько разумно использовать все форматированное пространство на диске как один большой раздел? Этот вопрос можно рассматривать с разных точек зрения — с философской или технической. С философской точки зрения кажется, что чем больше места появляется на диске, тем больше на нем беспорядка. С технической точки зрения, некоторые файловые системы и не рассчитаны на поддержку разделов, превышающих определенный размер. Или файловые системы могут поддерживать большие диски, но накладные расходы, возникающие при этом, будут слишком высоки.
Решением этой проблемы может стать разделение диска на разделы. К каждому разделу можно обращаться как к отдельному диску. Реализуется это с помощью дополнительной таблицы разделов.

Примечание

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

Рисунок A.5. Диск с таблицей разбиения разделов

Таблица разделов состоит из четырех секций или четырех основных разделов (см. Рисунок A.5, «Диск с таблицей разбиения разделов»). Основной раздел — это раздел жесткого диска, содержащий только один логический диск (или секцию). В каждой секции хранится информация, определяющая один раздел, таким образом, в таблице разделов нельзя определить больше четырех разделов.
Каждая запись таблицы содержит важные характеристики разделов:
  • координаты начала и конца раздела на диске;
  • активный или неактивный раздел;
  • тип раздела.
Координаты начала и конца раздела определяют размер раздела и его расположение на диске. Флаг активности используется некоторыми загрузчиками операционных систем. Так, при запуске компьютера будет загружена операционная система, расположенная в активном разделе.
Дополнительного разъяснения требует тип раздела. Тип раздела — число, определяющее ожидаемое использование раздела. Возможно, это определение покажется немного расплывчатым; причина в том, что понятие типа раздела само по себе довольно обширно. Некоторые операционные системы используют тип раздела для определения типа файловой системы, другие подразумевают, что данный раздел связан с операционной системой, а третьи обозначают, что он содержит загружаемую операционную систему. В некоторых же случаях имеет место комбинация всех трех способов.
Возможно, такая структура может показать излишне сложной. Рассмотрим в качестве примера Рисунок A.6, «Диск с одним разделом».
Диск с одним разделом

Рисунок A.6. Диск с одним разделом

Во многих случаях на диске создается только один раздел, занимающий весь диск, — по сути это то же самое, что схема без разделов. В таком случае таблица разделов будет содержать только одну запись, указывающую на начало раздела.
В этом примере раздел отмечен как DOS. Доступны и другие типы (см. Таблица A.1, «Типы разделов»), но DOS хорошо подходит для дальнейшего объяснения.
Таблица A.1, «Типы разделов» содержит список популярных типов разделов с соответствующими им шестнадцатеричными числовыми значениями.

Таблица A.1. Типы разделов

Тип раздела Значение Тип раздела Значение
Пусто 00 Novell Netware 386 65
DOS 12-бит FAT 01 PIC/IX 75
XENIX root 02 устаревший MINIX 80
XENIX usr 03 Linux/MINUX 81
DOS 16-бит <=32 МБ 04 Linux swap 82
расширенный 05 Linux обычный 83
DOS 16-бит >=32 06 Linux расширенный 85
OS/2 HPFS 07 Amoeba 93
AIX 08 Amoeba BBT 94
AIX загрузочный 09 BSD/386 a5
OS/2 Boot Manager 0a OpenBSD a6
Win95 FAT32 0b NEXTSTEP a7
Win95 FAT32 (LBA) 0c BSDI fs b7
Win95 FAT16 (LBA) 0e BSDI swap b8
Win95 расширенный (LBA) 0f Syrinx c7
Venix 80286 40 CP/M db
Novell 51 DOS access e1
PReP Boot 41 DOS R/O e3
GNU HURD 63 DOS вторичный f2
Novell Netware 286 64 BBT ff

A.1.3. Обзор расширенных разделов

Конечно, четырех разделов может не хватить. С увеличением объемов жестких дисков, становится все более и более вероятным, что при создании четырех разделов разумного размера на диске все равно останется нераспределенное пространство. Как результат, возникает необходимость в создании большего числа разделов.
Для этой цели существуют расширенные разделы. Как вы могли заметить, Таблица A.1, «Типы разделов» включает расширенный тип (extended), который служит основой для создания дополнительных разделов.
Если созданный раздел является расширенным, то будет создана дополнительная таблица разделов. По сути расширенный раздел похож на диск — в нем есть таблица разделов, указывающая на один или несколько разделов (называемых логическими разделами в противоположность четырем первичным разделам), целиком находящимся в этой дополнительной таблице. Рисунок A.7, «Диск с дополнительным разделом» демонстрирует диск с одним основным разделом, одним дополнительным, содержащим два логических раздела, и некоторым нераспределенным пространством.
Диск с дополнительным разделом

Рисунок A.7. Диск с дополнительным разделом

Как видно из рисунка, существует различие между основными и логическими разделами — на диске может быть до четырех основных разделов, в то время как число логический разделов не ограничено. Однако, учитывая то, как Linux работает с разделами, следует избегать создания больше 12 логических разделов на одном диске.
Теперь давайте разберемся, как применить эти знания при установке Red Hat Enterprise Linux.

A.1.4. Выделение пространства для Red Hat Enterprise Linux

Чаще всего можно столкнуться с тремя различными состояниями диска при попытке разбиения его на разделы:
  • существует нераспределенное свободное место;
  • существует неиспользуемый раздел;
  • существует свободное место в активно используемом разделе.
Рассмотрим эти ситуации по порядку.

Примечание

Не забывайте, что следующие инструкции упрощены для большей ясности и не учитывают точного расположения разделов при установке Red Hat Enterprise Linux.

A.1.4.1. Использование нераспределенного свободного пространства

В этой ситуации уже созданные разделы занимают не весь жесткий диск, оставляя нераспределенным пространство, не относящееся ни к одному из разделов (см. Рисунок A.8, «Жесткий диск с нераспределенным свободным пространством»).
Жесткий диск с нераспределенным свободным пространством

Рисунок A.8. Жесткий диск с нераспределенным свободным пространством

На рисунке цифрой 1 обозначена незанятая область, а 2 обозначает созданный раздел, занявший эту область.
Как можно догадаться, неиспользованный ранее жесткий диск также относится к этой категории. Единственным отличием является то, что все пространство не относится ни к одному из разделов.
В любом случае можно создать разделы, используя нераспределенное пространство. Хотя рассмотренная ситуация очень простая, вряд ли вы ее встретите (если только вы не приобрели новый диск специально для Red Hat Enterprise Linux). Большинство предустановленных систем настроены так, что они занимают все место на диске (см. Раздел A.1.4.3, «Использование свободного места в активном разделе»).
Ниже будет рассмотрена более распространенная ситуация.

A.1.4.2. Использование пространства, занятого неиспользуемым разделом

В этом случае, вероятно, у вас есть один или несколько разделов, которые вам больше не нужны. Возможно, вы перестали использовать какую-то операционную систему и выделенные ей разделы. Рисунок A.9, «Диск с неиспользуемым разделом» демонстрирует именно такую ситуацию.
Диск с неиспользуемым разделом

Рисунок A.9. Диск с неиспользуемым разделом

На рисунке 1 обозначает неиспользуемый раздел, а 2 демонстрирует использование этого раздела для Linux (см. Рисунок A.9, «Диск с неиспользуемым разделом»).
Если вы столкнетесь с такой ситуацией, можно использовать место, занятое неиспользуемым разделом. Сначала надо удалить раздел, затем создать на его месте соответствующие разделы Linux. При желании это можно сделать в процессе установки.

A.1.4.3. Использование свободного места в активном разделе

Это самая распространенная ситуация. И также, к сожалению, самая сложная. Основной проблемой является то, что даже есть свободное место, оно принадлежит существующему разделу. Если вы приобрели компьютер с предустановленной ОС, чаще всего на диске будет всего один большой раздел, содержащий и операционную систему, и данные.
Помимо добавления нового жесткого диска в вашу систему, у вас есть два варианта:
Создание разделов с потерей данных
По большому счету, вы удаляете один большой раздел и создаете несколько других, меньшего размера. Как можно догадаться, данные, находившиеся в исходном разделе, будут потеряны. Это значит, что необходимо полное резервное копирование. Позаботьтесь о себе и создайте две резервных копии данных, выполните проверку копий (если доступно в программе резервного копирования) и попробуйте прочитать данные с копии перед удалением раздела.

Предупреждение

Если в этом разделе находилась какая-то операционная система, ее придется переустановить. Будьте осторожны перед выполнением этого шага и проверьте наличие установочных компакт-дисков, прежде чем приступить к удалению исходного раздела и установочных файлов операционной системы.
После создания меньшего раздела для существующей операционной системы можно переустановить необходимые программы, восстановить свои данные и начать установку Red Hat Enterprise Linux (см. Рисунок A.10, «Диск, переразбитый с потерей данных»).
Диск, переразбитый с потерей данных

Рисунок A.10. Диск, переразбитый с потерей данных

1 показывает состояние до, а 2 демонстрирует состояние после операции (см. Рисунок A.10, «Диск, переразбитый с потерей данных»).

Предупреждение

Как иллюстрирует Рисунок A.10, «Диск, переразбитый с потерей данных», все данные в этом разделе будут потеряны, если вы не создадите резервную копию.
Создание разделов без потери данных
Здесь вы запустите программу, которая, казалось бы, делает невозможное — уменьшает раздел, не потеряв файлов. Многие считают этот метод достаточно надежным. Какие программы способны сделать это? Существует множество программ для управления дисками. Проанализировав предложения, вы сможете найти программу, оптимальную для вашей ситуации.
Хотя неразрушительное переразбиение диска выполняется довольно просто, сам процесс состоит из нескольких этапов:
  • Сжатие и резервное копирование данных
  • Изменение размера раздела
  • Создание новых разделов
Далее эти этапы будут рассмотрены подробнее.
A.1.4.3.1. Сжатие существующих данных
Как иллюстрирует Рисунок A.11, «Сжатие данных на диске», первым этапом является сжатие данных существующего раздела. Это выполняется для того, чтобы упорядочить данные, собрав все свободное место в конце раздела.
Сжатие данных на диске

Рисунок A.11. Сжатие данных на диске

1 показывает состояние до, а 2 демонстрирует состояние после операции.
Этот шаг является обязательным, в противном случае неудачное размещение данных помешает уменьшить раздел до требуемого размера. Также обратите внимание на то, что не все данные могут быть перемещены. Если вы столкнулись с этим ограничением (и это не дает вам уменьшить размер раздела), придется переразбить диск заново, используя метод с разрушением данных.
A.1.4.3.2. Изменение размера раздела
Рисунок A.12, «Диск с уменьшенным разделом» иллюстрирует процесс изменения размера раздела. Хотя окончательный результат уменьшения раздела зависит от используемой программы, в большинстве случаев освобожденное место используется для создания неформатированного раздела того же типа, что и исходный.
Диск с уменьшенным разделом

Рисунок A.12. Диск с уменьшенным разделом

1 показывает состояние до, а 2 демонстрирует состояние после операции.
Важно понимать, что же используемая вами программа делает с освобожденным пространством. В приведенном примере будет лучше удалить созданный раздел DOS и создать разделы Linux.
A.1.4.3.3. Создание новых разделов
Как было упомянуто ранее, может потребоваться создать новые разделы. Если используемая вами программа не рассчитана на Linux, скорее всего, понадобится удалить раздел, созданный при уменьшении раздела (см. Рисунок A.13, «Диск с окончательным вариантом разбиения»).
Диск с окончательным вариантом разбиения

Рисунок A.13. Диск с окончательным вариантом разбиения

1 показывает состояние до, а 2 демонстрирует состояние после операции.

Примечание

Следующая информация относится только к компьютерам на базе x86.
Для удобства наших пользователей мы предоставляем утилиту parted. Это свободно распространяемая программа, способная изменять размеры разделов.
Если вы решите переразбить диск с помощью parted, важно, чтобы вы понимали принципы организации диска и создали как минимум одну, а лучше две резервных копии данных. Эти копии следует сохранить на внешних носителях (например, на лентах, дискетах или CD-ROM), и прежде чем продолжить, убедиться в том, что их можно прочитать.
Если вы решите использовать parted, помните, что после работы parted оставляет два раздела: один, размер которого вы уменьшали, и другой, созданный в освобожденной области. Если вы планируете установить Red Hat Enterprise Linux в этой области, нужно удалить новый раздел либо с помощью программы разбиения дисков, либо на этапе настройки разделов во время установки.

A.1.5. Схема обозначения разделов

Linux обращается к дисковым разделам, используя комбинации букв и цифр, что сначала может показаться необычным, особенно если вы привыкли к обозначениям C, D и т.п. В мире DOS и Windows разделы именуются следующим образом:
  • Тип раздела проверяется на совместимость с DOS и Windows.
  • Если тип раздела совместим, ему присваивается буква. Буквы дисков начинаются с «C» и продолжаются по алфавиту.
  • Буква диска используется для обозначения раздела и его файловой системы.
В Red Hat Enterprise Linux используется более гибкая и информативная схема, где имена имеют вид /dev/xxyN.
Этот формат расшифрован ниже.
/dev/
Это имя каталога, в котором находятся файлы всех устройств. Так как разделы располагаются на жестких дисках, а жесткие диски представляют собой устройства, в /dev/ находятся файлы, представляющие все возможные разделы.
xx
Первые две буквы раздела обозначают тип устройства, содержащего раздел, обычно это либо hd (для дисков IDE), либо sd (для дисков SCSI).
y
Определяет конкретное устройство, содержащее раздел. Например, /dev/hda (первый жесткий диск IDE) или /dev/sdb (второй SCSI-диск).
N
Номер раздела. Первые четыре (основных или дополнительных) раздела нумеруются с 1 до 4. Номера логических разделов начинаются с 5. Так, например, /dev/hda3 обозначает третий основной или дополнительный раздел на первом IDE-диске, а /dev/sdb6 — второй логический раздел на втором SCSI-диске.

Примечание

В этой схеме именования не учитывается тип раздела; в отличие от DOS/Windows, в Red Hat Enterprise Linux могут быть идентифицированы все разделы. Конечно, это не означает, что Red Hat Enterprise Linux может обращаться к любым разделам, но в большинстве случаев получить доступ к данным другой операционной системы все же возможно.
Возьмите эту информацию на заметку, так как это поможет понять, как создавать разделы, необходимые для работы Red Hat Enterprise Linux.

A.1.6. Разделы и другие операционные системы

Если разделы Red Hat Enterprise Linux расположены на одном диске с разделами, используемыми другими операционными системами, скорее всего, это не вызовет никаких проблем. Однако существуют определенные комбинации Linux и других операционных систем, которые требуют особого внимания.

A.1.7. Разделы диска и точки подключения

Пользователи, начинающие знакомство с Linux, часто путаются в том, как Linux использует и обращается к разделам. В DOS и Windows это относительно просто — каждому разделу соответствует буква диска, которую можно использовать для обращения к файлам и каталогам, расположенным в этом разделе.
Это полностью отличается от того, как ведет себя с разделами Linux, и как вообще представляется дисковое хранилище. Основным отличием является то, что каждый раздел используется как часть одного хранилища, содержащего один набор файлов и каталогов. Это реализуется за счет сопоставления раздела каталогу, называемого также подключением или монтированием диска. Подключение диска делает его содержимое доступным в указанном каталоге (также называемом точкой подключения (монтирования)).
Например, если раздел /dev/hda5 подключен в точку /usr/, это означает, что все файлы и каталоги в /usr/ физически будут находиться на /dev/hda5. Например, файл /usr/share/doc/FAQ/txt/Linux-FAQ будет находиться на диске /dev/hda5, тогда как /etc/gdm/custom.conf будет расположен на другом диске.
Продолжая пример, можно сделать так, чтобы один или несколько каталогов ниже /usr/ являлись точками подключения других разделов. Например, раздел (скажем, /dev/hda7) может быть подключен в /usr/local/, таким образом, файл /usr/local/man/whatis будет располагаться в разделе /dev/hda7, а не в /dev/hda5.

A.1.8. Сколько разделов создавать?

На этом этапе подготовки к установке следует определиться с числом и размером разделов, которые будут использоваться новой операционной системой. Вопрос о числе разделов постоянно обсуждается в Linux-сообществе, и этим спорам не видно конца, поэтому лучше будет просто сказать, что число вариантов разбиения равно числу людей, обсуждающих эту тему.
В целом, придерживайтесь следующей рекомендации: если вы не видите причин сделать иначе, создайте как минимум разделы swap, /boot/ и / (корневой).
Раздел 9.15.5, «Рекомендуемая схема разбиения» содержит дополнительную информацию.


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