Linux с логического раздела

Администрирование систем 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 для того, чтобы ознакомиться с текущей таблицей разделов диска.

Читайте также:  Lenovo v580c драйвера для windows 10 64 bit

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. После этого восстановите ее из файлов резервных копий.

Читайте также:  Быстрое удаление папки с большим количеством файлов windows

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Работа с жесткими дисками в Linux

Как оно хранится?

10 минут чтения

В статье, мы разберем как работать в операционной системе Linux с HDD, Logical Volume и все что с этим связанно. А также рассмотрим утилиты для работы с HDD. Разберем, что такое LVM.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Вводная

Те, кто читал пред идущие стати должны понимать, что в операционной системе есть определенные папки. Это стандартный набор папок. Сейчас обратим внимание на те папки, в которые могут быть смонтированы отдельные разделы. Это значит, что если мы видим в корневом разделе какую-либо папку, то не факт, что данная папка находится на том же жестком диске, что и соседние папки или даже сама корневая файловая система. Это могут быть отдельные жесткие диски или разделы жестких дисков, которые смонтированы в корневую файловую систему. Самый большой раздел — это сама корневая файловая система, обозначается символом «/» . Следующий раздел, который обычно находится отдельно — это «/boot«, загрузочный раздел, обычно он мегабайт на 100. Там хранятся файлы необходимые для загрузки операционной системы и само ядро. Можно данную директорию оставить на корневом разделе, но если у нас большой жесткий диск хотя бы на 1 ТБ, то старые диски его могут не увидеть при загрузке, поэтому хороший тон создавать отдельный раздел на жестком диске размером от 100 МБ.

Директория «/home» — это домашние папки пользователей. Это некий аналог папки в операционной системе Windows, такой как Documents and Settings или c:\users. Это директория, где хранятся все папки пользователя. Его можно монтировать, как сетевую папку. Например, если у вас используются какие-нибудь перемещаемые профили. Пользователь работает на нескольких компьютерах и ему необходимо, что бы везде был одинаковый рабочий стол. Вот в таком случае было бы правильно хранить его домашнюю папку где-нибудь на сервере и просто ее монтировать как сетевую папку, предоставляя доступ к файлам.

Следующая папка, которая находится в корне — это «/root» она является домашней папкой суперпользователя, очень важная папка поэтому она хранится отдельно.

Папка «/etc» — в ней находится конфигурация нашей операционной системы и ее компонент. Так же бывает, что она находится на отдельных дисковых разделах. Мы конечно сами определяем при установке как разбить жесткий диск, но, если при установке мы ставим галочку в установщике, чтобы он автоматически разбил жесткий диск и создал разделы так, как он считает нужным.

Директория «/opt» в данной директории находится программное обеспечение от третьих поставщиков. Некоторые серверные дистрибутивы тоже хранят ее на отдельном логическом разделе.

Директория «/var» здесь хранятся все часто меняющиеся данные. Например, логи различного программного обеспечения или изменяющиеся программные данные. Возможно для этой директории имеет смысл использовать быстрые диски, например, SSD. Потому, что к ним будет идти очень частое обращение программного обеспечения.

Директория «/usr» в ней находятся все установленные пакеты программ, документация и исходный код ядра. Чаще всего данная директория смонтирована вообще в режиме «только чтения» и в принципе она может быть расположена вообще на каком ни будь медленном диске или папке в сети.

Директория «/tmp» предназначена для хранения временных файлов. Важной особенностью данной папки является то, что хранящиеся файлы в ней, будут удалены в случае перезагрузки машины. Т.е при перезагрузки данная папка очищается автоматически. Существует еще один отдельный раздел подкачки swap. Обычно операционная система windows использует файл подкачки, то Linux чаще всего использует раздел подкачки, хотя может использовать и файл. Данный раздел не монтируется в нашу файловую систему, он просто существует отдельно.

Как это выглядит в консоли.

Переходим в корневую директорию cd / . Вводим команду ls и видим, как все директории у нас отображаются. Все те папки о которых шла речь мы видим находятся в корневой директории, кроме раздела swap. Для того, чтобы посмотреть, что и куда смонтировано, то необходимо посмотреть специальный конфигурационный файл cat /etc/fstab

Для упрощения объяснения, мы под жестким диском будем понимать единое пространство, которое мы можем разбить на несколько частей. Изначально, компьютер не видел более 4-х разделов — этого считалось достаточно. Поэтому сейчас, изначально по умолчанию жесткий диск не может быть разбит на более чем 4 раздела. Если нам необходимо больше разделов, то необходимо создать так называемый расширенный раздел. И этот расширенный раздел уже будет содержать в себе несколько логических разделов.

В старых версиях Linux диски назывались hd0, hd1 и т.д, сейчас жесткие диски называются sda, т.е буквами. USB устройства у нас так же идентифицируются как жесткие диски. Разделы у нас нумеруются по порядку sda1, sda2 и т.д. Т.е. название раздела у нас состоит из буквы диска и номера раздела по порядку. Следовательно, первые 4 цифры зарезервированы и даются только основным разделам, именно поэтому логические разделы нумерация начинается с 5-ки. Основной утилитой для работы с разделами является утилита FDISK. Это утилита используется для разбивки жесткого диска. Так же есть утилита MKFS. Данная утилита используется для создания файловой системы. Мы можем посмотреть все существующие жесткие диски командой fdisk -l. При выводе данной команды мы можем видеть, что у нас 2 подключенных жестких диска sda и sdb. В выводе мы можем так же увидеть их физический объем. На первом диске sda, мы так же можем увидеть 2 раздела sda1 и sda2.

Читайте также:  Windows заблокирован что это значит

Начать работать со вторым жестким диском, необходимо сначала указать, как определенный файл. Устройства лежат в директории «/dev«. Пишем команду fdisk /dev/sdb

Получается следующая картина:

А нажав букву m мы можем получить доступ к справке по работе с данной утилитой. Как можно заметить функционал утилиты достаточно обширен. Можно добавлять партиции, можно удалять партиции. Следующим шагом необходимо создать новый раздел. Выбираем опцию n. Далее предлагается выбор primary или extended. Мы выбираем primary ключ p. Далее выбираем номер раздела 1-4. Например, 1. Далее система спрашивает где будет (на каком секторе) начинаться разметка раздела. Можно выбрать по умолчанию. На следующем шаге мы можем указать сектор, но это крайне неудобно, проще указать сколько мы хотим выделить под размер, например, +10G. И этот раздел станет 10 гигабайт.

Попробуем второй вариант с созданием раздела, он будет расширенный (extended). Выбираем ключ e, выбираем 2 раздел. Выбираем с какого сектора он начнется. Следующим шагом +8G. Мы создали расширенный диск на 8 GB. Далее создаем sdb3 на оставшихся 2 GB. А также 8GB расширенного диска разбиваем на 2 логических по 4 GB каждый. Все операции одинаковые. В после создания последнего раздела выбираем опцию w. Которая записывает все изменения.

В итоге

Прежде чем использовать эти разделы их необходимо отформатировать.

Если посмотреть на вывод команды, мы можем увидеть еще одно интересное поле с информацией Id — это метка этого раздела. Необходимо разобраться, как эти id менять. Используем опять утилиту fdisk /dev/sdb. Далее используем ключ t. Утилита предлагает выбрать номер раздела. Выбираем 1. Затем необходимо ввести id в шестнадцатеричном формате, список всех вариаций и их описание можно вывести командой L.

Можно заметить, что везде стоял по умолчанию 83 т.е. linux, мы можем изменить на любую метку, например, на 86 NTFS — windows раздел. 3 раздел пометим а5. Записываем изменения w. И можно все изменения увидеть через fdisk -l. Далее, чтобы пользоваться этими разделами, нам сначала их надо отформатировать. Чтобы это сделать используем утилиту mkfs. Набираем mkfs.ext4 , после точки указываем целевую , будет переформатирован раздел , а через пробел собственно сам раздел. Например mkfs.ext4 /dev/sdb5.

Теперь немного, о разделе подкачки swap.

Для работы с ним используется swapon и swapoff. Через первую команду мы можем включать раздел подкачки, добавлять разделы подкачки, а через вторую команду выключать. Так же есть утилита mkswap — которая позволяет создавать т.е. форматировать раздел, как раздел подкачки. А также у нас есть конфигурационный файл, расположенный в следующем месте /etc/fstab, в данном конфигурационном файле описывается монтирование файловых систем. Соответственно можно примонтировать разделы в ручном режиме, но если мы хотим, чтобы при загрузке разделы сами монтировались, то необходимо конфигурировать файл /etc/fstab/

Командой swapon -s, мы можем посмотреть информацию по своп разделу.

Чтобы добавить новый своп раздел, то нам необходимо через команду fdisk создать новый раздел и указать , что он именно своповский раздел, потом его необходимо отфарматировать и примонтировать раздел.

Командой cat /etc/fstab мы можем посмотреть, какие разделы монтируются при загрузке. Выглядит это примерно так:

Мы видим, что вот этот раздел с uuid 50cee6ca-cbd2-454b-a835-2614bf2e9d5d монтируется в корень, знак «/» об этом говорит и имеет файловую систему ext4. Uuid смотрим с помощью команды blkid. Раздел подкачки, как и файл подкачки — это место на диске, которое используется, как RAM. Если у нас не хватает оперативной памяти, то компьютер может пользоваться этим разделом, как оперативной памятью.

Создадим новую директорию командой mkdir mounted и смонтируем туда раздел. Например, /dev/sdb5. Используем команду mount /dev/sdb5 /mounted. Чтобы отмонтировать используем команду umount /mounted.

LVM — это система управления томами для Linux.

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

  1. Мы можем в одну группу Logical Volume можем добавить разное количество физических дисков.
  2. Мы можем менять размеры этих разделов прям во время работы операционной системы.

В данном случае на картинке есть, 3 HDD, на каждом есть определенное количество разделов. И мы можем из них собрать группу томов vg1. Которая будет видеть свои разделы, как физические тома, те объединяются в группу томов, а внутри этой группы мы можем создавать логические тома, вообще не указывая где они находятся, и они сами распределяются между дисками. Соответственно на каждом логическом томе будет какая-то файловая система.

Чтобы посмотреть физические тома пользуемся командой pvdisplay. Посмотреть volume group, команда vgdisplay. Посмотреть логические тома lvdisplay.

Удаляем, через fdisk все разделы на жестком диске /dev/sdb. Создаем 2 раздела по 4 ГБ основных с типом 8e, т.е. LVM тип. Создадим физический том командой pvcreate /dev/sdb1, аналогично делаем для второго раздела.

Далее необходимо создать виртуальную группу vgcreate vg1 /dev/sdb1 /dev/sdb2, т.е. оба раздела. В группе можем создать пару логических томов командой lvcreate -n lv1 -L 2G vg1, где -n новый раздел, -L — объем и последний параметр в какой виртуальной группе. И можно создать второй lvcreate -n lv2 -L 3G vg1. Появились новые блочные устройства lv1 и lv2. Осталось их отформатировать. Команда mkfs.ext4 /dev/vg2/lv1 и аналогично второй. Данная группа позволяет легко добавлять и удалять HDD. Возможно добавление нового жесткого диска и на увеличение размера наших томов. Чтобы изменить размер команда lvresize -L 4G vg1/lv2. Система LVM позволяет делать снимки состояний, т.е. снапшоты. Они используются для систем резервного копирования, например.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Оцените статью