Перейти к основному контенту

4. Практика. Диски

Задание 0. Построение стенда

Схема виртуального лабораторного стенда

Рисунок 1. Схема стенда

  1. Создать виртуальные машины для работы
Название виртуальной машины Источник Тип инстанса Сети для внешнего подключения
Test-server Образ-Ubuntu-server20.04 small external-net

Диск VDA создается при создании VM

Диск VDB 8GB

Так же нужно проверить развернутую инфраструктуру на соответствие схеме на рисунке 1.

Задание 1. Создание разделов с использованием fdisk на MBR.

Необходимо сделать на диске следующую разметку:

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

sudo fdisk /dev/vdb
  1. Создать разметку DOS (MBR), с помощью команды o.
  2. Создать primary раздел. Нажать n, для создания нового раздела. Нажать p, указывая, что нужен именно primary. Номер раздела выбрать - 1 (можно ничего не выбирать, так как этот номер раздела используется по умолчанию). Утилита fdisk автоматически рассчитывает свободный сектор, с которого можно начать создание раздела. Для первого сектора первого раздела это будет сектор 2048 (можно ничего не выбирать, а просто нажать enter так как этот номер раздела используется по умолчанию. Для всех последующих разделов fdisk будет сам вычислять первый незанятый сектор, и предлагать его по умолчанию). При указании последнего сектора необходимо указать +1G (утилита fdisk автоматически рассчитает нужное количество секторов). В итоге должен получиться primary раздел на 1 ГБ. Проверить, что раздел добавлен в таблицу разделов, с помощью команды p.
  3. Создать ещё один раздел на 5 ГБ, но с типом extended. Сделать всё то же самое как в пункте 2, но выбрать вместо primary, extended, набрав e, и последний сектор указать +5G от первого рекомендуемого.
  4. Создать два логических раздела по 1 ГБ и один на 2 ГБ (логические тома могут быть созданы только при наличии extended раздела, и размещаются “внутри” extended раздела). Для этого выбрать тип раздела - logical, нажав l.
  5. Создать еще один primary раздел на 1 ГБ.
  6. Проверить получившуюся таблицу разделов, с помощью p. Если всё было сделано правильно, должен получиться следующий результат:

fdiskmbr.png

  1. После этого, необходимо записать эту таблицу на диск, нажав w. После выполнения этой команда утилита fdisk завершит работу и вернет вас в оболочку пользователя.

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

lsblk

В результате на диске vdb должно отображаться 6 новых разделов.

Задание 2. Создание файловой системы.

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

  1. На vdb1 ext4.
  2. На vdb3 - xfs.
  3. На vdb5 - btrfs.

Делается это так:

sudo mkfs.ext4 /dev/vdb1
sudo mkfs.xfs /dev/vdb3
sudo mkfs.btrfs /dev/vdb5

Проверить, что файловые системы были созданы.

sudo lsblk -f

Теперь, в каталоге пользователя, создать каталог media.

mkdir ~/media

Примонтировать раздел.

sudo mount /dev/vdb5 /home/labuser/media/

После этого можно размещать файлы в каталоге /home/labuser/media/ и они будут размещаться на диске vdb. Проверить куда и какие разделы примонтированы можно с помощью команды sudo mount без аргументов.

Для выполнения дальнейших этапов работы необходимо отмонтировать данный раздел:

sudo umount /dev/vdb5

Задание 3. Создание разделов с использованием fdisk на GPT.

Запустить fdisk в интерактивном режиме, в качестве аргумента передавая путь к блочному устройству.

sudo fdisk /dev/vdb
  1. Выбрать таблицу разметки GPT. Делается это, нажав g.
  2. Создать 3 раздела, согласно схеме. Сделать это с помощью команды n, как и в случае с MBR.

Задание 4. Работа с LVM.

В этом задании используется разметка из задания 3. Для выполнения этого задания потребуется пакет lvm2. Установить его можно с помощью yum.

sudo apt install lvm2

Сначала необходимо изменить системный id раздела. Он влияет на то, какая метка файловой системы будет отображаться в fdisk в столбце Type. Запустить fdisk в интерактивном режиме, в качестве аргумента передавая путь к блочному устройству.

sudo fdisk /dev/vdb
  1. Необходимо изменить тип раздела всем разделам. Нажав t, выбрать номер раздела, метку которого нужно поменять. Далее необходимо нажать L, чтобы просмотреть все доступные метки. Нужно найти Linux LVM (поиск в текстовой консоли может быть затруднен из-за длинного списка. Пролистать список вверх можно с помощью клавиш shift + PgUp, либо просто ввести значение метки - 31). Набрать id, под которым стоит нужная метка.
  2. Проделать эту операцию со всеми разделами на диске.
  3. Необходимо проверить введенные значения, а после записать их, нажав w.
  4. Необходимо сделать все три раздела физическими томами (В процессе будет сообщение, что файловая система на томе будет уничтожена. Нужно согласиться, набрав y).
sudo pvcreate /dev/vdb1
sudo pvcreate /dev/vdb2
sudo pvcreate /dev/vdb3

Проверить успешность можно с помощью команды sudo pvdisplay. Эта команда должна вывести список всех PV(физических устройств), на которых могут быть размещены тома LVM.

  1. На этих физических томах создать группу томов, и задать ей имя. Имя можно выбрать любое, например vg1:
sudo vgcreate vg1 /dev/vdb1 /dev/vdb2 /dev/vdb3

Проверить с помощью sudo vgdisplay. В результате должна отобразиться 1 VG (группа томов), в данном случае vg1. 6. Теперь в группе томов можно создать логические тома lv1 и lv2 размером 1 ГБ и 2 ГБ соответственно.

sudo lvcreate -n lv1 -L 1G vg1
sudo lvcreate -n lv2 -L 2G vg1

Проверить с помощью sudo lvdisplay. В результате должны отобразиться 2 LV (логических тома) lv1 и lv2.

  1. Теперь в системе появились блочные устройства /dev/vg1/lv1 и /dev/vg1/lv2. Осталось создать на них файловую систему. Тут различий с обычными разделами нет.
sudo mkfs.ext4 /dev/vg1/lv1
sudo mkfs.ext4 /dev/vg1/lv2
  1. Удаление физических томов. Удалить из группы том /dev/vdb1. Чтобы убрать из работающей группы томов раздел, сначала необходимо перенести все данные с него на другие разделы:
sudo pvmove /dev/vdb1

Затем удалить его из группы томов:

sudo vgreduce vg1 /dev/vdb1

И, наконец, удалить физический том:

sudo pvremove /dev/vdb1

Последняя команда просто убирает отметку о том, что диск является членом lvm, и не удаляет ни данные на разделе, ни сам раздел. После удаления физического тома из LVM для дальнейшего использования диск придётся переразбивать/переформатировать.

  1. Добавление физических томов. Необходимо расширить VG, добавив к нему том /dev/vdb1. Чтобы добавить новый том в группу томов, создать физический том:
sudo pvcreate /dev/vdb1

Добавить его в группу:

sudo vgextend vg1 /dev/vdb1

Теперь можно создать ещё один логический диск (lvcreate) или увеличить размер существующего (lvresize).

  1. Изменение размеров LVM позволяет легко изменять размер логических томов. Для этого нужно сначала изменить сам логический том:
sudo lvresize -L 3G vg1/lv2

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

sudo resize2fs /dev/vg1/lv2

Задание 5. Монтирование разделов.

Удалить существующие логические LVM разделы, и создать новый.

sudo lvremove /dev/vg1/lv1
sudo lvremove /dev/vg1/lv2

sudo lvcreate -n media -L 6G vg1
sudo mkfs.ext4 /dev/vg1/media

Далее необходимо примонтировать раздел.

sudo mount /dev/vg1/media /home/labuser/media/

Записать тестовый файл test.

echo "string" | sudo tee ~/media/test

Если проблемы с доступом к записи, сменить владельца каталога. После выполнить команду заново.

sudo chown labuser:labuser /home/labuser/media/*

Отмонтировать раздел.

sudo umount /home/labuser/media/

Зайти внутрь созданного каталога, и удостовериться, что файла test там нет. Он остался на разделе. Чтобы после перезагрузки не монтировать раздел заново, нужно добавить автомонтирование в конфигурационный файл /etc/fstab (удалять из этого файла ничего нельзя! В случае ошибки в конфигурационном файле операционная система не загрузится, делать очень внимательно!). Для начало необходимо сохранить резервную копию конфигурационного файла:

sudo cp /etc/fstab /etc/fstab.old

Далее необходимо открыть его, чтобы изменить содержимое:

sudo vi /etc/fstab

Добавить туда следующую строку и сохранить.

/dev/vg1/media    /home/labuser/media    ext4    defaults    0    0

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

sudo cat /etc/fstab

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

sudo cp /etc/fstab.old /etc/fstab

Перезагрузить систему с помощью команды reboot. После загрузки зайти в каталог ~/media, требуется увидеть файл test.

Задание 6. Самостоятельная работа

  1. Создать и добавить диск на 4gb.
  2. Разметить на диске 5 разделов по 513mb
  3. Создать файловые системы на разделах: ext2, ext4, xfs, btrfs, ntfs.
  4. В директории /opt создать, 5 директорий(по названию фс) и смонтировать туда разделы
  5. Добавить автоматическое монтирование новых разделов