Лекция 24. Создание и монтирование файловых систем в ОС

advertisement
ОПЕРАЦИОННЫЕ
СИСТЕМЫ
Авторы курса лекций:
Зверева Ольга Михайловна, ст. преподаватель каф АСУ
Доросинский Леонид Григогрьевич, д-р техн. наук, профессор
Екатеринбург 2007
Модуль 3
Работа с операционными системами семейства
Linux
Лекция 19. Установка и загрузка ОС Linux
Лекция 20. Процесс init и файл /etc/inittab
Лекция 21. Пользователи и группы в среде Linux
Лекция 22. Процессы в системах UNIX
Лекция 23. Работа с ФС ext2fs
Лекция 24. Создание и монтирование файловых систем в
ОС Linux
Лекция 25. Различные файловые системы ОС Linux
3
Формируемые компетенции
После изучения теоретического материала Модуля 3 необходимо знать и
иметь представление о:
отличительных особенностях интерфейса ОС семейства Linux;
основных конфигурационных файлах систем Linux;
этапах загрузки ОС Linux, основных файлах, задействованных в этом
процессе, возможностях многовариантной загрузки;
основных файловых системах, с которыми работает ОС Linux и их основных
возможностях;
работе и управлении процессами в системе;
уметь:
работать с помощью графического интерфейса и средствами командной
строки;
корректировать
конфигурационные
файлы,
решая
проблемы
администрирований системы;
владеть:
навыками администрирования в ОС Linux
4
Лекция 24. Создание и
монтирование файловых систем в
ОС Linux
Цели изучения
Понять, каким образом формируется и
функционирует файловая система в Linux
Изучить структуру и содержимое файла
/etc/fstab
Подробно изучить содержимое основных
структур ФС ext2fs: суперблока, группы
блоков, индексного дескриптора
6
Содержание
Содержимое файла /etc/fstab
Структура дискового раздела в ext2fs
Структура суперблока
Структура группы блоков
Структура индексного дескриптора
7
ФОРМАТИРОВАНИЕ ДИСКОВ В
ОС Windows
==
СОЗДАНИЕ ФС В ОС Linux
8
Создание файловой системы ext2fs
Создание в данном разделе на диске:
суперблока,
таблицы индексных дескрипторов
совокупности блоков данных.
9
Команда mkfs
Синтаксис: mkfs –t тип_ФС раздел
Примеры:
mkfs -t ext2 /dev/hda5
/dev/hda5 – раздел (логический), в не создается ФС ext2fs .
Если вы хотите создать файловую систему на дискете, то
команда примет вид:
mkfs -t ext2 /dev/fd0
После выполнения команды mkfs в указанном разделе
будет создана файловая система ext2fs. В новой файловой
системе автоматически создается один каталог с
именем lost+found. Он используется в экстренных случаях
10
Команда mount
mount -t тип_ФС устройство путь
Где:
тип задает тип файловой системы,
устройство указывает, на каком устройстве (в каком разделе) она
находится,
путь задает точку монтирования.
Точкой монтирования называется тот каталог в уже существующем
и известном системе дереве каталогов, который будет теперь
служить корневым каталогом для подключаемой файловой системы.
Пример:
mount /dev/hdb1 /mnt/disk2
подсоединяет файловую систему первого раздела на втором жестком
диске к каталогу /mnt/disk2 (этот каталог должен существовать!).
11
Файл /etc/fstab
Используется в основном для того, чтобы обеспечить
автоматическое монтирование файловых систем в
процессе загрузки. Каждая строка этого файла содержит
описание одной файловой системы и состоит из 6 полей,
разделяемых пробелами (для удобочитаемости поля
обычно выравнивают, но делать это не обязательно):
имя устройства.
точка монтирования
тип файловой системы;
опции монтирования
уровень дампа.
порядок (приоритет)
12
Описание полей файла /etc/fstab
Имя устройства. В качестве имени может использоваться имя
локального устройства, например, /dev/hda5.
Точка монтирования (полное имя каталога, в который будет
монтироваться файловая система).
Опции монтирования (по умолчанию подразумевается rw — чтение,
запись);
Уровень дампа. Это поле используется программой dump,
предназначенной для создания резервных копий. Если файловая
система должна участвовать в процессе резервного копирования, то
здесь должно стоять число 1, если нет— 0. Возможны и другие
значения (см. руководство к программе dump);
Порядок (приоритет) проверки файловых систем программой fsck.
Системы с меньшими значениями этого поля проверяются раньше.
Системы с одинаковыми номерами проверяются, если это возможно,
параллельно.
13
Пример файла /etc/fstab
14
Правила монтирования
Когда монтируется файловая система, упомянутая в файле /etc/fstab,
то в команде монтирования достаточно указать только один аргумент
— либо имя устройства, либо точку монтирования. Все остальные
параметры команда mount возьмет из файла /etc/fstab.
Обычно
монтировать
файловые
системы
может
только
суперпользователь, но если в поле опций монтирования файла
/etc/fstab указать опцию user, то соответствующую файловую систему
смогут смонтировать все пользователи.
Команды mount и umount поддерживают в актуальном состоянии
таблицу (или перечень) смонтированных файловых систем. Этот
перечень сохраняется на диске в виде файла /etc/mtab. Этот файл
можно просмотреть непосредственно, или вывести на экран командой
mount без аргументов.
Если вы хотите монтировать какую-то систему только для чтения из
нее, то в соответствующей строке файла /etc/fstab надо либо указать
опцию r (read only, по умолчанию подразумевается rw, т.е. и чтение, и
запись), либо использовать команду mount с параметром -r.
15
Демонтирование
Можно отключить от компьютера носитель, на котором расположена
файловая система, (чаще всего это требуется делать с дискетами в
дисководе, но иногда и с носителями других типов), необходимо
«размонтировать»
файловую
систему
(другими
словами,
«размонтировать носитель»). Эта операция выполняется с помощью
команды umount (замечание для тех, кто знает английский язык: имя
команды не является правильным английским словом, так что не
вставляйте в него лишнюю букву «n»). В качестве аргумента команде
umount надо дать либо имя устройства, либо точку монтирования.
Демонтирование файловой системы возможно только тогда, когда в
ней нет открытых файлов (в частности, не должно быть запущено
программ, файлы которых расположены в данной системе) и в
системе нет процессов, использующих эту файловую систему (т.е.
демонтируемая файловая система не должна быть занятой).
16
Структура дискового раздела в ext2fs
Загруз Группа Группа ...
очная блоков блоков
запись 1
2
Группа
блоков
n
17
Строение группы блоков
Суперблок
Супер Битовая Битовая
-блок карта
карта
блоков индексн
ых
дескрип
торов
Таблица Область
индексн блоков
ых
данных
дескрип
торов
18
Суперблок
одинаков для всех групп, а все остальные —
индивидуальны для каждой группы.
хранится в первом блоке каждой группы блоков.
является начальной точкой файловой системы.
имеет размер 1024 байта и всегда располагается по
смещению 1024 байта от начала файловой системы.
Наличие нескольких копий суперблока объясняется
чрезвычайной важностью этого элемента файловой
системы. Дубликаты суперблока используются при
восстановлении файловой системы после сбоев.
19
Суперблок содержит информацию о:
размере файловой системы;
максимальном числе файлов в разделе;
объеме свободного пространства;
информацию о том, где искать незанятые
участки.
20
Структура суперблока
Название поля
Тип
Комментарий
s_inodes_count
ULONG
Число индексных дескрипторов в
файловой системе
s_blocks_count
ULONG
Число блоков в файловой системе
s_r_blocks_count
ULONG
Число блоков, зарезервированных для
суперпользователя
s_free_blocks_coun ULONG
t
Счетчик числа свободных блоков
21
Структура суперблока
Название поля
Тип
Комментарий
s_free_inodes_count
ULONG
Счетчик числа свободных индексных
дескрипторов
s_first_data_block
ULONG
Первый блок, который содержит данные.
В зависимости от размера блока, это
поле может быть равно 0 или 1.
s_log_block_size
ULONG
Индикатор размера логического блока: 0
= 1 Кб; 1 = 2 Кб; 2 = 4 Кб.
s_blocks_per_group
ULONG
Число блоков в каждой группе блоков
22
Структура суперблока
Название поля
Тип
Комментарий
s_inodes_per_group
ULONG
Число индексных дескрипторов (inodes)
в каждой группе блоков
s_mtime
ULONG
Время, когда в последний раз была
смонтирована файловая система.
s_wtime
ULONG
Время, когда в последний раз
производилась запись в файловую
систему
23
Структура суперблока
Название поля
Тип
Комментарий
s_mnt_count
USHORT
Счетчик числа монтирований файловой
системы. Если этот счетчик достигает
значения, указанного в следующем поле
(s_max_mnt_count), файловая система
должна быть проверена (это делается
при перезапуске), а счетчик обнуляется.
s_max_mnt_count SHORT
Число, определяющее, сколько раз
может быть смонтирована файловая
система
24
Структура суперблока
Название поля
Тип
Комментарий
s_magic
USHORT
«Магическое число» (0xEF53),
указывающее, что файловая система
принадлежит к типу ex2fs
s_state
USHORT
Флаги, указывающее текущее состояние
файловой системы (является ли она
чистой (clean) и т.п.)
s_errors
USHORT
Флаги, задающие процедуры обработки
сообщений об ошибках (что делать, если
найдены ошибки).
s_pad
USHORT
Заполнение
25
Структура суперблока
Название поля
Тип
Комментарий
s_lastcheck
ULONG
Время последней проверки файловой
системы
s_checkinterval ULONG
Максимальный период времени между
проверками файловой системы
s_creator_os
ULONG
Указание на тип ОС, в которой создана
файловая система
s_rev_level
ULONG
Версия (revision level) файловой
системы.
s_reserved
ULONG[235]
Заполнение до 1024 байт
26
Структура описания группы блоков
Название поля
Тип
Комментарий
bg_block_bitmap
ULONG
Адрес блока, содержащего битовую
карту блоков (block bitmap) данной
группы
bg_inode_bitmap
ULONG
Адрес блока, содержащего битовую
карту индексных дескрипторов (inode
bitmap) данной группы
bg_inode_table
ULONG
Адрес блока, содержащего таблицу
индексных дескрипторов (inode table)
данной группы
bg_free_blocks_count USHORT
Счетчик числа свободных блоков в
данной группе
27
Структура описания группы блоков
Название поля
Тип
Комментарий
bg_free_inodes_count USHORT
Число свободных индексных
дескрипторов в данной группе
bg_used_dirs_count
USHORT
Число индексных дескрипторов в
данной группе, которые являются
каталогами
bg_pad
USHORT
Заполнение
bg_reserved
ULONG[3] Заполнение
28
Описание группы блоков
Битовая карта блоков— это структура, каждый бит
которой показывает, отведен ли соответствующий ему
блок какому-либо файлу. Если бит равен 1, то блок занят.
Эта карта служит для поиска свободных блоков в тех
случаях, когда нужно выделить место под файл
Битовая карта индексных дескрипторов выполняет
аналогичную функцию по отношению к таблице
индексных дескрипторов: показывает, какие именно
дескрипторы заняты.
Индексный дескриптор содержит всю информацию о
файле.
29
Структура индексного дескриптора
Название
поля
Тип
Комментарий
i_mode
USHORT
Тип и права доступа к данному файлу
i_uid
USHORT
Идентификатор владельца файла
i_size
ULONG
Размер файла в байтах
i_atime
ULONG
Время последнего обращения к файлу
i_ctime
ULONG
Время создания файла
i_mtime
ULONG
Время последней модификации файла
i_dtime
ULONG
Время удаления файла
i_gid
USHORT
Идентификатор группы (GID)
30
Структура индексного дескриптора
Название
поля
Тип
Комментарий
i_links_count USHORT
Счетчик числа жестких ссылок
i_blocks
ULONG
Число блоков, занимаемых файлом
i_flags
ULONG
Флаги файла (File flags)
i_reserved1
ULONG
Зарезервировано для ОС
i_block
ULONG[15] Указатели на блоки, в которых записаны
данные файла
i_version
ULONG
Версия файла (для NFS)
i_file_acl
ULONG
ACL (список контроля доступа) файла
i_dir_acl
ULONG
ACL (список контроля доступа) каталога
31
Структура индексного дескриптора
Название
поля
Тип
Комментарий
i_pad1
USHORT
Заполнение
i_reserved2
ULONG[2]
Заполнение
32
Система адресации данных
В ext2fs система адресации реализуется полем i_block индексного
дескриптора файла.
Поле i_block в индексном дескрипторе файла представляет собой массив из 15
адресов блоков.
Первые 12 адресов в этом массиве (EXT2_NDIR_BLOCKS [12]) представляют
собой прямые ссылки (адреса) на номера блоков, в которых хранятся данные
из файла.
Следующий адрес в этом массиве (EXT2_IND_BLOCK) является косвенной
ссылкой, т. е. адресом блока, в котором хранится список адресов следующих
блоков с данными из этого файла.
Следующий адрес в поле i_block индексного дескриптора указывает на блок
двойной косвенной адресации. Этот блок содержит список адресов блоков,
которые в свою очередь содержат списки адресов следующих блоков данных
того файла, который задается данным индексным дескриптором.
Следующий адрес в поле i_block индексного дескриптора указывает на блок
двойной косвенной адресации (double indirect block). Этот блок содержит
список адресов блоков, которые в свою очередь содержат списки адресов
следующих блоков данных того файла, который задается данным индексным
дескриптором.
33
Информационное обеспечение лекции
Литература по теме:
1.
2.
3.
4.
5.
Олифер В. Г. Сетевые операционные системы : учебник / В. Г.
Олифер, Н. А. Олифер. – СПб. : Питер, 2001. – 544 с.
Гордеев А. В. Операционные систем: Учебник для вузов. 2-е изд./ А.
В. Гордеев. – Спб.: Питер. 2005. – 415 с.
Костромин В. Справочник для пользователя / В. Костромин. – СПб. :
БХВ–Петербург, 2002. – 460 с.
Петцке К. LINUX. От понимания к применению : пер. с нем. / К.
Петцке. – М. : ДМК, 2000. – 576 с.
Садов О. Red Hat Enterprise Linux/Scientific Linux. Полное
руководство пользователя / О. Садов. - СПб. : БХВ–Петербург, 2006.
– 480 с.
Электронный адрес: zvereva@rtf.ustu.ru
34
Операционные системы
Курс лекций является частью учебно-методического комплекса
«Операционные системы», авторский коллектив:
Зверева Ольга Михайловна, старший преподаватель кафедры
«Автоматизированные системы управления»
Доросинский Леонид Григорьевич, д-р техн. наук, профессор, зав.
кафедрой «Автоматизированные системы управления
Учебно-методический комплекс подготовлен на кафедре АСУ РИ-РТФ
ГОУ ВПО УГТУ-УПИ
Никакая часть данной презентации не может быть воспроизведена в
какой бы то ни было форме без письменного разрешения авторов
35
Download