From 0f0944dae699f7df35482fbb8a6b0b2ac74875db Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 7 Oct 2025 10:14:18 +0300 Subject: [PATCH] upd lab3 --- labs/lab3/report.pdf | Bin 5786264 -> 5785651 bytes labs/lab3/report.typ | 41 +++++++++++++---------------------------- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/labs/lab3/report.pdf b/labs/lab3/report.pdf index 04c5667b6ae31660f36d28ec37f156e1c210c8d0..3d53e4f6688b48b0b9d1e45df6e0496160193d9e 100644 GIT binary patch delta 25399 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 F{tuIxM56!z delta 26020 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 diff --git a/labs/lab3/report.typ b/labs/lab3/report.typ index 043ff1b..7e712bc 100644 --- a/labs/lab3/report.typ +++ b/labs/lab3/report.typ @@ -320,7 +320,7 @@ C `c7-1` осуществил монтирование сетевого ресу *Как вы увеличили раздел в части 3? Какие команды использовали. В чем состояла суть выполненных действий?* -Я использовал утилиту `fdisk`, чтобы удалить старый раздел и создать новый, занимающий весь диск: +При помощи `fdisk`, удалил старый раздел и создал новый, занимающий весь диск: ```bash sudo fdisk /dev/vdb @@ -336,7 +336,7 @@ sudo resize2fs /dev/vdb1 *Почему отличается процедура увеличения раздела в частях 3 и 4? Почему в случае LVM не пришлось отмонтировать раздел?* -В LVM файловая система расположена не на "жёстком" разделе, а на логическом томе, который можно динамически изменять. +В LVM файловая система расположена не на жёстком разделе, а на логическом томе, который можно динамически изменять. LVM поддерживает online resize, то есть позволяет расширять том, пока он смонтирован: ```bash @@ -345,18 +345,17 @@ 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`). +Здесь доступ разрешён только хостам из подсети `192.168.122.0/24`, с правом записи. *В чем разница архитектуры NAS и DAS?* @@ -366,41 +365,27 @@ sudo resize2fs /dev/gr01/vol01 *В части 4 п.7 вы создали зеркальный том. От каких рисков потери данных это защищает? От каких — не защищает?* -Защищает: +Защищает от отказа одного физического диска, от ошибок чтения/записи на отдельном носителе. -- от отказа одного физического диска; -- от ошибок чтения/записи на отдельном носителе. - -Не защищает: - -- от случайного удаления файлов; -- от вирусов и логических ошибок; -- от выхода из строя контроллера или потери всей группы дисков одновременно. +Не защищает от случайного удаления файлов, от вирусов и логических ошибок, от выхода из строя контроллера или потери всей группы дисков одновременно. *В части 7 вы смогли запустить RAID-массив с потерей диска. Откуда взялись данные?* -RAID-5 хранит не только данные, но и чётность (parity), распределённую по всем дискам. -При потере одного диска оставшиеся два содержат достаточно информации, чтобы восстановить недостающие блоки "а лету". -То есть данные не хранились "копией", а восстанавливались математически через XOR из чётности и оставшихся данных. +RAID-5 хранит не только данные, но и чётность, распределённую по всем дискам. +При потере одного диска оставшиеся два содержат достаточно информации, чтобы восстановить недостающие блоки. +То есть данные не хранились копией, а восстанавливались математически через XOR из чётности и оставшихся данных. *Почему невозможно записать файлы, если свободное место есть, права есть и раздел смонтирован для записи?* -На файловых системах типа `ext4` часть блоков зарезервирована для суперпользователя (обычно 5%). -Если все “пользовательские” блоки заняты, обычный пользователь не сможет записывать файлы, -хотя `df` будет показывать, что немного места ещё "есть". -Проверить можно: +На файловых системах типа `ext4` часть блоков зарезервирована для суперпользователя. +Если все пользовательские блоки заняты, обычный пользователь не сможет записывать файлы, хотя `df` будет показывать, что немного места ещё есть. ```bash sudo tune2fs -l /dev/sdX | grep 'Reserved block count' ``` -Также возможны другие причины: - -- переполнены inode (слишком много мелких файлов); -- раздел смонтирован в режиме read-only после ошибки (`dmesg` покажет). +Возможно переполнены inode, раздел смонтирован в режиме read-only после ошибки. === Вывод: -В ходе лабораторной работы я освоил основные операции с подсистемой хранения данных в Linux: создание и изменение разделов, работу с файловыми системами и LVM, настройку сетевого хранилища NFS и организацию RAID-массивов. -На практике были изучены принципы расширения разделов и томов, монтирование файловых систем, создание зеркальных и распределённых хранилищ, а также восстановление RAID после отказа диска. -Получены навыки администрирования хранилищ и управления доступом к ним. +В ходе лабораторной работы я освоил основные операции с подсистемой хранения данных в linux: создание и изменение разделов, работу с файловыми системами и lvm, настройку сетевого хранилища nfs и организацию raid массивов. На практике были изучены принципы расширения разделов и томов, монтирование файловых систем, создание зеркальных и распределённых хранилищ, а также восстановление raid после отказа диска. Получены навыки администрирования хранилищ и управления доступом к ним.