tyulkin20091126

advertisement
Доклад
Распределенные файловые
системы: обзор
Докладчик:
Тюлькин Антон,
кафедра СП ВМиК МГУ
Предпосылки развития
• Необходимость работать с удаленными данными
• Совместная работа с данными
Andrew FS
Client
(Venus)
Server
(Vice)
Server
(Vice)
Client
(Venus)
Server
(Vice)
Client
(Venus)
Client
(Venus)
Volume Location Database
на каждом сервере
Все клиенты видят единое
глобальное пространство имен
Кэширование на клиенте
• Файл целиком кэшируется на клиенте в момент
открытия
• Нет обменов с сервером до закрытия файла
• Другие клиенты увидят изменения только тогда,
когда файл будет закрыт
CIFS, NFS
• SMB, NFS – не распределенная файловая система, а
протокол удаленного доступа к файловой системе
• Не рассматривают важные аспекты РФС
• Общего назначения
Дальнейшая эволюция
• Рост объема хранимых данных
• Необходимость выполнять операции над
большими объемами данных
• Доступ к данным не смотря на географическую
удаленность
Создание новых систем
• HPC (high performance computing)
• DISC (data-intensive scalable computing)
• SRB (storage resource broker)
• Отдельный интерес к системам построенным на
базе стандартных машин
– отказоустойчивость
Что ожидает пользователь
• Единое глобальное пространство имен
• Стабильность (надежность хранения/доступность
данных)
• Производительность
• Корректность операций (выполнение гарантий)
Внутренние механизмы
• Способы хранения данных и метаданных
• Методы дублирования данных/ресурсов
• Кэширование данных, распараллеливание
операций
• Методы работы с разделяемыми ресурсами
DISC
• Основные характеристики
– Хранение огромных объемов данных
– Выполнение длительных заданий (batch jobs)
• Часто используется MapReduce парадигма
• Использование дешевого оборудования
• Примеры
– Google File System
– Hadoop
– Amazon S3
Ослабление семантики
• Использование определяет архитектуру и гарантии
• Пример:
GFS операции записи в конец (append) может
породить дубликаты записей, паддинг регионы.
Архитектура GFS
Client
Обмен данными
Chunk
Server
Реплика 1
Информация о файле
Chunk
Server
Реплика 2
Single
Master
Chunk
Server
Chunk
Server
Реплика 3
Отсутствие кэширования в GFS
• Ни клиент, ни чанк-сервер не
осуществляют кэширование данных
– Упрощает реализацию
– Не проблема при потоковой обработке
данных
HPC
• Эффективные вычисления и обработка данных
для научных приложений
• Особенности
– Параллельная обработка данных
– Более дорогое оборудование (и соответственно более
надежное)
– Часто используется MPI
• Примеры
– GPFS (IBM)
– PVFS
– Lustre (SUN)
GPFS
File System
Node
File System
Node
File System
Node
Switching
Fabric
Блочный
интерфейс
доступа
Shared
Disk
файл
part1
Shared
Disk
part2
Shared
Disk
part3
GPFS
• Один распределенный менеджер блокировок
– атомарность операций чтения/записи
– консистентность кэшей
– исключение: atime
• Альтернативный режим – узел отвечает за блок,
все запросы идут на соответствующий узел
• Используется упреждающая загрузка данных, с
учетом структуры доступа (например,
последовательная); можно дать подсказки
PVFS
• I/O сервера узлы используют локальную ФС для
хранения частей файлов
• Нет никаких блокировок, но каждая субоперация
должна быть атомарной по отношению к файловой
системе
• Несколько серверов метаданных
GPFS Locking vs PVFS non-locking
• Преимущества не-блокировок
– Проще реализовать
– Меньше задержек (меньше обменов сообщениями)
– Нет состояния (проще восстанавливать после сбоев)
• Недостатки
– Не POSIX семантика
– Нужно делать сборку мусора
Lustre
• POSIX семантика (c минимальными исключениями)
• В ранних версиях: один сервер метаданных (+ один
запасной)
• Полагаются на надежные диски (RAID), в будущих
версиях планируются разбиение данных с
использованием механизмов избыточности
• Распределенные «целевые» блокировки
– можно ли кэшировать операции с метаданными
CEPH
• РФС общего назначения
• Несколько серверов метаданных, учитывается
популярность метаданных для динамической
репликации
• Данные реплицируются на несколько OSD (object
storage device)
• Поддерживает POSIX, но расширяет интерфейс
POSIX vs HPC
• POSIX разрабатывался для одномашинных систем,
с единым пространством виртуальной памяти и
простым периферийным устройством хранения
данных
• Исследования экспертов HPC показали, что
использование POSIX не позволяет эффективно
использовать имеющиеся ресурсы
HPC нагрузки
• Одновременный доступ к одному файлу
несколькими клиентами
• Непоследовательный доступ к файлу
• Активное использование операций с метаданными
(например параллельное создание файлов в
директории)
Пример расширения POSIX
•
•
•
•
Readdirplus (nfs3)
Openg, Openfh
Statlite
Writex, Readx
SRB
• Используется в большой, разнородной среде,
используемой различными комьюнити
• Стандартные задачи
– Найти данные
– Получить данные
– Как можно больше упростить жизнь клиента
• Особенности GRID
– Разные форматы данных, разные хранилища данных
– Разные сетевые топологии, технологии, методы доступа
SRB
• MCAT (metadata catalog)
–
–
–
–
URL
SQL
пути к файлам
и т.д.
• Драйверы для разных хранилищ данных
• Новые задачи:
– Виртуализация доступа
– Доступ к физически удаленным ресурсам
– Работа через файерволы и т.п.
Тенденции в РФС
• Использование более интеллектуальных единиц
хранения (например, OSD)
• Разделение данных и метаданных
• Упрощение механизмов обновления, создания
файловой системы
Cloud computing
• Сервисы хранения (Amazon S3)
• Создание private cloud
• WAN РФС: XtreemFS, WheelFS
Wheel FS
• Основные принципы
– Децентрализация
– У каждого приложения свои потребности
• Способ
– Управлять семантикой доступа к файлу
•
•
/wfs/rtm/.anyversion/data
/wfs/rtm/.latestversion/data
– Давать подсказки системе
•
WriteOnce
– Локальные операции записи, чтение наподобие BitTorrent
Новая РФС от Google
• Существующие недостатки
– Специальное поведение
• Например, записи в конец файла могут появляться в разном порядке,
что неожиданно для программистов
– Нет оптимизаций для real-time приложений
– Один мастер
• Проблема с большим количеством файлов
• Неприемлемый простой в результате сбоя
– Большой размер чанка
• Не эффективно работать с маленькими файлами
Много других задач
• Создание снапшотов
• Права доступа
• Оптимизация операций (например, collective IO)
• Синхронизация реплик
Конец
Спасибо за внимание
Download