212 lines
6.4 KiB
Typst
212 lines
6.4 KiB
Typst
#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")]
|
||
|
||
Затем я создал на диске раздел, объемом 1Гб, а на нем файловую систему 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. Получение информации и изменение файловой системы.
|
||
|
||
|