Работа с дисковой подсистемой Linux
Задание 0. Построение стенда
Схема виртуального лабораторного стенда
Рисунок 1. Схема стенда
- Создать виртуальные машины для работы
Название виртуальной машины | Источник | Тип инстанса | Сети для внешнего подключения |
---|---|---|---|
Test-server | Образ-Ubuntu-server20.04 | small | external-net |
Диск VDA создается при создании VM
Диск VDB 8GB
Так же нужно проверить развернутую инфраструктуру на соответствие схеме на рисунке 1.
Задание 1. Создание разделов с использованием fdisk на MBR.
Необходимо сделать на диске следующую разметку:
Для этого запустить fdisk в интерактивном режиме, в качестве аргумента передавая путь к блочному устройству.
sudo fdisk /dev/vdb
- Создать разметку DOS (MBR), с помощью команды
o
. - Создать primary раздел. Нажать
n
, для создания нового раздела. Нажатьp
, указывая, что нужен именно primary. Номер раздела выбрать -1
(можно ничего не выбирать, так как этот номер раздела используется по умолчанию). Утилита fdisk автоматически рассчитывает свободный сектор, с которого можно начать создание раздела. Для первого сектора первого раздела это будет сектор 2048 (можно ничего не выбирать, а просто нажатьenter
так как этот номер раздела используется по умолчанию. Для всех последующих разделовfdisk
будет сам вычислять первый незанятый сектор, и предлагать его по умолчанию). При указании последнего сектора необходимо указать+1G
(утилитаfdisk
автоматически рассчитает нужное количество секторов). В итоге должен получиться primary раздел на 1 ГБ. Проверить, что раздел добавлен в таблицу разделов, с помощью командыp
. - Создать ещё один раздел на 5 ГБ, но с типом extended. Сделать всё то же самое как в пункте 2, но выбрать вместо primary, extended, набрав
e
, и последний сектор указать+5G
от первого рекомендуемого. - Создать два логических раздела по 1 ГБ и один на 2 ГБ (логические тома могут быть созданы только при наличии extended раздела, и размещаются “внутри” extended раздела). Для этого выбрать тип раздела - logical, нажав
l
. - Создать еще один primary раздел на 1 ГБ.
- Проверить получившуюся таблицу разделов, с помощью
p
. Если всё было сделано правильно, должен получиться следующий результат:
- После этого, необходимо записать эту таблицу на диск, нажав w. После выполнения этой команда утилита fdisk завершит работу и вернет вас в оболочку пользователя.
Проверить, что все изменения применились можно с помощью следующей команды:
lsblk
В результате на диске vdb должно отображаться 6 новых разделов.
Задание 2. Создание файловой системы.
Создать файловые системы на разделах, созданных в предыдущем задании. Пусть:
- На vdb1 ext4.
- На vdb3 - xfs.
- На 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
- Выбрать таблицу разметки GPT. Делается это, нажав
g
. - Создать 3 раздела, согласно схеме. Сделать это с помощью команды
n
, как и в случае с MBR.
Задание 4. Работа с LVM.
В этом задании используется разметка из задания 3. Для выполнения этого задания потребуется пакет lvm2. Установить его можно с помощью yum.
sudo apt install lvm2
Сначала необходимо изменить системный id раздела. Он влияет на то, какая метка файловой системы будет отображаться в fdisk в столбце Type.
Запустить fdisk
в интерактивном режиме, в качестве аргумента передавая путь к блочному устройству.
sudo fdisk /dev/vdb
- Необходимо изменить тип раздела всем разделам. Нажав t, выбрать номер раздела, метку которого нужно поменять. Далее необходимо нажать L, чтобы просмотреть все доступные метки. Нужно найти Linux LVM (поиск в текстовой консоли может быть затруднен из-за длинного списка. Пролистать список вверх можно с помощью клавиш shift + PgUp, либо просто ввести значение метки - 31). Набрать id, под которым стоит нужная метка.
- Проделать эту операцию со всеми разделами на диске.
- Необходимо проверить введенные значения, а после записать их, нажав w.
- Необходимо сделать все три раздела физическими томами (В процессе будет сообщение, что файловая система на томе будет уничтожена. Нужно согласиться, набрав
y
).
sudo pvcreate /dev/vdb1
sudo pvcreate /dev/vdb2
sudo pvcreate /dev/vdb3
Проверить успешность можно с помощью команды sudo pvdisplay
. Эта команда должна вывести список всех PV(физических устройств), на которых могут быть размещены тома LVM.
- На этих физических томах создать группу томов, и задать ей имя. Имя можно выбрать любое, например 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.
- Теперь в системе появились блочные устройства /dev/vg1/lv1 и /dev/vg1/lv2. Осталось создать на них файловую систему. Тут различий с обычными разделами нет.
sudo mkfs.ext4 /dev/vg1/lv1
sudo mkfs.ext4 /dev/vg1/lv2
- Удаление физических томов. Удалить из группы том /dev/vdb1. Чтобы убрать из работающей группы томов раздел, сначала необходимо перенести все данные с него на другие разделы:
sudo pvmove /dev/vdb1
Затем удалить его из группы томов:
sudo vgreduce vg1 /dev/vdb1
И, наконец, удалить физический том:
sudo pvremove /dev/vdb1
Последняя команда просто убирает отметку о том, что диск является членом lvm, и не удаляет ни данные на разделе, ни сам раздел. После удаления физического тома из LVM для дальнейшего использования диск придётся переразбивать/переформатировать.
- Добавление физических томов. Необходимо расширить VG, добавив к нему том /dev/vdb1. Чтобы добавить новый том в группу томов, создать физический том:
sudo pvcreate /dev/vdb1
Добавить его в группу:
sudo vgextend vg1 /dev/vdb1
Теперь можно создать ещё один логический диск (lvcreate) или увеличить размер существующего (lvresize).
- Изменение размеров 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. Самостоятельная работа
- Создать и добавить диск на
4gb
. - Разметить на диске
5
разделов по513mb
- Создать файловые системы на разделах:
ext2
,ext4
,xfs
,btrfs
,ntfs
. - В директории /opt создать, 5 директорий(по названию фс) и смонтировать туда разделы
- Добавить автоматическое монтирование новых разделов