Text
                    Лабораторная работа №
10
(4 часа)
Основные команды работы с файловой системой
Часть
2
Цели:
изучить
утилиты для создания и обслуживания
различных файловых
систем
в
Linux
,
получить базовые навыки
создания и управления
LVM
в
Debian
.
Инструкции по выполнению
:
Загрузите ОС
Linux
, войдите в сеанс и
получите доступ к командной строке. Внимательно прочитайте условие
лабораторной работы, выполните требуемые задания и составьте итоговый
отчет по работе.
Проверьте установлены ли на Вашей ма
шине пакеты
util
-
linux
(
для
mkfs
),
e
2
fsprogs
,
ntfsprogs
,
xfsprogs
,
reiserfs
-
utils
,
mtd
-
utils
. В случае
необходимости установите их. Для закрепления по управлению пакетами,
отметьте в отчете, каким образом вы проверили наличие этих пакетов в
Вашей системе и
каким образом их установили.
При помощи утилит
управления пакетами определите, какие еще пакеты управления файловыми
системами доступны для установки. Отметьте команды, которыми Вы это
выполнили.
Получение информации о разделах. Перед началом работы собер
ите
всю доступную информацию о разделах Вашего жесткого диска: метки
разделов, их идентификаторы, тип файловой системы уже установленной на
разделах, размеры разделов, размеры блоков на разделах, границы разделов
,
количество свободного и занятого места
. От
метьте полученную информацию
в отчете.
Указания.
Для получения метки раздела или ее установки в случае
отсутствия можно использовать команду
e
2
label
. Отметьте в отчете, каким
образом можно получить и установить метку для раздела диска.
Внимание
, файл
/
etc
/
fstab
может использовать метку раздела для
монтирования этого раздела:
LABEL=/boot
/boot
ext4
defaults
1
2
В этом случае изменение этой метки может привести к сбоям при
загрузке системы.
Решить обратную задачу
–
узнать раздел, если известна его метка
можно
при помощи команды
findfs
:
sudo
findfs
LABEL
=
somepartitionlabel
Как Вам известно из лекции, для создания файловой системы на
разделе используется команда
mkfs
. Она выступает как хранилище многих
команд:
mkfs
.
ext
2,
mkfs
.
ext
3,
mkfs
.
cramfs
,
mkfs
.
msdos
,
mkfs
.
ntfs
,
mkfs
.
vfat
.
Для получения доступа к другим файловым системам необходима установка
пакетов поддержки других файловых систем. После этого можно будет,


например, использовать команды mkfs . xfs , mkfs . jffs 2 . Также они будут доступны через опцию – t команды mkfs . Упражнение. Создайте новый файл диска SATA . Подключите его к виртуальной машине. Создайте на нем раздел и отформатируйте установив требуемый тип файловой системы и метку. Если Вы работаете на физической системе, а не в виртуальной машине, то для выпо лнения упражнения можно создать виртуальную файловую систему: dd if=/dev/zero of=mydisk count=524288 du - sh mydisk /* в этом месте создаем нужную файловую систему для тестирования указав в качестве устройства mydisk */ sudo mkdir /mnt/image sudo mount - o l oop mydisk /mnt/image Укажите в отчете назначение каждой из строк приведенной выше последовательности команд. Что означает опция loop для монтирования файловой системы? В каких еще случаях она используется? Просмотр атрибутов файловой системы. При помощи команд tune 2 fs и dumpe 2 fs можно просматривать атрибуты файловых систем ext 2 /3/4 . Введите команду: sudo tune 2 fs - l / dev / sd <что - то> sudo dumpe 2 fs - h / dev / sd <что - то> , заменив < что - то > на имя и номер раздела для которого вы хотите получить информацию. Какие п араметры доступны? Отметьте это в отчете, дополнив информацию о разделах Вашей системы, собранную выше недостающими данными. Измените при помощи tune 2 fs количество монтирований файловой системы перед принудительной проверкой. Попытайтесь преобразовать разд ел с ext 2 в журналируемую файловую систему. Убедитесь при помощи tune 2 fs в том, что журнал был добавлен. Раздел подкачки создается отдельной командой: mkswap . Эта команда полезна, если Вы не создали раздел подкачки при установке сист емы или ошиблись с его размером: sudo mkswap / dev / sda 1 Если у Вас нет отдельного раздела для файла подкачки, то его можно создать в файле (примените алгоритм, описанный выше). После создания раздела подкачки его нужно активировать командой swapon . Для отключения файла подкачки используется команда swapoff . Упражнение. Попытайтесь создать «файл подкачки» и установить его вместо используемого раздела. Отметьте в отчете последовательность команд для этого. Обратите внимание, эта технология позволяет на dual - boot системах экономить дисковое пространство, разделив файл подкачки Windows с Linux . 
И да, разделов подкачки может быть несколько. Порядок их использования регулируется приоритетом, который Вы можете назначить командой swapon . Для проверки используемых файловых систем использу ется команда fsck (проверка на наличие логических ошибок). Эта команда как и mkfs выполняет сбор данных отдельных утилит файловых систем. Для замены приложения scandisk из Windows может использоваться команда badblocks , которая выполняет проверку на наличи е поврежденных блоков на физическом уровне. Упражнение. Выполните проверку выбранного Вами раздела на наличие ошибок. Отметьте в отчете команды и ключи, которые Вы использовали. Что будет результатом выполнения команды sudo badblocks - vsw / dev / sda 1 ? Для пр оверки на наличие ошибок устройств softraid используется команда mdadm , например в виде: sudo mdadm - Q -- detail / dev / md 1 Эта же команда ( mdadm ) используется для управления программным RAID : sudo mdadm -- manage - help При установке она попытается сконфигури ровать RAID массив и записать настройки в / etc / mdadm / mdadm . conf . Однако этот пакет может конфликтовать с пакетом lvm 2 . Программа управления логическими томами ( LVM ) Используется в Linux для гибкого управления дисковым пространством. Если настроить жесткие диски как тома LVM можно изменять размеры разделов без предварительного резервирования данных на них и копирования обратно после изменения размера раздела , создавать мгновенные снимки разделов ( snapshots ) , объединять несколько дисков в один виртуальный по добно динамическим дискам Windows и т.д. Сконфигурировать LVM можно как при установке системы, так и после установки в готовой системе. Можно определить группы томов ( vg ) , группы логических томов ( lv ) и физических томов ( pv ) и управлять ими. Для работы с L VM необходимо установить пакет lvm 2 . Для удобства тестирования дальнейшие части лабораторной работы выполняйте на отдельном устройстве (диске VirtualBox ). Дальнейшие действия протоколируйте в отчете. В начале следует создать физические разделы на устройст ве. При создании раздела задайте ему тип – первичный, код раздела – 8 E ( LVM - раздел). После этого назначьте созданный раздел, например, / dev / sdc 1 в качестве нового физического тома LVM : 
sudo pvcreate / dev / sdc 1 и просмотрите информацию о существующих LVM - том ах: sudo pvs После этого создайте группу томов < ваше_имя > при помощи команды vgcreate : sudo vgcreate <ваше_имя> / dev / sdc 1 Просмотрите созданные группы: sudo vgs Для создания нового логического LVM - раздела из группы томов < ваше_имя > используйте команду lvcr eate и просмотрите при помощи команд lvs и vgs информацию о логическом томе и объеме изменившегося свободного места: sudo lvcreate -- size <число> M -- name <имя_ lvm > <ваше_имя> sudo lvs sudo vgs Для того, чтобы начать использовать раздел нужно выполнить его форматирование, например: sudo mkfs . ext 3 / dev / mapper /<ваше_имя> - <имя_ lvm > Том LVM готов к использованию. Чтобы использовать созданный том / dev / mapper /< ваше_имя > - < имя_ lvm > нужно создать точку монтирования и смонтировать этот том: sudo mount - t ext 3 / dev / ma pper /<ваше_имя> - <имя_ lvm > <точка_монтирования> После этого для экспериментов по изменению размеров раздела скопируйте на него какой - либо «крупногабаритный» файл и получите его контрольную сумму: md5sum < имя_крупногабаритного_файла_ ^_^> Эксперименты. Предп оложим, что Вы исчерпали свободное место на разделе и его необходимо расширить. Для этого нужно демонтировать том, использовать команду lvresize , проверить e 2 fsck файловую систему и изменить её размер при помощи resize 2 fs : sudo umount <точка_монтирования_ l vm > sudo lvresize -- size <новый_размер> M / dev /<ваше_имя>/<имя_ lvm > sudo e 2 fsck - f / dev /<ваше_имя>/<имя_ lvm > sudo resize2fs /dev/< ваше _ имя >/< имя _lvm> < новый _ размер >M После этого снова смонтируйте том и проверьте объем доступного дискового пространства, а та кже пересчитайте и сверьте контрольную сумму файла, лежавшего на разделе. Профит  
Для уменьшения размера тома достаточно выполнить последовательность в обратном порядке: 1 . umount 2 . e2fsck 3 . resize2fs 4 . lvresize 5 . mount Выполните уменьшение раздела, запишите в отчет команды для этого. Проверьте доступное место и контрольную сумму для файла. Для удаления логического LVM - тома из группы томов используется команда lvremove : sudo lvremove / dev /<ваше_имя>/<имя_ lvm > Для удаления целой группы LVM - томов используйте команду v gremove : sudo vgremove <ваше_имя> За дополнительной информацией по LVM можно обратиться к LVM HOWTO на сайте The Linux documentation project ( http :// tldp . org / HOWTO / LVM - HOWTO / ) или найти его русский перевод . RAID . Для знакомства с использованием software RAID в Linux обратитесь за алгоритмом работы к странице 289 « UNIX и Linux . Руководство системного администратора» Эви Немет и др. В начале выполнения задания создайте два одинаковых диска для VirtualBox и п одключите их к Вашей тестовой системе: Выполните описанный пример. Пометьте в отчете команды и их результаты.