Parted

МОНТИРОВАНИЕ ДИСКОВ В LINUX

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

$ mount файл_устройства папка_назначения

Или расширенный вариант:

$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения

Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.

Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:

  • -V — вывести версию утилиты;
  • -h — вывести справку;
  • -v — подробный режим;
  • -a, —all — примонтировать все устройства, описанные в fstab;
  • -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
  • -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
  • -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
  • -l, —show-labels — добавить метку диска к точке монтирования;
  • -c — использовать только абсолютные пути;
  • -r, —read-only — монтировать раздел только для чтения;
  • -w, —rw — монтировать для чтения и записи;
  • -L, —label — монтировать раздел по метке;
  • -U, —uuid — монтировать раздел по UUID;
  • -T, —fstab — использовать альтернативный fstab;
  • -B, —bind — монтировать локальную папку;
  • -R, —rbind — перемонтировать локальную папку.

Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.

Что такое монтирование?

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

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

Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.

Изменяем владельца диска

По умолчанию в Ubuntu диск у меня монтируется под группой root и пользователем root (суперпользователь является владельцем диска) и что-то записать или создать на нем под обычным пользователем нельзя. По хорошему нужно сделать запись в файле fstab для каждого диска, чтобы они автоматически монтировались в нужные директории, но об этом я расскажу в одной из следующих статей, а здесь дам ссылку. Сейчас мы просто изменим владельца диска (пользователя и группу), чтобы диски монтировались под вашим пользователем. Выполните в терминале команды (вместо yuriy укажите ваше имя пользователя):

Теперь эти диски всегда будут монтироваться под пользователем yuriy.

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

Шаг 6: Установите размер корневого раздела Ubuntu

Операционную систему Ubuntu можно разделить на несколько отдельных разделов (по умолчанию все ОС находятся в одном разделе). Многие продвинутые администраторы серверов Linux предпочитают устанавливать ОС на несколько разделов. Это позволяет легче обслуживать и ремонтировать. В этом базовом руководстве по разделу Ubuntu Server я не собираюсь сходить с ума от разбиения. Тем не менее, я рекомендую установить Ubuntu Server в 2 отдельных раздела: один для root (/), а другой для домашнего (/ home).

Во-первых, давайте создадим корневой раздел. Введите размер корневого раздела. Я рекомендую не менее 10 ГБ для сервера без монитора и 15 ГБ для сервера со средой рабочего стола.

6. Установите размер корневого раздела Ubuntu

Для обычного домашнего сервера Ubuntu нет необходимости иметь более 20 или 25 ГБ для корневого (/) раздела.

Добавление нового диска, разметка, создание разделов в Linux

Обычно для работы с дисками я использую утилиту fdisk. Но так как она позволяет создавать разделы максимального размера в 2ТБ, в данной инструкции мы будем использовать утилиту parted.

Parted – свободный редактор дисковых разделов, предназначенный для создания и удаления разделов. Также parted может использовать для копирования разделов между дисками.

По умолчанию parted уже установлен в CentOS Linux. Если у вас его по каким-то причинам нет, вы можете установить его с помощью команды пакетного менеджера:

для CentOS 8

для CentOS 7

После подключения физического или виртуального диска к серверу, нужно проверить, определился ли он:

Этак команда выведет информацию о дисках в системе.

В моем случае это диск /dev/sda размером 5.5 Тб. Также вы можете вывести список дисков с помощью команды lsblk:

Теперь нужно выбрать новый диск в контексте утилиты parted:

В контексте parted выполните команду print, чтобы вывести информацию о диске и его разделах (если они имеются):

Если дисков несколько, можно переключать между ними в оболочке parted, используя команду select:

Нажмите Enter и укажите название диска.

Прежде чем создать разделы, нужно создать таблицу разделов для диска. Мы будем использовать таблицу разделов GPT:

Система предупредит, что все данные на диске будут уничтожены. Подтвердите это.

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

Укажите имя раздела, файловую систему, первый и последний сектор раздела (в Мб). Так как у нас нет ни одного раздела, мы начинаем с 1 и заканчиваем 300000. Таким образом будет создан новый раздел размером 300 Гб:

Раздел создан, можно вывести информацию о нем с помощью команды print.

Мы создали раздел test, размером 300Гб и файловой системой ext4. Чтобы выйти с оболочки parted, наберите quit.

Несмотря на то, что при создании раздела мы выбрали файловую систему ext4, нужно отформатировать раздел, чтобы он определялся как полноценный раздел диска с UUID:

mke2fs 1.45.6 (20-Mar-2020)Creating filesystem with 73241856 4k blocks and 18317312 inodesFilesystem UUID: 3f5e32ac-ba1a-4167-8b06-c8ee35bf8071Superblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000, 7962624, 11239424, 20480000, 23887872, 71663616Allocating group tables: doneWriting inode tables: doneCreating journal (262144 blocks): doneWriting superblocks and filesystem accounting information: done

Если раздел не форматировать, ваш раздел будет определяться так:

/dev/sda1: PARTLABEL=»test» PARTUUID=»e9ca380f-a56d-4e8c-89e8-276118b04c07″

У него не будет иметь UUID с помощью которого мы в дальнейшем будем монтировать данный раздел.

Удалить созданный раздел вы можете с помощью команды rm. Войдите в оболочку parted нужного диска:

И удалите нужный раздел:

В моем случае раздел был один (если у вас их несколько, укажите нужный).

Сколько разделов?

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

Учитывая это, мы рекомендуем вам (если у вас нет причин для того,
чтобы сделать иначе) создать по меньшей мере следующие разделы:

  • Раздел swap — Swap разделы используются, чтобы поддерживать виртуальную память.
    Другими словами, данные записываются в swap, когда не хватает оперативной памяти
    RAM, чтобы вместить данные, подлежащие обработке. Вы должны создать swap-раздел для правильной работы Red Hat Linux. Минимальный размер
    swap-раздела должен в два раза превышать размер оперативной памяти, установленной
    на вашем компьютере, или быть размером в 32 MB, в зависимости от того, что из
    указанного больше.

  • /boot
    — раздел, подмотированный к
    /boot содержит ядро операционной системы (которое позволяет вам загрузить Red Hat Linux),
    а также несколько других файлов, используемых в процессе начальной загрузки.

    Предостережение
     

    Убедитесь, что вы читали — иформация в нем касается /boot раздела!

    Из-за ограничений, существующих в большинстве компьютерных BIOS, хорошо создать
    небольшой раздел для хранения указанных данных. Для большинства пользователей
    32 MB для раздела загрузки будет достаточно.

  • Раздел root
    ()
    — корневой раздел, где (каталог root, корневой) размещается. При описываемом размещении разделов,
    все файлы (за исключением хранящихся в разделе /boot) находятся в корневом разделе. Вследствие этого, в ваших интересах сделать
    раздел root максимально возможного размера. Раздел root размером 1.2 GB может позволить провести установку эквивалентную типу «Рабочая станция» (причем
    останется очень немного свободного места), тогда как размер раздела root 3.4 GB
    может позволить установить все возможные пакеты. Очевидно, что чем больше места вы
    выделите для корневого раздела, тем лучше.

Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:

Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый:

Введите его размер.

Если нужно, поменяйте тип раздела:

Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.

Монтирование что это?

Монтирование — это подключение диска, раздела, каталога или файла в корневую систему Linux.

Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.

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

Как узнать имена дисков, как просмотреть все диски в системе

Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.

Чтобы посмотреть доступные диски, выполните команду:

Как видно из скриншота, имеется диск /dev/nvme0n1. Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2. По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1.

Также имеется диск /dev/sda, который не разделён ни на какие разделы — именно его я и буду подключать.

Управление таблицей разделов в parted, разметка диска

Выведем список доступных дисков:

# print

или из shell:

$sudo parted-l

Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.

Можно создать на диске разметку msdos (MBR)

# mklabel msdos

Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :

# mklabel gptОбратите внимаени, что в parted в отличии от fdisk нет команды для записи изменений. Все изменения применяются немедленно.

Теперь parted показывает тип таблицы разделов (разметки) на диске:

(parted)print

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags

1
2
3
4
5
6

ModelVirtio Block Device(virtblk)

Diskdevvdb21.0GB

Sector size(logicalphysical)512B512B

Partition Tablemsdos

Disk Flags

Number Start EndSize Type File system Flags

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

# select /dev/имядиска

Загрузчик grub2

Для большинства современных систем характерно использование grub2. Его мы и будем рассматривать. Но если в вашем случае используется сервер с grub первой версии, то мы можем обратиться к инструкции How to Migrate the Root Filesystem to a New Disk.

Открываем файл:

vi /etc/default/grub

Мы можем увидеть разные варианты строки, указывающей на загрузку системы.

а) В некоторых случаях это будет универсальная строка, которую не нужно менять, например:

GRUB_CMDLINE_LINUX=»crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet»

* в данной строке мы видим, что загрузчик будет искать том LVM centos/root. Так как после клонирования он не поменяется, то нам ничего не нужно редактировать.

б) В некоторых случаях строка может быть пустой:

GRUB_CMDLINE_LINUX=»»

* в данном примере также от нас не потребуется никаких действий.

в) В некоторых случаях указатель может вести на конкретные диски:

GRUB_CMDLINE_LINUX=»root=/dev/disk/by-id/<partition/disk name> resume=/dev/disk/by-id/<partition/disk name> splash=silent quiet showopts»

Тогда нам понадобиться изменить строки, чтобы диск соответствовал новому.

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

Стоит сделать тестовое отключение с целью проверки, какое имя станет у диска.

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

Если разделы, принадлежащие Red Hat Linux, будут находиться на
жестком диске наряду с разделами, используемыми другой операционной
системой, вы не будете испытывать никаких неудобств в большинстве случаев.
Однако, есть определенные сочетания Linux и других операционных систем,
которые являются исключением и требуют особого внимания. Информация о
созданиии дисковых разделов, совместимых с другой операционной системой,
есть в нескольких файлах HOWTO и Mini-HOWTO, на компакт-диске Red Hat
Linux с документацией в каталогах HOWTO и
HOWTO/mini. В особенности может оказаться полезным Mini-HOWTO, название которого
начинается с Linux+.

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

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

mount имя_устройства директория

После подключения точка монтирования становится корневой директорией смонтированной ФС. Например, смонтировать жесткий диск /dev/sdb1 в директорию /mnt/media можно следующим образом:

$ sudo mount /dev/sdb1 /mnt/media

Обычно при монтировании устройства с распространенной ФС, например, ext4 или xfs, команда mount автоматически определяет ее тип. Однако, некоторые ФС не распознаются. Их тип нужно указывать в явном виде. Для этого используется опция -t:

mount -t тип имя_устройства директория

Чтобы указать дополнительные опции монтирования, используется флаг -o:

mount -o опции_монтирования имя_устройства директория

Можно указать несколько опций, разделенных запятыми (после запятых не должно быть пробелов). Ниже предоставлены основные опции команды

-V — вывести версию утилиты;-h — вывести справку;-v — подробный режим;-a, —all — примонтировать все устройства, описанные в fstab;-F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;-f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;-n, —no-mtab — не записывать данные о монтировании в /etc/mtab;-l, —show-labels — добавить метку диска к точке монтирования;-c — использовать только абсолютные пути;-r, —read-only — монтировать раздел только для чтения;-w, —rw — монтировать для чтения и записи;-L, —label — монтировать раздел по метке;-U, —uuid — монтировать раздел по UUID;-T, —fstab — использовать альтернативный fstab;-B, —bind — монтировать локальную папку;-R, —rbind — перемонтировать локальную папку.

Полный список опций можно получить, выполнив команду man mount.

Монтирование разделов с помощью mount

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

sudo mount /dev/sdb6 /mnt/

В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

sudo mount -v /dev/sdb6 /mnt/

Если нужно, вы можете указать файловую систему с помощью опции -t:

sudo mount -v -t ext4 /dev/sdb6 /mnt

Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:

sudo mount -t ext4 -r /dev/sdb6 /mnt$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt

Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:

sudo mount -t ext4 -o noexec /dev/sdb6 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT

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

sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt

Посмотреть uuid для ваших разделов можно с помощью команды:

Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:

sudo mount —label=»home» /mnt/

Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind

sudo mount —bind /mnt/ /media/

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

Форматирование флешки в Linux с помощью терминала

Форматировать флешку в терминале не очень сложно, но сначала вам нужно знать, как идентифицировать эту флешку в системе. Все устройства в Linux определяются в виде файлов в каталоге /dev и ваша флешка тоже.

Но если вы просто зайдете в этот каталог, вам будет сложно определить, какой из файлов отвечает за флешку, потому что все файлы для дисков выглядят похоже. Обычно имя начинается на sd, затем идёт ещё одна буква: a,b,c,d и далее, в зависимости от порядка подключения диска к системе. Дальше следует цифра номера раздела на флешке, обычно это 1, потому что на флешке, как правило, содержится только один раздел. Например /dev/sdb1 или /dev/sdc1.

Шаг 1. Определить имя флешки

Самый простой способ определить имя флешки в системе — это использовать утилиту fdisk, но такой вариант подойдет, только если вы знаете размер или метку флешки. Просто выполните команду:

Она выведет в терминал все подключённые устройства, в том числе и вашу флешку. Вам останется только найти её по размеру, который написан в колонке Размер или Size. В нашем примере флешка представлена файлом /dev/sdb1.

Также вы можете узнать имя файла флешки с помощью утилиты df, только для этого она должна быть смонтирована в файловую систему. Обычно графические окружения автоматически монтируют флешку при подключении, так что это не будет проблемой. Чтобы посмотреть, какие устройства подключены к каким папкам, выполните:

df -h

Теперь вы можете понять, что к папкам /mnt, /media, /run/media смонтирована именно флешка, также здесь указан размер в колонке доступно. Обычно этого вполне достаточно.

Шаг 2. Размонтирование флешки

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

Здесь /dev/sdb1 — имя флешки в файловой системе, которое мы узнали в предыдущем шаге.

Шаг 3. Форматирование

Дальше отформатировать флешку очень просто. Для этого используется утилита mkfs. Синтаксис команды очень прост:

$ sudo mkfs -t файловая_система устройство

В качестве файловой системы может использоваться любая поддерживаемая системой, например, ext4, ntfs, xfs, btrfs, vfat. Но для нормальной работы флешки в Windows рекомендуется использовать файловую систему vfat. С помощью опции -L можно задать метку раздела. Тогда команда будет выглядеть вот так:

Для файловой системы vfat опция -L не поддерживается, вместо неё нужно использовать -n:

После того, как форматирование флешки в Linux завершится, флешка будет готова к использованию.

Монтирование нового диска, добавление в fstab

После того как на диске создали раздел, можно смонтировать его. Создадим новую директорию на сервере:

Самвый простой способ примонтировать раздел к директории — через раздел:

Также раздел можно примонтировать через UUID раздела:

UUID раздела можно получить с помощью команды blkid:

Но раздел будет смонтирован только до перезагрузки сервера. При следующей загрузке раздел опять придется монтировать вручную. Для автомонтирования добавьте строку для нового раздела в файл /etc/fstab:

Сохраните файл и примонтируйте все разделы:

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

Проверим, что раздел доступен. Создадим в нем файл:

Мы создали файл с нулями размером 40Гб. С помощью следующей команды можно вывести занятое место на разделе:

Итак, мы рассмотрели, как подключить новый диск к Linux серверу, создать на нем разделы и смонтировать.

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

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

Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

Пояснение вывода команды «lsblk»

Колонка «NAME» показывает имена устройств. Они непостоянны и могут меняться в зависимости от того, какое устройство подключено первым, вторым и т. д. «sda», «sdb», «sdc» и так далее — это имена блочных устройств. А «sda1», «sda2» и далее — это номера разделов на конкретном устройстве. «MAJ:MIN» отображает мажорный и минорный номера устройства. «RM» указывает является ли диск съемным.

В колонке «SIZE», что очевидно из названия, указан полный объем каждого устройства. «RO» — здесь указываются устройства только для чтения. Например, DVD-приводы или Flash-накопители с защитой от записи. «TYPE» указывает на тип устройства — непосредственно диск или один из разделов. Как видно на снимке, блочные устройства «sda1», «sda2»… отмечены именно как разделы. В последней колонке — «MOUNTPOINT» — прописаны точки монтирования.

Команда «lsblk» способна на вывод информации большего объема, однако в настоящий момент нас интересует форматирование диска, и полученных сведений будет достаточно.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: