• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
  • ONLINE CHAT
+380 (44) 364 05 71

Статья также доступна на украинском (перейти к просмотру).

Управление файловым хранилищем в Linux

Оглавление

Операционная система Linux предоставляет широкие возможности для работы с различными типами файловых хранилищ, каждое из которых может иметь свою файловую систему. Для возможности управления такими хранилищами существует набор соответствующих команд/утилит, которые могут применяться Администратором в зависимости от ситуации. Рассмотрим основные программы и продемонстрируем работу с ними на конкретных примерах.

Типы устройств в ОС Linux

Можно выделить две основные категории устройств, с которыми мы имеем дело, работая с Linux. Это блочные и псевдоустройства, или временные. Блочные устройства представляют собой различные типы физических дисковых накопителей, которые обеспечивают запись и хранение информации в виде блоков. Это, например, HDD, SSD-накопители и другие. Такие накопители энергонезависимы, поскольку при выключении питания информация на них хранится и никуда не исчезает. В терминах Linux-подобных систем они могут обозначаться, в частности, как /dev/vda или /dev/sda в зависимости от типа устройства. В любом случае метка /dev является признаком устройства любого типа

Псевдоустройства обычно создаются для временного хранения информации и являются энергозависимыми. Наиболее распространенное обозначение для них tmpfs или devtmpfs.

Каждое из физических устройств должно иметь хотя бы один раздел, названия которых чаще всего обозначаются как /dev/hd* или /dev/sd*. Но маркер раздела можно установить практически любой с помощью соответствующей команды, что будет показано ниже. Это, кстати, иногда может быть очень полезным, поскольку если раздел монтируется временно при загрузке ОС, то может подключиться не тот раздел, который нужен. Поэтому желательно названия разделов устанавливать постоянными, например disk_one и тому подобные названия.

Утилиты для работы с устройствами Linux можно разделить следующим образом: утилиты для создания разделов и их форматирование; утилиты для отображения информации по всем или выбранным устройствам; утилиты для монтирования файловых систем в определенные точки (каталоги). Рассмотрим работу с командами каждой группы утилит.

Создание и форматирование разделов дисков

Для начала обновим установленные в ОС Linux пакеты программного обеспечения. Это можно сделать с помощью следующих команд:

$ sudo apt update

Эта команда используется для синхронизации индекса пакетов репозитория.

Проверка обновлений паеетов.

$ sudo apt upgrade

Команда выполняет непосредственное обновление пакетов.

Обновление пакетов.

После подтверждения согласия на выделение 2890 kB начинается процесс обновления пакетов, показанный ниже.

Процесс обновления пакетов.

Процесс обновления пакетов.

Завершающее окно выхода команды выглядит следующим образом:

Завершающее окно

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

$ sudo apt install parted

Установка утилиты parted

Можем убедиться, что утилита уже присутствует в нашей ОС и потому не нуждается в установке. То есть можно начинать работу с ней.

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

$ sudo parted -l | grep Error

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

Опеределения новых устройств. Устройства не найдены.

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

$ lsblk

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

Просмотр наличия блочных устройств.

Для демонстрации работы утилиты Parted установим для устройства /dev/vda один раздел вместо имеющихся двух. Для этого введем в терминале:

$ sudo parted /dev/vda mklabel gpt

В команде использован параметр gpt, служащий для обозначения стандарта разбиения диска. Наиболее распространены GPT и устаревший MBR. Ниже приведен процесс обработки диска в соответствии с указанными в команде параметрами.

Процесс обработки диска.

Процесс обработки диска.

Процесс обработки диска

Процесс обработки диска.

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

$ sudo parted -a opt /dev/vda mkpart primary ext4 0% 100%

Эта команда создаст загрузочный раздел с файловой системой ext4. Параметры 0% 100% указывают на размер создаваемого раздела. В этом случае это весь диск.

Процесс создания загрузочного диска.

Процесс создания загрузочного диска.

Процесс создания загрузочного диска.

Процесс создания загрузочного диска.

Для просмотра созданного раздела введем в терминале:

$ lsblk

Просмотр созданного раздела

Теперь диск имеет раздел /dev/vda2 и мы можем инициализировать его как файловую систему, например Ext4, как более гибкую и распространенную. Для этого используем следующую команду:

$ sudo mkfs.ext4 -L datapartition /dev/vda2

Инициализация раздела как файловую систему ext4

Процесс завершен. Как уже отмечалось выше, мы можем изменить маркер раздела. Для этого используем следующую команду:

$ sudo e2label /dev/vda2 disk77

Изменение маркера раздела.

Теперь просмотрим характеристики диска с использованием параметра --fs. Введем в терминале:

$ sudo lsblk --fs

просмотр характеристик диска.

Можно убедиться, что все внесенные нами настройки действуют. Также для просмотра нужных характеристик раздела можно воспользоваться другой формой команды lsblk:

$ sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Просмотр определенных характеристик сервера.

Здесь мы использовали параметр -o и названия нужных параметров раздела.

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

Стандартом рекомендуется для монтирования файловых систем использовать каталог /mnt или его подкаталоги. Создадим каталог. Введем в терминале:

$ sudo mkdir -p /mnt/newdata

Создание каталога /mnt

Временная монтировка

Для осуществления временной монтировки используем команду mount с соответствующими параметрами:

$ sudo mount -o defaults /dev/vda2 /mnt/newdata

Проверим сработала ли команда:

Проверка что новый каталог смонтирован.

Как можно убедиться, команда сработала. Таким образом, точка временной монтировки файловой системы создана.

Команда mount имеет большое количество опций, позволяющих устанавливать дополнительные характеристики точки монтирования. В частности, такие опции, как noexec и nosuid, позволяют запретить выполнение и создание бинарных файлов соответственно.

Автоматическая монтировка

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

$ sudo nano /etc/fstab

вызов редактора nano для файла fstab

ВІнесение изменений в файл fstab

В открывшемся окне редактора в конец файла добавим значение параметра UUID, в котором впишем нужные нам настройки. В частности, это идентификатор раздела, полученный нами ранее посредством команды lsblk с параметром –о; каталог монтирования; тип файловой системы Параметр defaults указывает, что этот том должен быть смонтирован с параметрами по умолчанию, то есть с поддержкой записи и чтения. Параметр "0 2" указывает, что файловая система должна проверяться на ошибки сразу после корневого тома.

Для сохранения изменений нажмем клавиши ctrl+o и выйдем из редактора (ctrl+х). Таким образом мы произвели настройку автоматической монтировки файловой системы указанного раздела при каждой загрузке сервера.

Конечно, можно было сделать то же, указав не значение параметра UUID для идентификации раздела, а значение маркера LABEL. В таком случае запись в файле /etc/fstab выглядела бы следующим образом:

LABEL=disk77 /mnt/newdata ext4 defaults 0 2

Результат будет таким же, что и с параметром UUID.

Размонтирование файловой системы

Для размонтирования файловой системы существует команда umount. Формат команды предусматривает указание на точку монтирования смонтированной в настоящее время файловой системы. К примеру, для размонтирования нашей файловой системы введем в терминале:

$ sudo umount /mnt/newdata

Размонтирование файловой системы.

Для проверки используем соответствующую команду в терминале:

$ lsblk

Проверка что фс размонтирована.

Можно убедиться, что команда работает.

Для учебы и работы отлично подходят виртуальные сервера FREEhost.UA. Создание сервера занимает всего несколько минут, большой список подготовленного ПО на выбор. Размещение на двух локациях — Украина и Польша.

Подписывайтесь на наш телеграмм-канал https://t.me/freehostua, чтобы быть в курсе новых полезных материалов. Смотрите наш канал Youtube на https://www.youtube.com/freehostua.
Мы в чем ошиблись, или что-то пропустили?
Напишите Об этом в комментариях, мы с удовольствием ответим и обсуждаем Ваши замечания и предложения.

 

Дата: 20.10.2022
Автор: Евгений
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
navigate
go
exit
Спасибо, что выбираете FREEhost.UA