- Администрирование систем Linux. Разделы жестких дисков
- Глава 5. Разделы жестких дисков
- 5.1. Информация о разделах жестких дисков
- 5.2. Обнаружение разделов жестких дисков
- 5.3. Создание разделов на новых дисках
- 5.4. О таблице разделов
- 5.5. Практическое задание: разделы жестких дисков
- 5.6. Корректная процедура выполнения практического задания: разделы жестких дисков
- Разметка диска GPT или MBR Linux
- Просмотр разметки диска и прочей информации в консоли
- Диск с таблицей разделов MBR
- В консоли создать MBR и поделить можно так (пусть диск будет 30 Гб):
- Диск с таблицей разделов GPT
- В консоли создать GPT и поделить можно так (пусть диск будет 30 Гб):
- Непосредственно работа с дисками
Администрирование систем Linux. Разделы жестких дисков
Оригинал: Disk partitions
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 29 марта 2015 г.
Глава 5. Разделы жестких дисков
В данной главе будет продолжено рассмотрение приемов работы с жесткими дисками , которые были подготовлены нами в предыдущей главе. На этот раз мы займемся созданием разделов на этих жестких дисках.
Прочитав данную главу, вы будете подготовлены к чтению следующей главы, в которой будет описываться процесс создания файловых систем в подготовленных разделах.
5.1. Информация о разделах жестких дисков
5.1.1. Первичные, расширенные и логические разделы
Для корректного функционирования дистрибутива Linux вам потребуется создать один или несколько разделов (partitions) на жестком диске. Далее будут приведены подробные пояснения относительно создания и использования разделов жестких дисков.
Геометрия раздела (geometry), а также его размер обычно описываются с помощью номеров начального и конечного цилиндра (а иногда начального и конечного сектора). Разделы могут быть первичными (primary, максимум четыре), расширенными (extended, максимум один) или логическими (logical, размещаются внутри расширенного раздела). Каждый раздел имеет поле типа, которое содержит соответствующий код. Данный код позволяет идентифицировать операционную систему компьютера или файловую систему раздела.
Таблица 5.1. Первичные, расширенные и логические разделы
Тип раздела | Порядковый номер |
---|---|
Первичный (максимум 4) | 1-4 |
Расширенный (максимум 1) | 1-4 |
Логический | 5- |
5.1.2. Имена файлов устройств, соответствующих разделам
Ранее мы говорили о том, что имена файлов устройств жестких дисков соответствуют шаблону /dev/hdx или /dev/sdx, причем x является буквенным символом, зависящим от аппаратной конфигурации. После этого символа должен следовать порядковый номер раздела, причем отсчет должен начинаться с числа 1. Следовательно, для обозначения четырех (возможных) первичных разделов могут использоваться числа от 1 до 4. Отсчет порядковых номеров логических разделов всегда начинается с 5. Таким образом, файл устройства /dev/hda2 представляет второй раздел на первом жестком диске с интерфейсом ATA, а файл /dev/hdb5 — первый логический раздел на втором жестком диске с интерфейсом ATA. Аналогичным образом происходит и присваивание имен и файлам устройств, соответствующих жестким дискам с интерфейсом SCSI. Например, файл устройства /dev/sdb3 соответствует третьему разделу второго жесткого диска с интерфейсом SCSI.
Таблица 5.2. Имена файлов устройств, соответствующих разделам
Раздел | Устройство |
---|---|
/dev/hda1 | Первый первичный раздел на устройстве, представленном файлом /dev/hda |
/dev/hda2 | Второй первичный раздел или расширенный раздел на устройстве, представленном файлом /dev/hda |
/dev/sda5 | Первый логический раздел на устройстве, представленном файлом /dev/sda |
/dev/sdb6 | Второй логический раздел на устройстве, представленном файлом /dev/sdb |
На рисунке ниже представлены схематичные изображения двух жестких дисков (с вращающимися шпинделями) с разделами. Обратите внимание на то, что расширенный раздел выступает в роли контейнера, содержащего логические разделы.
5.2. Обнаружение разделов жестких дисков
5.2.1. Команда fdisk -l
Рассмотрев приведенный в примере ниже вывод команды fdisk -l , вы можете обнаружить, что на жестком диске, представленном файлом устройства /dev/sdb , существуют два раздела. Первый раздел размещается до 31 цилиндра и является разделом подкачки Linux. Второй раздел имеет гораздо больший размер.
5.2.2. Файл /proc/partitions
Файл /proc/partitions содержит таблицу с основными и дополнительными номерами файлов устройств, соответствующих разделам жестких дисков, количеством блоков в рамках этих разделов и именами файлов устройств, расположенных в директории /dev . Изучив содержимое файла /proc/devices , убедитесь в том, что в данном списке содержатся основные номера, соответствующие типу каждого из устройств.
Основной номер устройства соответствует типу устройства (или драйверу) и может быть обнаружен в файле /proc/devices . В данном случае основной номер устройства 3 соответствует устройству с интерфейсом IDE , а 8 — устройству с интерфейсом SATA . Основной номер устройства описывает драйвер , который должен использоваться для взаимодействия с данным устройством.
Дополнительный номер устройства является уникальным идентификатором экземпляра устройства данного типа. Файл devices.txt в дереве исходного кода ядра Linux содержит полный список основных и дополнительных номеров устройств.
5.2.3. Parted и другие утилиты
Вас могут заинтересовать такие альтернативные утилите fdisk инструменты, как parted , cfdisk , sfdisk и gparted . При этом для осуществления манипуляций с разделами жестких дисков в рамках данного курса будет использоваться главным образом утилита fdisk .
Утилита parted рекомендуется разработчиками некоторых дистрибутивов Linux для работы с дисками, содержащими таблицы разделов формата GPT , а не MBR .
Ниже приведен пример использования утилиты parted при работе с дистрибутивом CentOS.
5.3. Создание разделов на новых дисках
В примере ниже будет рассматриваться ситуация покупки нового жесткого диска для нашей системы. После корректного подключения нового аппаратного обеспечения вы можете использовать утилиты fdisk и parted для создания необходимых разделов. В данном примере используется утилита fdisk , но утилита parted в подобной ситуации также является вполне подходящим инструментом.
5.3.1. Обнаружение жесткого диска
В первую очередь мы должны удостовериться в том, что ядро Linux имеет доступ к новому жесткому диску с помощью команды fdisk -l . Да, новый жесткий диск представлен файлом устройства /dev/sdb, но на нем пока не создано каких-либо разделов.
5.3.2. Открытие дискового устройства с помощью утилиты fdisk
После этого мы можем приступить к созданию раздела на жестком диске, представленном файлом устройства /dev/sdb, с помощью утилиты fdisk. Для начала мы должны передать путь к файлу устройства /devsdb в качестве параметра утилиты fdisk. Следует проявить крайнюю осторожность и убедиться еще раз в том, что вы создаете раздел именно на новом диске!!
5.3.3. Пустая таблица разделов
Работая с инструментом fdisk, вы можете выполнить команду p для того, чтобы ознакомиться с текущей таблицей разделов диска.
5.3.4. Создание нового раздела
На данный момент на диске не существует разделов, поэтому мы должны выполнить команду n для создания нового раздела. Мы будем вводить символ p для создания первичного раздела и число 1 в качестве номера раздела, а также число 1 в качестве номера начального цилиндра и число 14 в качестве номера конечного цилиндра.
Теперь мы снова можем выполнить команду p для проверки внесенных нами изменений, причем эти изменения еще не записаны на диск, поэтому мы все еще можем отменить эту операцию! Так как внесенные изменения кажутся нам корректными, мы можем выполнить команду w для записи изменений на диск с последующим завершением работы утилиты fdisk.
5.3.5. Вывод информации о новом разделе
Давайте снова проверим с помощью команды fdisk -l , совпадает ли реальность с нашими ожиданиями. Разумеется, в примере ниже приводится информация о разделе на диске, представленном файлом устройства /dev/sdb.
5.4. О таблице разделов
5.4.1. Основная загрузочная запись
Информация из таблицы разделов (об основных и расширенных разделах) записывается в основную загрузочную запись (Master Boot Record или MBR). Вы можете использовать утилиту dd для копирования данных из основной загрузочной записи в файл.
В данном примере осуществляется копирование основной загрузочной записи с первого жесткого диска с интерфейсом SCSI.
Этот же инструмент также может использоваться для удаления всей информации о разделах на диске. В данном примере область основной загрузочной записи заполняется нулевыми байтами.
Или удаления всей информации из раздела на жестком диске или со всего диска.
5.4.2. Утилита partprobe
Не забывайте о том, что после восстановления основной загрузочной записи с помощью утилиты dd вам придется сообщить ядру ОС о необходимости повторного чтения таблицы разделов жесткого диска с помощью утилиты partprobe . После запуска утилиты partprobe разделы жесткого диска могут снова использоваться.
5.4.3. Логические разделы
Таблица разделов жесткого диска не содержит информации о логических разделах . Следовательно, резервная копия основной загрузочной записи, созданная с помощью утилиты dd , будет содержать информацию исключительно о первичных и расширенных разделах жесткого диска. Для создания резервной копии основной загрузочной записи с информацией о логических разделах жесткого диска вы можете воспользоваться утилитой sfdisk .
В данном примере показана методика создания резервной копии таблицы всех разделов жесткого диска, включая логические, с записью данных в файл.
А в данном примере осуществляется копирование основной загрузочной записи и информации обо всех логических разделах с устройства, представленного файлом /dev/sda, на устройство, представленное файлом /dev/sdb.
5.5. Практическое задание: разделы жестких дисков
1. Используйте команду fdisk -l для вывода списка существующих разделов жестких дисков с информацией об их размерах.
2. Используйте команду df -h для вывода списка существующих разделов жестких дисков с информацией об их размерах.
3. Сравните вывод утилиты fdisk с выводом утилиты df .
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
6. Используйте команды df -h и fdisk -l для проверки корректности выполненных вами действий.
7. Снова сравните вывод утилиты fdisk с выводом утилиты df . Присутствует ли в выводах обоих утилит информация о новых разделах?
8. С помощью утилиты dd создайте резервную копию основной загрузочной записи , которая содержит информацию о вашем основном разделе размером в 200 МБ.
9. Создайте резервную копию таблицы разделов, содержащей информацию о вашем первичном разделе размером в 400 МБ и о логических разделах размером в 300 МБ каждый. Убедитесь в том, что информация о логических разделах добавлена в файл резервной копии таблицы разделов.
10. (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
5.6. Корректная процедура выполнения практического задания: разделы жестких дисков
1. Используйте команду fdisk -l для вывода списка существующих разделов жестких дисков с информацией об их размерах.
С использованием учетной записи пользователя root: # fdisk -l
2. Используйте команду df -h для вывода списка существующих разделов жестких дисков с информацией об их размерах.
3. Сравните вывод утилиты fdisk с выводом утилиты df.
Информация о некоторых разделах жестких дисков будет присутствовать в выводах обоих утилит (возможно, одним из таких разделов будет раздел, представленный файлом устройства /dev/sda1 или /dev/hda1).
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdc).
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdb).
при работе с утилитой fdisk : n p 1 +400m enter — n e 2 enter enter — n l +300m (дважды)
6. Используйте команды df -h и fdisk -l для проверки корректности выполненных вами действий.
7. Снова сравните вывод утилиты fdisk с выводом утилиты df . Присутствует ли в выводах обоих утилит информация о новых разделах?
Созданные разделы обнаруживаются с помощью утилиты fdisk .
При этом эти же разделы не обнаруживаются с помощью утилиты df .
8. С помощью утилиты dd создайте резервную копию основной загрузочной записи , которая содержит информацию о вашем основном разделе размером в 200 МБ.
9. Создайте резервную копию таблицы разделов , содержащую информацию о вашем первичном разделе размером в 400 МБ и о логических разделах размером в 300 МБ каждый. Убедитесь в том, что информация о логических разделах добавлена в файл резервной копии таблицы разделов.
10 (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
Источник
Разметка диска GPT или MBR Linux
Новый диск не имеет разметки, поэтому сначала необходимо разметить диск (создать таблицу разделов и выбратьфайловую систему — отформатировать), затем уже использовать. В табилце разметки непосредственно хранится информация о файлах и их позиции на диске..
Существует 2 типа таблиц разметки:
- Устаревшая MSDOS (MBR) [часто обозначается как BIOS, Legacy BIOS] — главная загрузочная запись — Master Boot Record, редакторы его могут отображать как dos или msdos.
- И современная UEFI (GPT) — GUID Partition Table.
Диск можно разметить и поделить при установке операционной системы или в случае с многими установочными образами Линукса — операционная система запускается с флешки или с диска и можно в графическом режиме разметить диски. И не только — можно наставить софта, сделать какие-то изменения и все они будут записаны при установке операционной системы (это как вариант). Т.е. под рукой всегда живой образ системы с которого можно загрузиться и что-то сделать..
В графическом режиме доступны утилиты, например Редактор разделов System — PartitionManager , или GParted , кому что больше нравится.. Ниже покажу как это можно сделать из командной строки (консоли Linux).
Смысл делить диск на разделы в Линуксе — чтоб директория /home была в отдельном разделе (папки и настройки пользователей). В случае переустановки операционной системы отформатируем первый (корень) раздел и установим недостающий софт, и вуаля все настройки программ автоматом подцепятся из /home.. Сегодня достаточно 20Гб под корень / и от 10 ГБ под /home. т.е. создаём 2 раздела на диске + EFI раздел если доступен UEFI (GPT)..
Своп (linux-swap — раздел подкачки) я не использую, начиная с Ubuntu 18.04 отказываются от раздела swap, вместо него будет использоваться файл подкачки (swapfile) . Он может понадобиться для режима сна ноутбука или если мало памяти — система менее 1 — 2 Гб памяти использует (в зависимости от сборки).. Для режима сна необходим раздел/файл подкачки = размер памяти + 2 Гб. т.е. просто добавьте запас места в корневом разделе..
Если используете SSD диск — оставляйте 10% (от 10 до 20%) места в конце неразмеченными, это продлит его ресурс, поскольку там будут проходить фоновые операции записи.. (По умолчанию на SSD диске есть скрытая область для этого, эта неразмеченная пойдёт в плюс к ней..) И судя по тестам из интернетов — эта дополнительная область увеличит IOPS — количество операций ввода и вывода, тем самым ускоряя операции с диском.
Просмотр разметки диска и прочей информации в консоли
Вариантов намного больше, но первых 4-х вполне достаточно..
Диск с таблицей разделов MBR
Где-то в 80-х был создан формат для загрузки диска с таблицей разделов MBR, он имеет ограничение поддержки дисков объёмом до 2.2 Тб и ограничения по количеству(4) первичных (главных — primary) разделов, остальные создаются в расширенном разделе.. Необходимо выставлять флаг с какого раздела грузиться для БИОС-а компьютера, его ещё активным разделом называют.. Запись MBR занимает первые 512 байт в первом секторе на диске..
В консоли создать MBR и поделить можно так (пусть диск будет 30 Гб):
Дополнения и пояснения:
# — значок комментария.
p — посмотреть разделы.
d — удалить разделы.
b — редактировать метки диска (edit bsd disklabel).
Изменяем тип таблиц на Linux (L введите чтоб уточнить, зависит от версий).
Должно по умолчанию назначаться..
Скопировать разметку на диск 2, для MBR это делается так (в случае с RAID — полезно):
Диск с таблицей разделов GPT
Диск с таблицей разделов GPT устроен по иному и имеет ряд преимуществ:
- Размер диска может быть до 9.4 Зеттабайт, для сравнения:
MBR=2,2Тб против GPT=10 093 173 145,6 Тб.
Запас на будущее колоссальный, весь трафик интернета за 2016 примерно 1,1 Зеттабайт. - GPT допускает 2 64 = 18 446 744 073 709 552 000 основных разделов, но вот Windows допускает не более 128 разделов, хотя в реальной жизни более 3-х не используется..
- GPT хранит копию данных раздела в конце диска и значения контрольной суммы для проверки целостности данных, позволяя восстановить их в случае повреждения основного заголовка GPT. (MBR же такого не умеет и помнится у меня были случаи повреждения этой записи под Windows.)
- Загрузка операционной системы происходит быстрее, с UEFI быстрее инициализируется железо.. (На EFI разделе находятся драйверы аппаратных компонентов, к которым может получать доступ запущенная операционная система и в этом случае загрузка происходит прямо с этого раздела, что быстрее.)
- Нет необходимости в boot флаге разделу.
В биосе должен быть включён режим UEFI или UEFI + Legacy ищите где-то в Boot Options (загрузка итп..), обычно спаренный режим уже включен на новом железе. Естественно грузимся из под UEFI при установке с флешки (F2, F8, F10, F11, бут меню в БИОС-е или иные)..
Если связь между оборудованием и операционной системой (ОС) осуществляется только через режим UEFI (а не Legacy BIOS), использование GPT для разбивки разделов становится практически обязательным, иначе могут быть проблемы совместимости с MBR. Советую из консоли или при помощи редактора разделов GParted итп. установить тип таблицы gpt, при установке операционной системы, установщик может по умолчанию dos поставить..
UEFI имеет собственный загрузчик операционных систем с интегрированными менеджерами их запуска. Для загрузчика UEFI на диске должен быть создан небольшой загрузочный раздел, который называется EFI System Partition , он же ESP , он же EFISYS и имеет тип EF00 .
При установке Linux будет возможность обозначить тип — системный раздел EFI.
EFI — Extensible Firmware Interface System Partition — системный раздел расширяемого интерфейса прошивки.
На дисках расширенного формата 4K Native (секторы по 4 Кб, по сути это неминуемо в будущем (сейчас 512кб в ходу), с 2010г операционные системы поддерживают новый формат) EFI должен быть не менее 256 Мб в виду ограничений FAT32, посему я делаю его с запасом = 260 Мб (этого хватит на несколько ОС на 1 диске), но можно и 100 Мб.. В интернете встречаются экспериментаторы советующие делать размер не менее 520 Мб (546 Мб), чтоб любой каприз влез, но Линукс занимает около 4 Мб.
На каждом диске может быть не более одного раздела EFI. По стандартам, раздел должен быть отформатирован в файловой системе FAT32 (для USB HDD, USB Flash могут быть поняты при загрузке более старые FAT12, FAT16 (в том числе и EFI)).
Запись GPT занимает первые 2048 секторов (1 Мб) на диске и включает в себя резерв — отступ для MBR 512 байт.
В консоли создать GPT и поделить можно так (пусть диск будет 30 Гб):
Посмотреть разметку диска:
Непосредственно работа с дисками
Тип таблиц на Linux (L введите чтоб уточнить, обозначение зависит от версий)
8200 Linux swap
8300 Linux filesystem
Копирование разметки диска для GPT (в случае с RAID — полезно):
Будьте бдительны, какому гению в голову пришло в обратном порядке выстраивать диски, точнее применять сразу после ключа -R, —replicate=second_device_filename. Поэтому запись в логичном/привычном порядке sgdisk -R /dev/sda /dev/sdb приведёт к затиранию первого диска sda, в этой форме первым пишется диск на который копируется разметка, а вторым с которого копируют.
Страница сгенерирована за 0.001712 секунды На один процесс веб-сервера: 584 стр./сек. Всего Apache может отдать: 149 504 стр./сек. Выделено php памяти: 447.31 KB, real_usage: 2 MB © Все права защищены 2004 — 2021 | Карта сайта Отслеживать изменения в Твиттере Политика конфиденциальности | Браузер построил за сек. Полное время сек. Источник |