5.34M
Category: softwaresoftware

Технологии DevOps. Лекция 4-5. Файловая система. Основы виртуализации

1.

Программа профессиональной
переподготовки
«Технологии DevOps»

2.

Файловая система.
Основы виртуализации
доцент кафедры КБ-3
Порсев Илья Сергеевич

3.

Список рассматриваемых вопросов:
Файловые системы. Типы
Файловая структура.
Структурные единицы хранения данных
Виртуализация в ОС.

4.

Виды операционных систем

5.

ОС корпорации Microsoft

6.

ОС типа Unix

7.

ОС корпорации Apple

8.

Файловая система

9.

Файловая система (ФС) – архитектура хранения данных, которые могут находиться в
разделах жесткого диска и оперативной памяти.
Основные функции файловой ФС:
размещение и упорядочивание на носителе данных в виде файлов;
определение
максимально
поддерживаемого
объема
данных
на
носителе
информации;
создание, чтение и удаление файлов;
назначение и изменение атрибутов файлов (размер, время создания и изменения,
владелец и создатель файла, доступен только для чтения, скрытый файл, временный
файл, архивный, исполняемый, максимальная длина имени файла и т.п.);
определение структуры файла;
поиск файлов;
организация каталогов для логической организации файлов;
защита файлов при системном сбое;
защита файлов от несанкционированного доступа и изменения их содержимого.

10.

Механизмы адресации
CHS (Cylinder-head-sector) — механизм адресации и доступа к блоку данных на
жёстком или оптическом диске на основе трёх координат: цилиндр-головка-сектор
(Cylinder, Head, Sector).
Жесткий диск рассматривается как трехмерная матрица, измерениями которой
являются номера поверхности, цилиндра и сектора.

11.

Механизмы адресации
LBA (англ. Logical block addressing) — механизм адресации и доступа к блоку данных
на жёстком или оптическом диске, при котором системному контроллеру нет
необходимости учитывать геометрию самого жесткого диска (количество цилиндров,
сторон, секторов на цилиндре).

12.

Основная загрузочная область
MBR (англ. Master boot record) — механизм адресации и доступа к блоку данных на
жёстком или оптическом диске, при котором системному контроллеру нет необходимости
учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на
цилиндре).

13.

Основная загрузочная область
GPT (англ. Globally Unique Identifier Partition Table) — таблица разделов GUID, создана
для замены MBR и является частью UEFI, который в свою очередь пришел на замену
BIOS.
Пример GUID : 024DEE41-33E7-11D3-9D69-0008C781F39F

14.

Типы файловых систем
FAT (File Allocation Table – «таблица размещения файлов») – это файловая система,
разработанная компанией Microsoft.

15.

Типы файловых систем
NTFS (New Technology File System – «файловая система новой технологии») –
стандартная файловая система для семейства операционных систем Windows NT
фирмы Microsoft.
ReFS (Resilient File System - “отказоустойчивая файловая система”) – организация
файловой системы в виде B+-tree.

16.

Типы файловых систем
ReFS (Resilient File System - “отказоустойчивая файловая система”) – организация
файловой системы в виде B+tree.
На примере базы данных.

17.

Типы файловых систем
Ext, Ext2, Ext3 или Extended Filesystem – стандартная файловая система,
первоначально разработанная еще для Minix. Содержит максимальное количество
функций и является наиболее стабильной в связи с редкими изменениями кодовой базы.
Начиная с ext3 в системе используется функция журналирования. Сегодня версия ext4
присутствует во всех дистрибутивах Linux.

18.

Типы файловых систем
Ext4 – журналируемая файловая система, используемая преимущественно в
операционных системах с ядром Linux, созданная на базе ext3 в 2006 году.

19.

Типы файловых систем
JFS или Journaled File System разработана в IBM в качестве альтернативы для
файловых систем ext. Используется в многопроцессорных компьютерах, т.е. где
необходима высокая стабильность и минимальное потребление ресурсов. В журнале
хранятся только метаданные, что позволяет восстанавливать старые версии файлов
после сбоев.
ReiserFS разработана в качестве альтернативы ext3, поддерживает только Linux.
Динамический размер блока позволяет упаковывать несколько небольших файлов в один
блок, что предотвращает фрагментацию и улучшает работу с небольшими файлами.
Недостатком является риск потери данных при отключении энергии.

20.

Типы файловых систем
XFS рассчитана на файлы большого размера, поддерживает диски до 2 терабайт.
Преимуществом системы является высокая скорость работы с большими файлами,
отложенное выделение места, увеличение разделов на лету, незначительный размер
служебной информации. К недостаткам - невозможность уменьшения размера,
сложность восстановления данных и риск потери файлов при аварийном отключении
питания.
Btrfs
или
B-Tree
File
System
легко
администрируется,
обладает
высокой
отказоустойчивостью и производительностью. Используется как файловая система по
умолчанию в OpenSUSE и SUSE Linux. В основе лежит красно-черное дерево.

21.

Типы файловых систем
Mac ОС
Для
операционной
системы
macOS
компания
Apple
использует
собственные
разработки файловых систем:
HFS (Hierarchical File System) то проприетарная файловая система, разработанная
компанией Apple Inc. для использования в компьютерных системах под управлением Mac
OS.
HFS+ (Mac OS Extended) усовершенствованная версию HFS для расширения
возможностей Mac OS;
APFS (Apple File System).

22.

Типы файловых систем
Специальные ФС
Виртуальная файловая система (VFS)
Для решения задач, связанных с предоставлением доступа пользователю или
программам к настройкам ядру ОС, используются так называемые специальные
файловые системы. Ядро использует несколько типов специальных ФС:
tmpfs – записывает файлы в оперативную память. Для этого создается блочное
устройство определенного объема, после чего оно подключается к папке;
procfs – хранит данные о системных процессах и ядре;
sysfs – изменяет настройки ядра ОС.
Примеры:
ls /tmp/
ls /proc/
ls /sys/

23.

Файловая структура

24.

Структура файловых систем
Файловая система в Linux определяет также организацию расположения файлов, по
сути представляя собой иерархическую структуру «дерева»: начинается с корневого
каталога «/» и разрастается ветвями в зависимости от работы системы.

25.

Структура файловых систем
ФС Windows по аналогии с ФС Linux

26.

Структура файловых систем
Файловая структура (перечень системных директорий) Linux стандартизирована.
Стандартом является FHS (Filesystem Hierarchy Standard – стандарт иерархии файловой
системы), который соблюдается большинством Unix-подобных операционных систем.
Обычно
дистрибутивы
Linux
следуют
стандарту
FHS,
однако
могут
иметь
незначительные отличия друг от друга. В общей сложности структура каталогов разных
дистрибутивов схожа. Ниже будет дано описание назначения большинства системных
каталогов,
расположенных
на
верхнем
уровне
вложенности,
т. е. непосредственно в корневом.
Полный перечень директорий и их назначение можно узнать командой:
man hier

27.

/bin
Содержит
различные
системные
утилиты-программы
доступные
всем
пользователям, многие из которых выполняются через командную оболочку Bash.
Некоторые запускаются при старте системы.
/boot
Хранит ядро операционной системы и карты загрузки, а также конфигурационные
файлы загрузчиков.
/dev
Содержит файлы особого типа, предназначенные для обращения к системным
ресурсам и устройствам.
/etc
В этом каталоге содержится информация о пользователях, доступных ресурсах,
настройках различных программ.
/home
Здесь располагаются домашние директории пользователя, отсюда и название "home".
Отделение файлов пользователя, от других системных файлов дает очевидный плюс, т.к
в случае сбоя или повреждения системы, файлы пользователя не будут затронуты.
А также хранятся различные настройки конкретного пользователя в скрытых файлах и
папках.

28.

/lib
Хранятся библиотеки, которые нужны для работы важных системных утилит.
/media
Директория, в который монтируются файловые системы.
/mnt
Директория для временного подключения файловых систем на съемных носителях
(CD-диски, USB-флэшки, внешние ж/диски). Обычно используется для временного
монтирования.
/opt
Директория для дополнительного программного обеспечения.
/proc
Все файлы в этой директории "виртуальные". То есть, они хранятся в оперативной
памяти. В файлах содержится информация о программах (процессах), выполняемых в
данный момент в системе.
/proc/<pid> соответствует команде ps aux
/root
Директория администратора (пользователя root), которая размещается отдельно от
других директорий для постоянной доступности. Директория /home может располагаться
на отдельном устройстве!!!

29.

/sbin
Директория системных утилит. Здесь содержаться программы нужные для загрузки,
восстановления системы, резервного копирования. Права на исполнение этих программ
только у суперпользователя.
/srv
Данные для сервисов и услуг (FTP, HTTP ...).
/sys
Средства для изменения конфигурации системы. Информация об устройствах ядра
Linux.
/tmp
Директория для хранения временных файлов, которые создаются запущенными
программами или процессами. Самоочищается при каждой перезагрузке системы.
/usr
Во многом повторяет структуру корневого каталога. Сюда устанавливаются
пользовательские (user) программы дистрибутива. Так в /usr/bin содержится
большинство программ, в /usr/include – заголовочные файлы, в /usr/lib – библиотеки для
программ, размещенных в usr.
/var
Хранится информация, которая создаётся в процессе работы программами и
необходимая для передачи другим программам и системам.

30.

Структурные единицы
хранения информации

31.

Типы файлов
Файлы в операционной системе Linux можно поделить на три основных типа:
- обычный файл - для хранения информации;
- директория;
- специальные файлы - для устройств и туннелей.
Утилита определения типа файла:
file [путь][файл]
Примеры:

32.

Типы файлов
Полный перечень распознаваемых файлов можно узнать командой:
file –l | less

33.

Типы файлов
Обычные файлы
Это файлы, которые содержат текст, исполняемые инструкции для программ,
изображения или другую информацию. Это самый распространенный тип файлов, которые
вы можете найти в системе Linux.
Список распространённых файлов:
- текстовые файлы
- исполняемые файлы
- файлы изображений
- файлы архивов
- файлы библиотек программ
и мн.др.

34.

Типы файлов
Директории
Это файлы (directory), которые содержать как обычные, так и специальные файлы
объединенные в группы для более простой навигации и поиска.
В системе Linux, файлы организуются в папки начиная от корня (/)

35.

Типы файлов
Специальные
Блочные файлы - это файлы устройств, которые обеспечивают буферизованный доступ
к аппаратным компонентам.
При записи данных на жесткий диск или на флешку нет смысла записывать данные сразу
же после их поступления. Так мы будем только понапрасну расходовать ресурс устройства
и энергию. Можно подождать пока наберется достаточное количество данных а потом
записать их за один раз. Эти данные и собираются в буфере. С помощью таких файлов,
файловая система и другие утилиты могут обращаться к драйверам аппаратных устройств.
Такие файлы могут передать большой блок данных за небольшой один раз.

36.

Типы файлов
Специальные
Символьные файлы обеспечивают не буферизованный доступ к аппаратным
компонентам и ядру. Поскольку у них нет буфера, они позволяют передавать только по
одному символу за один раз. А в остальном, это такие же файлы устройств, как и блочные
файлы.

37.

Типы файлов
Специальные
Символические ссылки - это файлы, которые указывают на другие файлы в системе по
их имени. Они могут указывать как на обычные файлы, так и на каталоги или другие типы
файлов.
По сути, это те же ярлыки Windows. В Linux еще есть жесткие ссылки, но они не имеют
отношения к типу файлов, потому что реализованы на уровне файловой системы и
считаются обычными файлами. Поскольку они указывают на одно и то же место на диске,
это два разных файла, с одинаковым содержимым.

38.

Типы файлов
Специальные
Туннели и именованные туннели (pipe) - это файлы, позволяющие настроить связь
между двумя процессами перенаправив вывод одного процесса на вход другого.
Именованные туннели используются для связи между двумя процессами и работают так
же как и обычные туннели.

39.

Типы файлов
Специальные
Файлы сокетов (socket) - это файлы, обеспечивающие прямую связь между
процессами, они могут передавать информацию между процессами, запущенными в
разных средах или даже разных машинах. Работают так же как туннели, но только в обе
стороны.
С помощью сокетов программы могут обмениваться данными даже по сети.

40.

Виртуализация в ОС

41.

Терминология
В ГОСТ Р 56938-2016 «Защита информации. Защита информации при использовании
технологий виртуализации. Общие положения»используются следующие определения:
виртуализация — группа технологий, основанных на преобразовании формата или
параметров программных или сетевых запросов к компьютерным ресурсам с целью
обеспечения независимости процессов обработки информации от программной или
аппаратной платформы информационной системы;
виртуализация программного обеспечения (виртуализация программ) — технология
создания изолированной программной среды (контейнера) со специфическим набором
компонентов имитируемой операционной системы, обеспечивающим работу отдельных
программ;
виртуализация аппаратного обеспечения, виртуализация вычислительных систем —
технология создания изолированной программной среды (контейнера) со специфическим
набором компонентов имитируемого микропрограммного и аппаратного обеспечения,
обеспечивающим работу отдельных операционных систем;
виртуальная машина (ВМ) — виртуальная вычислительная система, которая состоит из
виртуальных устройств обработки, хранения и передачи данных и которая дополнительно
может содержать программное обеспечение и пользовательские данные;
виртуализация вычислительных сетей (виртуализация каналов передачи данных) —
технология объединения аппаратных и программных сетевых ресурсов и сетевых функций в
едином программно администрируемом объекте для реализации их логического
взаимодействия через дополнительные виртуальные сетевые ресурсы и функции.

42.

Терминология
Гипервизор — технология развертывания программного обеспечения на физическом
оборудовании с использованием виртуализации.
Основные задачи гипервизора:
эмуляция аппаратных ресурсов;
безопасное выполнение машинных инструкций;
предотвращение выполнения команд гостевых операционных систем в режиме
супервизора на хост-машине (исключение перехвата и анализа команд).
Виртуальная машина — это программная и/или аппаратная система, эмулирующая
аппаратное обеспечение некоторой платформы (guest — гостевая платформа) и
исполняющая программы для guest-платформы на host-платформе (host — хостплатформа, платформа-хозяин) или виртуализирующая некоторую платформу и
создающая на ней среды, изолирующие друг от друга программы и даже операционные
системы (см.: песочница); также спецификация некоторой вычислительной среды

43.

Виртуализация в ОС
Аппаратная виртуализация - гипервизор 1 типа (native, bare-metal)
Примеры:
VMWare ESXi;
KVM (Proxmox VE);
Xen (Xenserver, Citrix Hypervisor), Windows Hyper-V Server.

44.

Виртуализация в ОС
Виртуализация уровня рабочих столов - гипервизор 2 типа (hosted)
Примеры:
Oracle VM VirtualBox, VMWare Workstation;
KVM (Proxmox VE);
Windows Server (роль Hyper-V).

45.

Виртуализация в ОС
Контейнеризация
Примеры:
Docker;
Kubernetes.

46.

Спасибо за внимание
English     Русский Rules