/
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
и п
одключите их к Вашей тестовой системе:
Выполните описанный пример. Пометьте в отчете команды и их
результаты.