Тип работы:
Предмет:
Язык работы:


Разработка файловой системы с поддержкой дедупликации данных

Работа №58264

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы29
Год сдачи2016
Стоимость4355 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
122
Не подходит работа?

Узнай цену на написание


Введение 4
Постановка задачи 5
1. Обзор существующих решений 6
1.1. LessFS 6
1.2. SDFS 6
1.3. BTRFS 6
1.4. ZFS 7
2. Архитектура VFS 8
2.1. Обзор VFS 8
2.2. Основные определения 9
2.3. Структуры данных VFS 11
3. Проектирование файловой системы 13
3.1. Структура корневой директории 17
3.2. Управление свободной памятью 17
3.3. Создание файла 18
3.4. Чтение файла 18
3.5. Запись в файл 19
3.6. Удаление файла 21
Апробация 22
4.1. mkfs 22
4.2. proc директория 22
4.3. Последовательная запись 23
4.4. Произвольная запись 24
4.5. Тест консистентности 24
4.6. Тестирование QEMU образов 25
Результаты
Список литературы

В последнее время тема дедупликации данных является одним из центров внимания производителей и IT администраторов оборудования хранения информации. Она стала особенно актуальной в связи с текущей тенденцией экспоненциального роста данных, которую испытывают большинство современных дата-центров мира.
Дедупликация данных - это процесс нахождения и исключения избыточности данных посредством удаления дублирующихся копий информации на дисковом хранилище. Цель дедупликации заключается в том, чтобы разместить большее количество данных на меньшем пространстве. Одним из примеров применения дедупликации данных может служить замена повторных копий файлов ссылками на единственный экземпляр. Такой тип дедупликации называется файловым.
Традиционно выделяют несколько типов дедупликации в зависимости от уровня реализации - на уровне файлов, блоков данных и даже на битовом уровне. Механизм дедупликации на файловом уровне уже давно реализован и приобрел широкое применение в традиционных UNIX-подобных файловых системах, таких как ext2, при помощи отдельного хранения мета-информации о данных (концепция inode) и самих данных (концепция data block)[2, 3, 4, 5]. Это позволяет иметь одну копию файла на дисковом пространстве и хранить множество линков на единственный образ. Однако этот метод не применим даже при незначительном изменении файла. Одним из примеров служит хранение образов виртуальных машин множества пользователей. Изначальный образ является общим для всех пользователей, но изменения, вносимые каждым пользователем, являются индивидуальными, что не позволяет применять метод файловой дедупликации в данном случае, поскольку на уровне стандартной файловой системы UNIX могут адресоваться только линки на файлы в целом, а не на изменения в них. Поэтому в этом случае могла бы быть применена дедупликация на блочном уровне.
Также методы дедупликации делятся на inline и offline типы. Дедупликация, осуществляющаяся в момент записи данных на диск, называется inline дедупликацией, а та, которая реализуется отдельным процессом в последующее время, называется offline дедупликацией.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были достигнуты следующие результаты.
1. Изучены интерфейсы VFS подсистемы ядра Linux
2. Разработана архитектура файловой системы: спроектированы дисковая разметка и используемые структуры файловой системы для дедупликации данных, а также операции над ними
3. Реализована userspace утилита mkfs для создания дисковой разметки спроектированной файловой системы на блочном устройстве
4. Реализован драйвер файловой системы c поддержкой дедупликации данных на лету для ядра Linux
5. Проведена апробация реализованной функциональности:
• реализован драйвер, обеспечивающий доступ к внутренней статистике использования смонтированной файловой системы с помощью механизма /proc директорий;
• проведено сравнение различных подходов к организации процесса дедупликации данных для файловых систем.



[1] ZFS On-Disk Specification. Sun microsystems, 2006.
[2] Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Operating Systems: Three Easy Pieces. Filesystem Implementation. 2015.
[3] Daniel P. Bovet. Understanding the Linux Kernel, Third Edition. The Virtual Filesystem. 2005.
[4] Robert Love. Linux Kernel Development (3rd Edition). The Virtual Filesystem. Addison-Wesley Professional, 2010.
[5] Wolfgang Mauerer. Professional Linux Kernel Architecture. The Virtual Filesystem. 2008.
[6] Chris Mason Ohad Rodeh, Josef Bacik. BTRFS: The Linux B-tree Filesystem. IBM Research, 2012.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ