diff --git a/labs/lab3/assets/34.png b/labs/lab3/assets/34.png new file mode 100644 index 0000000..af9c455 Binary files /dev/null and b/labs/lab3/assets/34.png differ diff --git a/labs/lab3/assets/35.png b/labs/lab3/assets/35.png new file mode 100644 index 0000000..7989ae1 Binary files /dev/null and b/labs/lab3/assets/35.png differ diff --git a/labs/lab3/assets/36.png b/labs/lab3/assets/36.png new file mode 100644 index 0000000..f9b4db5 Binary files /dev/null and b/labs/lab3/assets/36.png differ diff --git a/labs/lab3/assets/37.png b/labs/lab3/assets/37.png new file mode 100644 index 0000000..0fbe0df Binary files /dev/null and b/labs/lab3/assets/37.png differ diff --git a/labs/lab3/assets/38.png b/labs/lab3/assets/38.png new file mode 100644 index 0000000..05dfd09 Binary files /dev/null and b/labs/lab3/assets/38.png differ diff --git a/labs/lab3/assets/39.png b/labs/lab3/assets/39.png new file mode 100644 index 0000000..a6be9b1 Binary files /dev/null and b/labs/lab3/assets/39.png differ diff --git a/labs/lab3/assets/40.png b/labs/lab3/assets/40.png new file mode 100644 index 0000000..838f173 Binary files /dev/null and b/labs/lab3/assets/40.png differ diff --git a/labs/lab3/assets/41.png b/labs/lab3/assets/41.png new file mode 100644 index 0000000..077b54f Binary files /dev/null and b/labs/lab3/assets/41.png differ diff --git a/labs/lab3/assets/42.png b/labs/lab3/assets/42.png new file mode 100644 index 0000000..d832425 Binary files /dev/null and b/labs/lab3/assets/42.png differ diff --git a/labs/lab3/assets/43.png b/labs/lab3/assets/43.png new file mode 100644 index 0000000..426f3b2 Binary files /dev/null and b/labs/lab3/assets/43.png differ diff --git a/labs/lab3/assets/44.png b/labs/lab3/assets/44.png new file mode 100644 index 0000000..af4f5a1 Binary files /dev/null and b/labs/lab3/assets/44.png differ diff --git a/labs/lab3/assets/45.png b/labs/lab3/assets/45.png new file mode 100644 index 0000000..19014f4 Binary files /dev/null and b/labs/lab3/assets/45.png differ diff --git a/labs/lab3/assets/46.png b/labs/lab3/assets/46.png new file mode 100644 index 0000000..0a456bb Binary files /dev/null and b/labs/lab3/assets/46.png differ diff --git a/labs/lab3/assets/47.png b/labs/lab3/assets/47.png new file mode 100644 index 0000000..59337c2 Binary files /dev/null and b/labs/lab3/assets/47.png differ diff --git a/labs/lab3/assets/48.png b/labs/lab3/assets/48.png new file mode 100644 index 0000000..46f8650 Binary files /dev/null and b/labs/lab3/assets/48.png differ diff --git a/labs/lab3/assets/49.png b/labs/lab3/assets/49.png new file mode 100644 index 0000000..64b74c3 Binary files /dev/null and b/labs/lab3/assets/49.png differ diff --git a/labs/lab3/assets/50.png b/labs/lab3/assets/50.png new file mode 100644 index 0000000..0138f2d Binary files /dev/null and b/labs/lab3/assets/50.png differ diff --git a/labs/lab3/assets/51.png b/labs/lab3/assets/51.png new file mode 100644 index 0000000..a06bf11 Binary files /dev/null and b/labs/lab3/assets/51.png differ diff --git a/labs/lab3/assets/52.png b/labs/lab3/assets/52.png new file mode 100644 index 0000000..4edf619 Binary files /dev/null and b/labs/lab3/assets/52.png differ diff --git a/labs/lab3/assets/53.png b/labs/lab3/assets/53.png new file mode 100644 index 0000000..c365c8d Binary files /dev/null and b/labs/lab3/assets/53.png differ diff --git a/labs/lab3/assets/54.png b/labs/lab3/assets/54.png new file mode 100644 index 0000000..c24fe55 Binary files /dev/null and b/labs/lab3/assets/54.png differ diff --git a/labs/lab3/assets/55.png b/labs/lab3/assets/55.png new file mode 100644 index 0000000..5313bdb Binary files /dev/null and b/labs/lab3/assets/55.png differ diff --git a/labs/lab3/assets/56.png b/labs/lab3/assets/56.png new file mode 100644 index 0000000..ac145f3 Binary files /dev/null and b/labs/lab3/assets/56.png differ diff --git a/labs/lab3/assets/57.png b/labs/lab3/assets/57.png new file mode 100644 index 0000000..4be8c0c Binary files /dev/null and b/labs/lab3/assets/57.png differ diff --git a/labs/lab3/assets/58.png b/labs/lab3/assets/58.png new file mode 100644 index 0000000..14a697e Binary files /dev/null and b/labs/lab3/assets/58.png differ diff --git a/labs/lab3/assets/59.png b/labs/lab3/assets/59.png new file mode 100644 index 0000000..cdf9bd9 Binary files /dev/null and b/labs/lab3/assets/59.png differ diff --git a/labs/lab3/assets/60.png b/labs/lab3/assets/60.png new file mode 100644 index 0000000..8018523 Binary files /dev/null and b/labs/lab3/assets/60.png differ diff --git a/labs/lab3/assets/61.png b/labs/lab3/assets/61.png new file mode 100644 index 0000000..4b4a323 Binary files /dev/null and b/labs/lab3/assets/61.png differ diff --git a/labs/lab3/assets/62.png b/labs/lab3/assets/62.png new file mode 100644 index 0000000..7fa9361 Binary files /dev/null and b/labs/lab3/assets/62.png differ diff --git a/labs/lab3/assets/63.png b/labs/lab3/assets/63.png new file mode 100644 index 0000000..bf8c2c9 Binary files /dev/null and b/labs/lab3/assets/63.png differ diff --git a/labs/lab3/assets/64.png b/labs/lab3/assets/64.png new file mode 100644 index 0000000..e9a2336 Binary files /dev/null and b/labs/lab3/assets/64.png differ diff --git a/labs/lab3/assets/65.png b/labs/lab3/assets/65.png new file mode 100644 index 0000000..95b8a64 Binary files /dev/null and b/labs/lab3/assets/65.png differ diff --git a/labs/lab3/assets/66.png b/labs/lab3/assets/66.png new file mode 100644 index 0000000..f298bcf Binary files /dev/null and b/labs/lab3/assets/66.png differ diff --git a/labs/lab3/assets/67.png b/labs/lab3/assets/67.png new file mode 100644 index 0000000..49b854e Binary files /dev/null and b/labs/lab3/assets/67.png differ diff --git a/labs/lab3/assets/68.png b/labs/lab3/assets/68.png new file mode 100644 index 0000000..6a9ccea Binary files /dev/null and b/labs/lab3/assets/68.png differ diff --git a/labs/lab3/assets/69.png b/labs/lab3/assets/69.png new file mode 100644 index 0000000..e13624e Binary files /dev/null and b/labs/lab3/assets/69.png differ diff --git a/labs/lab3/assets/70.png b/labs/lab3/assets/70.png new file mode 100644 index 0000000..4bf5be1 Binary files /dev/null and b/labs/lab3/assets/70.png differ diff --git a/labs/lab3/assets/71.png b/labs/lab3/assets/71.png new file mode 100644 index 0000000..5a20481 Binary files /dev/null and b/labs/lab3/assets/71.png differ diff --git a/labs/lab3/report.pdf b/labs/lab3/report.pdf index ce02f52..04c5667 100644 Binary files a/labs/lab3/report.pdf and b/labs/lab3/report.pdf differ diff --git a/labs/lab3/report.typ b/labs/lab3/report.typ index f8f584c..043ff1b 100644 --- a/labs/lab3/report.typ +++ b/labs/lab3/report.typ @@ -200,12 +200,207 @@ done #align(center)[#image("assets/32.png")] #align(center)[#image("assets/33.png")] +Добавил оставшиеся диски в новую VG `gr02`: + +#align(center)[#image("assets/34.png")] + +Создал зеркальный том `vol02` в этой группе. + +#align(center)[#image("assets/35.png")] + +Создал файловую систему `ext4`: + +#align(center)[#image("assets/36.png")] + +Смонтировал том: + +#align(center)[#image("assets/37.png")] + === Часть 5. Управление монтированием дисков. +Я создал каталог для монтирования и получил UUID фс на зеркальном томе: + +#align(center)[#image("assets/38.png")] + +Затем, в файл `/etc/fstab` я добавил строку: + +``` +UUID=94897d69-fcbf-49a7-beb1-732d8062bd0c /nfs ext4 defaults 0 2 +``` + +Проверим работоспособность: + +#align(center)[#image("assets/39.png")] +#align(center)[#image("assets/40.png")] +#align(center)[#image("assets/41.png")] + === Часть 6. Работа с NFS. +На машине `c7-2` установил службу `nfs-kernel-server`, разрешил запуск и запустил её: + +#align(center)[#image("assets/42.png")] + +Я разрешил доступ к каталогу `\nfs` через сеть: + +#align(center)[#image("assets/43.png")] +#align(center)[#image("assets/44.png")] + +C `c7-1` осуществил монтирование сетевого ресурса `nfs` в каталог `/var/remotenfs`. + +#align(center)[#image("assets/45.png")] +#align(center)[#image("assets/46.png")] +#align(center)[#image("assets/47.png")] +#align(center)[#image("assets/48.png")] + === Часть 7. Работа с RAID в Linux. +На машину `c7-1` я добавил 3 жестких диска по 1гб. + +#align(center)[#image("assets/49.png")] + +Затем создал `RAID-5` массив: + +#align(center)[#image("assets/50.png")] +#align(center)[#image("assets/51.png")] + +Сохранил конфигурацию RAID, чтобы массив поднимался автоматически при загрузке: + +#align(center)[#image("assets/52.png")] + +Обновил `initramfs`: + +#align(center)[#image("assets/53.png")] +#align(center)[#image("assets/54.png")] + +Я создал файловую систему `ext4` на RAID массиве: + +#align(center)[#image("assets/55.png")] + +Затем я создал каталог и смонтировал массив: + +#align(center)[#image("assets/56.png")] +#align(center)[#image("assets/57.png")] +#align(center)[#image("assets/58.png")] + +Положил в RAID каталог тестовый файл: + +#align(center)[#image("assets/59.png")] + +Определил доступный объем: + +#align(center)[#image("assets/60.png")] + +Затем я удалил диск `sdc`. + +#align(center)[#image("assets/61.png")] + +Добавил новый диск: + +#align(center)[#image("assets/62.png")] +#align(center)[#image("assets/63.png")] + +#align(center)[#image("assets/64.png")] +#align(center)[#image("assets/65.png")] +#align(center)[#image("assets/66.png")] + === Часть 8. Получение информации и изменение файловой системы. +Нашел корневой раздел: +#align(center)[#image("assets/67.png")] +#align(center)[#image("assets/68.png")] +#align(center)[#image("assets/69.png")] + +Включил использование зарезервированных `inode`: + +#align(center)[#image("assets/70.png")] +#align(center)[#image("assets/71.png")] + +=== Ответы на вопросы: + +*Как вы увеличили раздел в части 3? Какие команды использовали. В чем состояла суть выполненных действий?* + +Я использовал утилиту `fdisk`, чтобы удалить старый раздел и создать новый, занимающий весь диск: + +```bash +sudo fdisk /dev/vdb +``` + +После этого заново создал раздел. Затем обновил файловую систему: + +```bash +sudo resize2fs /dev/vdb1 +``` + +Физически размер раздела увеличился, и командой `resize2fs` файловая система была расширена, чтобы занять всё доступное место на диске. + +*Почему отличается процедура увеличения раздела в частях 3 и 4? Почему в случае LVM не пришлось отмонтировать раздел?* + +В LVM файловая система расположена не на "жёстком" разделе, а на логическом томе, который можно динамически изменять. +LVM поддерживает online resize, то есть позволяет расширять том, пока он смонтирован: + +```bash +sudo lvextend -l +100%FREE /dev/gr01/vol01 +sudo resize2fs /dev/gr01/vol01 +``` + +Это возможно, потому что LVM управляет логическими блоками и абстрагирует файловую систему от физического устройства. +В обычном случае (fdisk) нужно отмонтировать, так как изменяются реальные границы раздела. + +*Как можно ограничить доступ через сеть к данным в каталоге NFS сервера?* + +Ограничение доступа делается через файл `/etc/exports`, где указывается, какие IP-адреса или подсети могут монтировать каталог и с какими правами. +Пример: + +```bash +/nfs 192.168.122.0/24(rw,sync,no_root_squash) +``` + +Здесь доступ разрешён только хостам из подсети `192.168.122.0/24`, с правом записи (`rw`). + +*В чем разница архитектуры NAS и DAS?* + +#table(columns: 3)[*Параметр*][*NAS*][*DAS*][Подключение][Через сеть (TCP/IP, NFS, SMB)][Непосредственно к серверу (SATA, SAS, USB)][Доступ][Несколько клиентов][Один конкретный сервер][Масштабирование][Легко масштабируется][Ограничено локальными портами][Пример][Synology, TrueNAS][Внутренний HDD или SSD] + +Главное отличие: NAS — это сетевое хранилище, DAS — локально подключённый диск. + +*В части 4 п.7 вы создали зеркальный том. От каких рисков потери данных это защищает? От каких — не защищает?* + +Защищает: + +- от отказа одного физического диска; +- от ошибок чтения/записи на отдельном носителе. + +Не защищает: + +- от случайного удаления файлов; +- от вирусов и логических ошибок; +- от выхода из строя контроллера или потери всей группы дисков одновременно. + +*В части 7 вы смогли запустить RAID-массив с потерей диска. Откуда взялись данные?* + +RAID-5 хранит не только данные, но и чётность (parity), распределённую по всем дискам. +При потере одного диска оставшиеся два содержат достаточно информации, чтобы восстановить недостающие блоки "а лету". +То есть данные не хранились "копией", а восстанавливались математически через XOR из чётности и оставшихся данных. + +*Почему невозможно записать файлы, если свободное место есть, права есть и раздел смонтирован для записи?* + +На файловых системах типа `ext4` часть блоков зарезервирована для суперпользователя (обычно 5%). +Если все “пользовательские” блоки заняты, обычный пользователь не сможет записывать файлы, +хотя `df` будет показывать, что немного места ещё "есть". +Проверить можно: + +```bash +sudo tune2fs -l /dev/sdX | grep 'Reserved block count' +``` + +Также возможны другие причины: + +- переполнены inode (слишком много мелких файлов); +- раздел смонтирован в режиме read-only после ошибки (`dmesg` покажет). + +=== Вывод: + +В ходе лабораторной работы я освоил основные операции с подсистемой хранения данных в Linux: создание и изменение разделов, работу с файловыми системами и LVM, настройку сетевого хранилища NFS и организацию RAID-массивов. +На практике были изучены принципы расширения разделов и томов, монтирование файловых систем, создание зеркальных и распределённых хранилищ, а также восстановление RAID после отказа диска. +Получены навыки администрирования хранилищ и управления доступом к ним.