Files
linux_intro/labs/lab3/report.typ
2025-10-06 15:55:17 +03:00

212 lines
6.4 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#set text(size: 1.3em)
#set page(footer: context {
if counter(page).get().first() > 1 [
#align(center)[
#counter(page).display("1")
]
]
})
#show raw.where(block: false): box.with(
fill: luma(240),
inset: (x: 3pt, y: 0pt),
outset: (y: 3pt),
radius: 2pt,
)
#show raw.where(block: true): block.with(
fill: luma(240),
inset: 10pt,
radius: 4pt,
)
// title
#align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики]
\
\
\
#align(center)[Факультет инфокоммуникационных технологий]
#align(center)[Направление подготовки 11.03.02]
\
\
#align(center)[Лабораторная работа №2]
#align(center)[Создание и использование размерных типов данных]
\
\
\ //#align(center)[Вариант 19]
\
\
\
\
\
\
\
#align(right)[Выполнил:]
#align(right)[Дощенников Никита Андреевич]
#align(right)[Группа: К3221]
#align(right)[Проверил:]
#align(right)[Береснев Артем Дмитриевич]
\
\
#align(center)[Санкт-Петербург]
#align(center)[2025]
#pagebreak()
=== Цель работы:
Получить практические навыки работы с подсистемой хранения в Linux, научиться создавать разделы, файловые системы, работать с томами хранения LVM и настраивать NAS систему на примере NFS.
=== Часть 1. Подготовка конфигурации.
Я подготовил две виртуальные машины Linux на `ubuntu24`.
#align(center)[#image("assets/1.png")]
А также настроил сеть в машинах в режиме "Сеть NAT".
#align(center)[#image("assets/2.png")]
#align(center)[#image("assets/3.png")]
И переименовал в соответствии с заданием:
#align(center)[#image("assets/4.png")]
#align(center)[#image("assets/5.png")]
Также я сделал снимки состояния виртуальных машин.
#align(center)[#image("assets/6.png")]
=== Часть 2. Подключение диска и монтирование файловой системы.
При помощи функции "Add Hardware" я добавил диск к машине `c7-2`.
#align(center)[#image("assets/7.png")]
Я написал скрипт, который выводит на консоль информацию о диске:
```bash
#!/bin/bash
disk="${1:-/dev/vdb}"
name="$(basename "$disk")"
uuid="$(blkid -s UUID -o value "$disk" 2>/dev/null || true)"
size="$(lsblk -dn -o SIZE "$disk")"
sector_size="$(cat "/sys/block/$name/queue/hw_sector_size")"
sectors="$(cat "/sys/block/$name/size")"
echo "disk name: $name"
echo "disk uuid: ${uuid:-none}"
echo "disk volume: $size"
echo "sector size: $sector_size"
echo "# of sectors: $sectors"
```
#align(center)[#image("assets/8.png")]
Затем я создал на диске раздел, объемом б, а на нем файловую систему ext4:
#align(center)[#image("assets/9.png")]
#align(center)[#image("assets/10.png")]
#align(center)[#image("assets/11.png")]
После этого, в каталоге `/mount` я создал каталог `disk1`.
#align(center)[#image("assets/12.png")]
Потом смонтировал новую систему в этот каталог:
#align(center)[#image("assets/13.png")]
Скопировал на новый диск тестовый файл.
#align(center)[#image("assets/14.png")]
Определил объем свободного места на всех дисках, подключенных к системе:
#align(center)[#image("assets/15.png")]
=== Часть 3. Изменение раздела и файловой системы.
Я, с помощью утилиты `fdisk`, сделал так, чтобы раздел занимал весь диск:
#align(center)[#image("assets/16.png")]
#align(center)[#image("assets/17.png")]
Затем, определил доступный размер файловой системы.
#align(center)[#image("assets/18.png")]
После, я увеличил размер файловой системы до максимального доступного.
#align(center)[#image("assets/19.png")]
=== Часть 4. Работа с LVM.
Я создал 5 новый SATA дисков по 10гб каждый и убедился, что каталог `/dev/` их увидел:
#align(center)[#image("assets/20.png")]
#align(center)[#image("assets/21.png")]
Для того, чтобы создать на всех новых дисках разделы, занимающие 100% места, я использовал скрипт:
```bash
#!/bin/bash
for disk in /dev/sd{a,b,c,d,e}; do
sudo parted -s $disk mklabel gpt
sudo parted -s $disk mkpart primary 0% 100%
done
```
#align(center)[#image("assets/22.png")]
Инициализировал для LVM все созданные разделы.
#align(center)[#image("assets/23.png")]
#align(center)[#image("assets/24.png")]
Создал LVM группы `gr01` на двух первых дисках:
#align(center)[#image("assets/25.png")]
Создал LVM том `vol01`:
#align(center)[#image("assets/26.png")]
Проверил размер:
#align(center)[#image("assets/27.png")]
Создал файловую систему `ext4`:
#align(center)[#image("assets/28.png")]
Затем смонтировал том в каталог `/mnt/vol01`:
#align(center)[#image("assets/29.png")]
Добавил третий диск в VG `gr01`:
#align(center)[#image("assets/30.png")]
Расширил том `vol01` на 100 % нового диска.
#align(center)[#image("assets/31.png")]
Расширил файловую систему:
#align(center)[#image("assets/32.png")]
#align(center)[#image("assets/33.png")]
=== Часть 5. Управление монтированием дисков.
=== Часть 6. Работа с NFS.
=== Часть 7. Работа с RAID в Linux.
=== Часть 8. Получение информации и изменение файловой системы.