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

ЗамечаниеЗамечание
 

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

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

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

D.1. Основные понятия, связанные с жёстким диском

Жёсткие диски выполняют очень простую функцию — они надежно хранят данные и по команде выдают их.

При обсуждении тем, таких как разбиение диска, важно немного узнать об этом оборудовании. Однако, здесь легко запутаться в деталях. Поэтому в этом приложении использована очень упрощенная схема диска, помогающая понять, что же собственно происходит при разбиении диска. На рисунке D-1 показан совершенно новый, неиспользованный диск.

Рисунок D-1. Неиспользуемый жёсткий диск

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

D.1.1. Не то, что вы пишите, а то, как вы пишите

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

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

Как следует из рисунка D-2, организация порядка, определяющего файловую систему, выдвигает некоторые ограничения:

  • Небольшой процент свободного дискового пространства тратится на хранение данных о файловой системе, и является дополнительными накладными расходами.

  • Остальное пространство файловая система делит на небольшие сегменты одинакового размера. В Linux, эти сегменты называются блоками. [1]

Учитывая, что файловая система даёт возможность работать с такими понятиями, как файлы и каталоги, упомянутые выше ограничения не являются серьёзными.

Также стоит заметить, что не существует одной, универсальной файловой системы. Как показано на рисунке D-3, на диске могут располагаться несколько различных файловых систем. Как вы можете догадаться, различные файловые системы являются несовместимыми; то есть, операционная система, поддерживающая одну файловую систему (или набор родственных файловых систем), может не поддерживать другую. Однако последнее утверждение не является «железным» правилом. Например, Red Hat Enterprise Linux поддерживает большое количество файловых систем (включая часто используемые в других операционных системах), что облегчает доступ к данным в этих системах.

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

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

Рисунок D-4. Диск с записанными на нём данными

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

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

D.1.2. Разделы: Превращение одного диска в несколько

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

Решением этой проблемы может стать разделение диска на разделы. К каждому разделу можно обращаться как к отдельному диску. Выполняется это с помощью дополнительной таблицы разделов.

ЗамечаниеЗамечание
 

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

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

Как показано на рисунке D-5, таблица разбиения разделов состоит из четырёх основных разделов. Основной раздел — это раздел на жёстком диске, который может содержать только один логический диск. В каждой записи хранится информация, определяющая один раздел, таким образом, в таблице разбиения разделов нельзя определить больше четырёх разделов.

Каждая запись таблицы разбиения разделов содержит важные параметры раздела:

  • Координаты начала и конца раздела на диске

  • Является ли раздел «активным»

  • Тип раздела

Далее эти параметры будут рассмотрены более конкретно. Координаты начала и конца раздела определяют размер раздела и его размещение на диске. Флаг «активный» используется некоторыми загрузчиками операционных систем. Другими словами, операционная система находится в разделе, помеченном как «активный».

Дополнительного разъяснения требует параметр тип раздела. Тип раздела - это число, определяющее принятое использование раздела. Возможно, это предложение покажется немного расплывчатым, причина этого в том, что понятие типа раздела - нечёткое. Некоторые операционные системы, используя тип раздела, обозначают опредёленный тип файловой системы, некоторые – обозначают, что данный раздел связан с этой операционной системой, некоторые – обозначают, что он содержит загружаемую операционную систему, а иногда это комбинация всех трёх способов.

Познакомившись с этой таблицей, вы должно быть удивлены, как вообще можно использовать такую излишне сложную структуру. Обратитесь, например, к рисунку D-6.

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

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

Пусть этот раздел будет помечен как «DOS». Хотя в таблице D-1 было приведено несколько различных типов разделов, выбранный тип хорошо подходит для дальнейшего объяснения.

Таблица D-1 содержит список нескольких популярных типов разделов, вместе с соответствующими им шестнадцатеричными числовыми значениями.

Тип разделаЗначениеТип разделаЗначение
Пустой00Novell Netware 38665
DOS 12-bit FAT01PIC/IX75
XENIX root02Старый MINIX80
XENIX usr03Linux/MINUX81
DOS 16-bit <=32M04Linux swap82
Дополнительный05Linux native83
DOS 16-bit <=32M06Linux extended85
OS/2 HPFS07Amoeba93
AIX08Amoeba BBT94
AIX загрузочный09BSD/386a5
OS/2 Boot Manager1.9 ГбOpenBSDa6
Win95 FAT320bNEXTSTEPa7
Win95 FAT32 (LBA)0cBSDI fsb7
Win95 FAT16 (LBA)0eBSDI swapb8
Win95 Extended (LBA)0fSyrinxc7
Venix 8028640CP/Mdb
Novell51DOSe1
PPC PReP Boot41DOS R/Oe3
GNU HURD63DOS вторичныйf2
Novell Netware 28664BBTff

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

D.1.3. Разделы внутри разделов — обзор дополнительных разделов

Конечно, четырёх разделов со временем может не хватить. С увеличением объемов жёстких дисков, становится все более и более вероятным, что при создании четырёх разделов разумного размера у вас на диске еще останётся нераспределенное пространство. Нужен какой-то способ создавать больше разделов.

Такую возможность открывают дополнительные разделы. Как вы могли заметить в таблице D-1, там присутствует тип «Extended» (дополнительный). Этот тип раздела является базой для создания дополнительных разделов.

Если создаваемый раздел имеет тип «Extended», также создаётся дополнительная таблица разделов. По сути, дополнительный раздел похож на сам диск - в нём есть таблица разделов, указывающая на один или несколько разделов (теперь называемых логическими разделами, в противоположность четырем первичным разделам), целиком находящихся в этой дополнительной таблице. На рисунке D-7 показан диск с одним основным разделом и одним дополнительным, содержащим два логических раздела (и некоторым нераспределенным свободным местом).

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

Как вытекает из рисунка, существует различие между основными и логическими разделами - на диске может быть до четырёх основных разделов, но не существует какого-то определенного ограничения на число логических разделов. Однако, учитывая то, как Linux работает с разделами, вам следует избегать создания на одном диске больше 12 логических разделов.

Теперь, когда мы обсудили разделы диска в общем, давайте разберёмся, как применить эти знания для установки Red Hat Enterprise Linux.

D.1.4. Выделение места для Red Hat Enterprise Linux

При попытке разбить свой диск на разделы вы можете столкнуться со следующими его состояниями:

  • Существует нераспределённое свободное место

  • Существует неиспользуемый раздел

  • Существует свободное место в используемом разделе

Ниже эти ситуации будут рассмотрены по порядку.

ЗамечаниеЗамечание
 

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

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

В этой ситуации уже созданные разделы не занимают весь жёсткий диск, оставляя нераспределенным пространство, не относящееся ни к одному из разделов. На рисунке D-8 показан пример такой ситуации.

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

На рисунке D-8, 1 обозначает неиспользуемую область диска, а 2 обозначает созданный раздел, занявший эту область.

Как вы можете догадаться, неиспользованный ранее жёсткий диск также относится к этой категории. Единственным отличием является то, что на нём всё пространство не относится ни к одному из разделов.

В этом случае, вы можете создать необходимые разделы, используя нераспределённое пространство. К сожалению, хотя эта ситуация очень простая, вряд ли вы её встретите (если только вы не приобрели новый диск специально для Red Hat Enterprise Linux). Большинство предустановленных систем настроены так, что они занимают всё доступное место на диске (смотрите раздел D.1.4.3 Использование свободного места в активном разделе).

Ниже будет рассмотрена более общая ситуация.

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

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

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

На рисунке D-9, 1 обозначает неиспользуемый раздел, а 2 – использование этого раздела для Linux.

Если вы столкнётесь с такой ситуацией, вы можете использовать место, занятое неиспользуемым разделом. Сначала вы должны удалить раздел, а затем создать на его месте соответствующий раздел(ы) Linux. Вы можете удалить неиспользуемый раздел и вручную создать новые разделы в процессе установки.

D.1.4.3. Использование свободного места в существующем разделе

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

Помимо добавления нового жёсткого диска в вашу систему, у вас есть два варианта:

Разрушительное переразбиение диска

В этом случае вы удаляете один большой раздел и создайте несколько других, меньшего размера. Как вы понимаете, данные, находившиеся в первоначальном разделе, будут потеряны. Это значит, что необходимо выполнить полное резервное копирование. Позаботьтесь о себе и сделайте две резервных копии ваших данных, проверьте копии (если ваша программа резервного копирования умеет это), и попробуйте прочитать данные с копии перед удалением раздела.

ВниманиеВнимание
 

Если в этом разделе находилась какая-то операционная система, её также придётся переустановить. Будьте осторожны перед выполнением этого шага, так как с предустановленными системами могут не поставляться установочные компакт-диски. Лучше проверить, относится ли это к вашей системе, до того, как вы разрушите ваш раздел и инсталляцию операционной системы.

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

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

На рисунке D-10, 1 показывает состояние до, а 2 – после операции.

ВниманиеВнимание
 

Как и показано на рисунке D-10, все данные, находившиеся в этом разделе, будут потеряны, если вы не сделаете резервную копию!

Неразрушительное переразбиение диска на разделы

Здесь вы сталкиваетесь с проблемой, которая кажется неразрешимой: уменьшить большой раздел, не потеряв файлов, находящихся на этом разделе. Многие считают этот метод достаточно надёжным. Какое программное обеспечение способно сделать это? На рынке существует множество программных продуктов управления дисками. Проанализировав предложения, найдите программу, оптимальную в вашей ситуации.

Хотя неразрушительное переразбиение диска и выполяется довольно прямолинейно, оно состоит из нескольких этапов:

  • Сжатие и резервное копирование данных

  • Изменение размера существующего раздела

  • Создание нового раздела или разделов

Далее эти этапы будут рассмотрены подробнее.

D.1.4.3.1. Сжатие существующих данных

Как показано на рисунке D-11, первым этапом является сжатие данных в существующем разделе. Этот шаг выполняется для того, чтобы упорядочить данные, собрав всё свободное место в «конце» раздела.

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

На рисунке D-11, 1 показывает состояние до, а 2 – после операции.

Выполнение этого шага является обязательным. Без него неудачное размещение ваших данных помешает уменьшить раздел до требуемого размера. Также обратите внимание на то, что не все данные могут быть перемещены. Если вы столкнулись с этим ограничением (и это не даёт вам уменьшить размер раздела), вам всё же придётся переразбить диск заново.

D.1.4.3.2. Изменение размера существующего раздела

На рисунке F-12 показан процесс изменения размера раздела. Хотя окончательный результат уменьшения раздела зависит от используемой программы, в большинстве случаев освобождённое место используется для создания неформатированного раздела того же типа, что и исходный.

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

На рисунке D-12, 1 показывает состояние до, а 2 – после операции.

Важно понимать, что используемая вами программа делает с освобождённым на диске местом, чтобы вы могли действовать соответствующим образом. В приведённом примере, будет лучше удалить созданный DOS раздел и создать подходящий раздел Linux.

D.1.4.3.3. Создание нового раздела или разделов

Как было упомянуто ранее, вам может потребоваться, а может и не потребоваться создать новые разделы. Однако, если используемая вами программа не рассчитана на Linux, скорее всего вам понадобится удалить раздел, созданный при уменьшении раздела. На рисунке D-13 показаны выполненные действия.

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

На рисунке D-13, 1 показывает состояние до, а 2 – после операции.

ЗамечаниеЗамечание
 

Следующая информация относится только к компьютерам на базе x86.

Для удобства наших клиентов мы предоставляем утилиту parted. Это свободно-распространяемая программа, способная изменять размеры разделов.

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

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

D.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.

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

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

D.1.7. Разделы диска и точки монтирования

Люди, начинающие знакомство с Linux, часто путаются в том, как Linux использует разделы и обращается к ним. В DOS/Windows, это относительно несложно: Каждый раздел имеет «букву диска». Вы можете использовать соответствующую букву диска для ссылки на файлы и каталоги, расположенные на этом разделе.

Это полностью отличается от того, как ведет себя с разделами Linux, и как вообще представляется дисковое хранилище. Основным отличием является то, что каждый раздел используется как часть одного хранилища, содержащего один набор файлов и каталогов. Это реализуется с помощью связывания раздела с каким-то каталогом, называемого также монтированием. Монтирование диска делает его содержимое доступным в указанном каталоге (также называемом точкой монтирования (mount point)).

Например, если раздел /dev/hda5 смонтирован в точку /usr, это означает, что все файлы и каталоги ниже /usr физически будут находиться на /dev/hda5. Таким образом, файл /usr/share/doc/FAQ/txt/Linux-FAQ будет находиться на диске /dev/hda5, тогда как /etc/X11/gdm/Sessions/Gnome будет расположен на другом диске.

Развив наш пример, можно сделать так, чтобы один или несколько каталогов ниже /usr являлись точками монтирования других разделов. Например, раздел (скажем, /dev/hda7) может быть смонтирован в точку /usr/local, таким образом, файл /usr/local/man/whatis будет располагаться на разделе /dev/hda7, а не на /dev/hda5.

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

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

Не забывая об этом, придерживайтесь следующей рекомендации: если вы не видите причин сделать по-другому, создайте как минимум следующие разделы: swap, /boot/ (или раздел /boot/efi/ для платформ Itanium), раздел /var/ для платформ Itanium и / (корневой).

За дополнительной информацией обратитесь к разделу 4.16.4 Рекомендуемая схема разбиения.

Замечания

[1]

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