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

Программа parted (или, точнее, GNU parted, как подчеркивается в заголовке man-страницы) предлагается в рамках проекта GNU как универсальное средство для работы не только с дисковыми разделами, но и с файловыми системами. И действительно, она позволяет не только выполнить разметку диска, но и создать на разделах файловые системы, а также осуществляет проверку их целостности, удаление, перемещение, копирование и изменение размера разделов существующих.

Предисловие

Об этом руководстве

Добро пожаловать в «Системное администрирование», последнюю из четырех частей руководства, предназначенного для подготовки к экзамену “101 Linux Professional Institute’s”. В этой части, вы познакомитесь с такими навыками администрирования Linux, как файловые системы, процесс загрузки, уровни запуска, файловые квоты, а также системные журналы (логи).

Это руководство является особенно полезным для тех, кто хочет впервые попробовать себя в качестве системного администратора, так как тут описано много основных вопросов, которые должны знать системные администраторы. Если вы новичок в Linux, мы рекомендуем вам начать изучение с части 1. Для некоторых, большая часть этого материала будет новой, но и более опытные пользователи Linux могут найти в этом руководстве новое для себя, что может быть отличным способом обновления своих знаний по системному администрированию Linux и подготовке к следующему уровню сертификации LPI.

К концу этой серии учебных пособий (всего их восемь для экзаменов LPI 101 и 102), вы будете иметь знания, необходимые, чтобы стать администратором систем Linux и будете готовы для достижения первого уровня LPIC сертификации от “Linux Professional Institute” если вы того пожелаете.

Создаем GPT

Открываем наш диск утилитой parted:

parted /dev/sdb

Откроется интерактивное меню утилиты — нажимаем p:

(parted) p

На экран будет выведена информация о разделах. Если они есть, удаляем командой rm:

(parted) rm 1

* где 1 — номер раздела. Команду нужно повторить для всех разделов. Их список мы смотрели на предыдущем шаге командой p. * если на разделе есть важная информация, ее нужно скопировать на другой носитель.

Читайте также:  Windows Server 2012 R2 групповая политика

Создаем разметку GPT:

(parted) mklabel gpt

И создаем новый раздел:

(parted) mkpart primary 0 0

* где primary указывает, что раздел является основным; и — использовать весь диск для создания раздела, но можно использовать часть диска, например, 0 2048GB.

Выходим из parted:

(parted) q

И форматируем диск:

/dev/sdb

* где в качестве файловой системы выбрана ext4.

Для проверки, монтируем отформатированный диск в директорию /mnt:

mount /dev/sdb /mnt

И выводим список дисков:

df -h

Если есть необходимость монтировать диск при загрузке системы, прочитайте статью Автоматическое монтирование дисков в Linux

Создание раздела диска в Linux

В этом разделе мы объясним, как разбить диск в Linux с помощью команды parted.

Первым шагом является просмотр таблицы разделов или разметки на всех блочных устройствах. Это поможет вам определить устройство, которое вы хотите разбить на разделы. Вы можете сделать это с помощью команды parted или fdisk. Мы будем использовать первую, как показано ниже, где флаг -l означает вывод списка разделов для всех блочных устройств.

# parted -l

В результате выполнения вышеприведенной команды мы видим, что в тестовой системе подключены два жестких диска, первый — /dev/sda, а второй — /dev/sdb.

В нашем случае мы хотим создать раздел жесткого диска /dev/sdb. Чтобы работать с разделами диска, откройте жесткий диск, чтобы начать на нем работать, как показано ниже.

# parted /dev/sdb

В приглашении parted создайте таблицу разделов, выполнив mklabel msdos или gpt, затем введите Y/es, чтобы принять ее.

(parted) mklabel msdos

Важно: Убедитесь, что в команде указано правильное устройство для раздела. Если вы запустите команду parted без имени устройства раздела, он будет случайным образом выбирать устройство хранения для изменения.

Затем создайте новый основной раздел на жестком диске и выведите таблицу разделов, как показано ниже.

(parted) mkpart primary ext4 0 10024MB (parted) print

Вы можете создать еще один раздел для расширенного пространства, как показано ниже.

(parted) mkpart primary ext4 (parted) print

Чтобы выйти, введите команду quit, и все изменения будут автоматически сохранены.

Далее, создайте файловую систему в каждом разделе, вы можете использовать для этого утилиту mkfs (замените ext4 на тип файловой системы, который вы хотите использовать).

# /dev/sdb1# /dev/sdb2

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

# mkdir -p /mnt/sdb1# mkdir -p /mnt/sdb2# mount -t auto /dev/sdb1 /mnt/sdb1# mount -t auto /dev/sdb2 /mnt/sdb2

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

# df -hT

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

На этом все! В этой статье мы показали, как разметить диск, создать файловую систему на разделе и смонтировать его в системах Linux.

Монтирование HDD через терминал на Ubuntu/Debian

Ручное монтирование дисков через терминал

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

Читайте также:  Учетная запись пользователя заблокирована, что делать?

sudo mount /dev/sdb1 /home/Music

Директория /home/Music должна существовать.

Монтирование директорий

Если при монтировании директорий терминал выдает следующее

mount: /home/Music: /home/old/Music is not a block device.

Значит Вы пытаетесь примонтировать одну директорию в другую. Для исправления данной ошибки наберите следующую команду используя опцию —bind:

sudo mount —bind /home/old/Music /home/Music

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

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

sudo mount ~/ /home/user/iso

Автоматическое монтирование диска при загрузке системы

Для автоматического монтирования разделов диска воспользуемся файлом fstab. Также вам необходимо знать UUID вашего диска.

sudo nano /etc/fstab

и редактируем в соответствии с моим листингом:

…. UUID=Ваш_UUID_диска /home/Music ext4 defaults 0 0

  • Ваш_UUID_диска — смотрим командой в начале статьи

Чтобы неперезагружать систему набираем команду:

sudo mount -a

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

Монтирование и размонтирование дисков

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

Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.

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

sudo mount /dev/имя_раздела /точка/монтирования/

Допустим, я хочу, чтобы новый диск был подключён (смонтирован) к папке /mnt/disk_d. Название можно выбрать любое и точка монтирования необязательно должна быть в директории /mnt/ — можно сделать в домашней папке или в любой другой.

Читайте также:  Выбираем среду разработки на PowerShell и пишем скрипты для Windows

Начинаем с создания директории, в которую будет смонтирован диск:

sudo mkdir /mnt/disk_d

Монтируем:

sudo mount /dev/sda /mnt/disk_d

Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:

sudo chmod 0777 /mnt/disk_d

На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.

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

sudo umount /dev/имя_раздела

Или:

sudo umount /точка/монтирования/

Проверка диска на ошибки и bad blocks

С выходом файловых систем ext4 и xfs я практически забыл, что такое проверка диска на ошибки. Сейчас прикинул и ни разу не вспомнил, чтобы у меня были проблемы с файловой системой. Раньше с ext3 или ufs на freebsd проверка диска на ошибки было обычным делом после аварийного выключения или еще каких бед с сервером. Ext4 и xfs в этом плане очень надежны.

В основном ошибки с диском вызваны проблемами с железом. Как посмотреть параметры smart я уже показал выше. Но если у вас все же появились какие-то проблемы с файловой системой, то решить их можно с помощью fsck (File System Check). Обычно она входит в базовый состав системы. Запустить проверку можно либо указав непосредственно раздел или диск, либо точку монтирования. Раздел при этом должен быть отмонтирован.

# umount /dev/sdb1 # fsck /dev/sdb1 fsck from util-linux e2fsck (15-Dec-2018) /dev/sdb1: clean, 11/1310720 files, 109927/5242619 blocks

Проверка завершена, ошибок у меня не обнаружено. Так же у fsck есть необычная опция, которая не указана в документации или man. Запустив fsck с ключем -c можно проверить диск на наличие бэд блоков.

Проверка диска на ошибки и bad blocks

# fsck -c /dev/sdb1

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

# fsck -c /dev/sdb1 > # e2fsck -l /dev/sdb1

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