SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Обзор архитектуры
[файловой] системы Ceph
Темы
● Черты Software Defined Storage
● История Ceph
● Архитектура и технические решения
● Обзор средств администрирования
● Примеры
NB: ссылки на источники, использованные в презентации, приведены на последнем слайде
Software Defined Storage
● SDS – «Интеллектуальная» часть сети
хранения данных, не привязанная к
оборудованию;
● SDS способна самостоятельно принимать
решения относительно места хранения,
методов защиты и перемещения данных
● Имеет линейно масштабируемую архитектуру
● Control-path отделен от data-path
CAP-теорема, или 2 из 3
● Сonsistency – в лобой момент времени
данный не противоречат друг другу на узлах
● Availability – любой запрос завершается
корректным откликом
● Partition tolerance – расщепление системы
на независимые компоненты не приводит к
некорректности отклика от каждой
RAID в прошлом?
● Объем 1 диска растет, время
восстановления увеличивается → занимает
часы
● RAID требует идентичных резервных дисков
● RAID не защищает от сбоев сети, ОС,...
● Деградация производительности при сбое
нескольких дисков
Вместо RAID → Erasure Codes
● стратегия прямой коррекции ошибок:
– исходное сообщение длинной K
трансформируется в сообщение длиной N (N>K)
– по любым K символам сообщение восстановимо
● примеры реализации:
– Parity в RAID
– Коды Рида-Соломона
История и развитие Ceph
● 2003, Сейдж Вейл (Sage Weil) часть проекта докторской
диссертации – ФС
● 2003—2007, Исследовательский проект, развивался
сообществом
● 2007—2011, DreamHost, начало промышленного
применения
● 2012 – Inktank, корпоративная подписка, саппорт
● 2014 – Red Hat Inc. (Cisco, CERN и Deutsche Telekom,
Dell, Alcatel-Lucent, …)
RH: A next-generation platform for petabyte-scale storage
Архитектурные принципы
● Все компоненты должны быть масштабируемы
● Нет единой точки отказа
● Решение должно опираться на открытое
программное обеспечение
● ПО должно работать на обычном железе
(commodity hardware)
● Максимальная самоуправляемость, везде, где
возможно
Унифицированный стек Ceph
ПРИЛОЖЕНИЯ
Объекты Блоки Файлы
Кластер CEPH
CEPH
OS
CPU
Память
Диски
Сеть
CEPH
OS
CPU
Память
Диски
Сеть
CEPH
OS
CPU
Память
Диски
Сеть
CEPH
OS
CPU
Память
Диски
Сеть
CEPH
OS
CPU
Память
Диски
Сеть
CEPH
OS
CPU
Память
Диски
Сеть
Типовые серверы
[Предвзятое] сравнение с
открытыми аналогами
Наименование Отличия
Integrated Rule-Oriented
Data System (iRODS)
iCAT,Сервер метаданных является единой
, ,точкой отказа нет блочного хранения нет
RESTful
HDFS ,Нет блочного хранения Сервер метаданных
NameNode – потенциальная точка отказа
Lustre – bottle neck,Сервер метаданных отсутствие
встроенного механизма обнаружения и
исправления сбоев узлов
GlusterFS Блочный доступ и удаленная репликация не
,являются встроенными а доступны как
расширения
Облачные решения
использующие Ceph
Архитектура
RADOS: Надежное автономное распределенное объектное хранилище
LibRADOS: непосредственный низкоуровневый доступ к
RADOS на языках C++, Java, Ruby, Python, php
RADOSGW
RESTful API
совместимый с
решениями
S3 и Swift
RBD
надежное,
полностью
распределенное
блочное устройство с
поддержкой QEMU/KVM
CEPHFS
POSIX-совместимая
распределенная ФС
с поддержкой в
Linux kernel и FUSE
APP APP HOST/VM CLIENT
Концептуальный взгляд
Кластер
хранения
Кластер
метаданных
Мониторы
Клиенты
CEPH
Reliable Autonomic Distributed
Object Store → RADOS
● Репликация CRUSH (Controlled Replication
Under Scalable Hashing)
● Автоматическое восстановление объектов из
копий, при разрушении
● Автоматическая миграция данных
Файловая система OSD Ceph
● Файловые системы:
– btrfs
– xfs
– ext4
● Поддержка (xATTRs):
– xattr_name → xattr_value,
CEPH OSD
HOST FS
Физический
диск
Мониторы Ceph
● Монитор – демон обеспечивающий поддержание режима
членства в кластере, хранение настроек и состояния.
● Карты:
– монитора
– OSD
– PG
– CRUSH
– MDS
● Согласованность принятия решений обеспечивает paxos
→ число мониторов нечетно, >=3
Алгоритм PAXOS
● Обеспечивает консенсус
● Соответствует показателям:
– Согласованность →решение принимается
только единогласно
– Нетривиальность →количество вариантов
решения известно заранее и больше 1
– Живучесть →если предлагается принять
решение, то решение (не обязательно
предложенное) рано или поздно будет принято.
KRBD
● предоставление блочного
хранения гипервизорам и
виртуальным машинам
● реализация thin provisioning
● Поддержка:
– XEN
– KVM
– QEMU
Шлюз объектов Ceph (RADOS)
● Amazon S3
RESTful API
● OpenStack Swift
API
● HTTP RESTful API
(Admin)
Сервер метаданных MDS Ceph
● Ceph MDS – демон, обеспечивающий
– возможность монтировать на клиентах POSIX
ФС произвольного размера
– управление filesystem namespace
– координация доступа к OSD кластеру
CephFS
● Реализована в
libcephfs
● поддержка:
– NFS
– CIFS
– SMB
● Альтернатива
Hadoop HDFS
CRUSH
● CRUSH: Controlled Replication Under Scalable Hashing
● CRUSH map (см. пример)
● Типы корзинок (размен между производительностью и
организационной гибкостью):
– Uniform
– List
– Tree
– Straw
Алгоримтмы распределения
● Uniform – все веса строго одинаковы. Подходит, когда
кластер состоит из совершенно одинаковых машин и
дисков
● List – перемещаемые данные с некоторой
вероятностью попадают в новое или старое
хранилище. Expanding cluster.
● Tree – бинарные деревья, оптимизация скорости
помещения объектов в хранилище.
● Straw – комбинация стратегий List и Tree для
реализации принципа «разделяй и властвуй».
Обеспечивает быстрое размещение, но иногда создает
проблемы для реорганизации
Placement groups (PG)
● Группа размещения
– логическая
коллекция объектов,
внутри пула.
● Группа
реплицируется на
несколько OSD
Пулы Ceph
● Устойчивость
– установка количества копий объекта
– для EC количество кодированных блоков (chunks)
● Группы размещения
● CRUSH правила
– для пула можно определить правила избыточности
● Снапшоты
● Установка владельца
CLI 1/2
● ceph-disk – подготовка и активация дисков
● ceph – администрирование ceph
● ceph-deploy – Ceph deployment tool
● ceph-rest-api – ceph RESTlike administration server
● ceph-authtool – ceph keyring manipulation tool
● ceph-clsinfo – show class object information
● ceph-conf – ceph conf file tool
● ceph-debugpack – ceph debug packer utility
CLI 2/2
● ceph-dencoder – ceph encoder/decoder utility
●
ceph-mon – ceph monitor daemon
● ceph-osd – ceph object storage daemon
● ceph-run – restart daemon on core dump
● ceph-syn – ceph synthetic workload generator
● crushtool – CRUSH map manipulation tool
● librados-config – display information about librados
● monmaptool – ceph monitor cluster map manipulation tool
● osdmaptool – ceph osd cluster map manipulation tool
● rados – rados object storage utility
Источники и ссылки
● http://ceph.com
● Karan Singh «Learning Ceph» Packt Publishing
● Sage A. Weil et al. RADOS: A Scalable, Reliable
Storage Service for Petabyte-scale Storage Clusters
● Sage A. Weil et al. CRUSH: Controlled, Scalable,
Decentralized Placement of Replicated Data
● http://rus-linux.net/nlib.php?name=/MyLDP/file-sys/
ceph/ceph.html
● https://github.com/carmstrong/multinode-ceph-
vagrant

Weitere ähnliche Inhalte

Was ist angesagt?

Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Ontico
 
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...Ontico
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Ontico
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLДмитрий Васильев
 
Использование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищИспользование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищAlexander Reytman
 
pgconf.ru 2015.avito postgresql recovery
pgconf.ru 2015.avito postgresql recoverypgconf.ru 2015.avito postgresql recovery
pgconf.ru 2015.avito postgresql recoveryМихаил Тюрин
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Ontico
 
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Ontico
 
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиIBS
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQLAndrei Nikolaenko
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Ontico
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеVolha Banadyseva
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)Ontico
 
Владимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLВладимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLYandex
 

Was ist angesagt? (20)

Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
 
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
Оптимизация программ для современных процессоров и Linux, Александр Крижановс...
 
Data storage systems
Data storage systemsData storage systems
Data storage systems
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
 
Scaling PostgreSQL
Scaling PostgreSQLScaling PostgreSQL
Scaling PostgreSQL
 
PostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimmPostgreSQL on sas/ssd/nvme/nvdimm
PostgreSQL on sas/ssd/nvme/nvdimm
 
Беспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQLБеспроблемная эксплуатация PostgreSQL
Беспроблемная эксплуатация PostgreSQL
 
Использование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищИспользование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищ
 
pgconf.ru 2015.avito postgresql recovery
pgconf.ru 2015.avito postgresql recoverypgconf.ru 2015.avito postgresql recovery
pgconf.ru 2015.avito postgresql recovery
 
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
 
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
 
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
 
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresqlpgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
 
Red Hat Storage 3.0
Red Hat Storage 3.0Red Hat Storage 3.0
Red Hat Storage 3.0
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проектеАлексей Чумаков. Apache Cassandra на реальном проекте
Алексей Чумаков. Apache Cassandra на реальном проекте
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
 
Владимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQLВладимир Бородин - PostgreSQL
Владимир Бородин - PostgreSQL
 

Andere mochten auch

OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvementsOSLL
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationOSLL
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration toolOSLL
 
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagImplementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagOSLL
 
N8xx olpc connectivity
N8xx olpc connectivityN8xx olpc connectivity
N8xx olpc connectivityOSLL
 
SVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsSVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsOSLL
 
Fruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityFruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityOSLL
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...OSLL
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with SeleniumOSLL
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDbOSLL
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control GroupsOSLL
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBeeOSLL
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)OSLL
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersOSLL
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиOSLL
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12OSLL
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015OSLL
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraOSLL
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеOSLL
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer OSLL
 

Andere mochten auch (20)

OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvements
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern Education
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool
 
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2TagImplementation of the new REST API for Open Source LBS-platform Geo2Tag
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
 
N8xx olpc connectivity
N8xx olpc connectivityN8xx olpc connectivity
N8xx olpc connectivity
 
SVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulationsSVG-player plugin for ns2 simulations
SVG-player plugin for ns2 simulations
 
Fruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityFruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivity
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with Selenium
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDb
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBee
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contra
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работе
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer
 

Ähnlich wie Обзор архитектуры [файловой] системы Ceph

СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Максим Шапошников, Nutanix
Максим Шапошников, NutanixМаксим Шапошников, Nutanix
Максим Шапошников, NutanixOntico
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
phpConf 2010 Классификация систем хранения
phpConf 2010 Классификация систем храненияphpConf 2010 Классификация систем хранения
phpConf 2010 Классификация систем храненияSlach
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Tanya Denisyuk
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Andrey Akulov
 
Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?aragozin
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентацияPavel Odintsov
 
Использование контейнеризации в среде массового хостинга
Использование контейнеризации в среде массового хостингаИспользование контейнеризации в среде массового хостинга
Использование контейнеризации в среде массового хостингаYandex
 
Максим Богук. Postgres-XC
Максим Богук. Postgres-XCМаксим Богук. Postgres-XC
Максим Богук. Postgres-XCPostgreSQL-Consulting
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиAlexey Demidchuk
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSTechnopark
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Ontico
 
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Ontico
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014Andrey Korshikov
 
XML Native Database на примере SednaXML
XML Native Database на примере SednaXMLXML Native Database на примере SednaXML
XML Native Database на примере SednaXMLSlach
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusVladd Ev
 
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)Ontico
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...IT-Portfolio
 

Ähnlich wie Обзор архитектуры [файловой] системы Ceph (20)

СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Максим Шапошников, Nutanix
Максим Шапошников, NutanixМаксим Шапошников, Nutanix
Максим Шапошников, Nutanix
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
phpConf 2010 Классификация систем хранения
phpConf 2010 Классификация систем храненияphpConf 2010 Классификация систем хранения
phpConf 2010 Классификация систем хранения
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)
 
Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?Распределённый кэш или хранилище данных. Что выбрать?
Распределённый кэш или хранилище данных. Что выбрать?
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентация
 
Использование контейнеризации в среде массового хостинга
Использование контейнеризации в среде массового хостингаИспользование контейнеризации в среде массового хостинга
Использование контейнеризации в среде массового хостинга
 
Максим Богук. Postgres-XC
Максим Богук. Postgres-XCМаксим Богук. Postgres-XC
Максим Богук. Postgres-XC
 
Кластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможностиКластер БГУИР: расширенные возможности
Кластер БГУИР: расширенные возможности
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)
 
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014
 
XML Native Database на примере SednaXML
XML Native Database на примере SednaXMLXML Native Database на примере SednaXML
XML Native Database на примере SednaXML
 
High load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rusHigh load2007 scaling-web-applications-rus
High load2007 scaling-web-applications-rus
 
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 

Mehr von OSLL

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSOSLL
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...OSLL
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2TagOSLL
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROSOSLL
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhovaOSLL
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingOSLL
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationOSLL
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIOSLL
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-trainingOSLL
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsOSLL
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformOSLL
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video OSLL
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksOSLL
 
Geo2Tag LBS Platform Architecture Overview
Geo2Tag LBS Platform Architecture OverviewGeo2Tag LBS Platform Architecture Overview
Geo2Tag LBS Platform Architecture OverviewOSLL
 

Mehr von OSLL (14)

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROS
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2Tag
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROS
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhova
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profiling
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integration
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web API
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-training
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentals
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platform
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disks
 
Geo2Tag LBS Platform Architecture Overview
Geo2Tag LBS Platform Architecture OverviewGeo2Tag LBS Platform Architecture Overview
Geo2Tag LBS Platform Architecture Overview
 

Обзор архитектуры [файловой] системы Ceph

  • 2. Темы ● Черты Software Defined Storage ● История Ceph ● Архитектура и технические решения ● Обзор средств администрирования ● Примеры NB: ссылки на источники, использованные в презентации, приведены на последнем слайде
  • 3. Software Defined Storage ● SDS – «Интеллектуальная» часть сети хранения данных, не привязанная к оборудованию; ● SDS способна самостоятельно принимать решения относительно места хранения, методов защиты и перемещения данных ● Имеет линейно масштабируемую архитектуру ● Control-path отделен от data-path
  • 4. CAP-теорема, или 2 из 3 ● Сonsistency – в лобой момент времени данный не противоречат друг другу на узлах ● Availability – любой запрос завершается корректным откликом ● Partition tolerance – расщепление системы на независимые компоненты не приводит к некорректности отклика от каждой
  • 5. RAID в прошлом? ● Объем 1 диска растет, время восстановления увеличивается → занимает часы ● RAID требует идентичных резервных дисков ● RAID не защищает от сбоев сети, ОС,... ● Деградация производительности при сбое нескольких дисков
  • 6. Вместо RAID → Erasure Codes ● стратегия прямой коррекции ошибок: – исходное сообщение длинной K трансформируется в сообщение длиной N (N>K) – по любым K символам сообщение восстановимо ● примеры реализации: – Parity в RAID – Коды Рида-Соломона
  • 7. История и развитие Ceph ● 2003, Сейдж Вейл (Sage Weil) часть проекта докторской диссертации – ФС ● 2003—2007, Исследовательский проект, развивался сообществом ● 2007—2011, DreamHost, начало промышленного применения ● 2012 – Inktank, корпоративная подписка, саппорт ● 2014 – Red Hat Inc. (Cisco, CERN и Deutsche Telekom, Dell, Alcatel-Lucent, …) RH: A next-generation platform for petabyte-scale storage
  • 8. Архитектурные принципы ● Все компоненты должны быть масштабируемы ● Нет единой точки отказа ● Решение должно опираться на открытое программное обеспечение ● ПО должно работать на обычном железе (commodity hardware) ● Максимальная самоуправляемость, везде, где возможно
  • 9. Унифицированный стек Ceph ПРИЛОЖЕНИЯ Объекты Блоки Файлы Кластер CEPH CEPH OS CPU Память Диски Сеть CEPH OS CPU Память Диски Сеть CEPH OS CPU Память Диски Сеть CEPH OS CPU Память Диски Сеть CEPH OS CPU Память Диски Сеть CEPH OS CPU Память Диски Сеть Типовые серверы
  • 10. [Предвзятое] сравнение с открытыми аналогами Наименование Отличия Integrated Rule-Oriented Data System (iRODS) iCAT,Сервер метаданных является единой , ,точкой отказа нет блочного хранения нет RESTful HDFS ,Нет блочного хранения Сервер метаданных NameNode – потенциальная точка отказа Lustre – bottle neck,Сервер метаданных отсутствие встроенного механизма обнаружения и исправления сбоев узлов GlusterFS Блочный доступ и удаленная репликация не ,являются встроенными а доступны как расширения
  • 12. Архитектура RADOS: Надежное автономное распределенное объектное хранилище LibRADOS: непосредственный низкоуровневый доступ к RADOS на языках C++, Java, Ruby, Python, php RADOSGW RESTful API совместимый с решениями S3 и Swift RBD надежное, полностью распределенное блочное устройство с поддержкой QEMU/KVM CEPHFS POSIX-совместимая распределенная ФС с поддержкой в Linux kernel и FUSE APP APP HOST/VM CLIENT
  • 14. Reliable Autonomic Distributed Object Store → RADOS ● Репликация CRUSH (Controlled Replication Under Scalable Hashing) ● Автоматическое восстановление объектов из копий, при разрушении ● Автоматическая миграция данных
  • 15. Файловая система OSD Ceph ● Файловые системы: – btrfs – xfs – ext4 ● Поддержка (xATTRs): – xattr_name → xattr_value, CEPH OSD HOST FS Физический диск
  • 16. Мониторы Ceph ● Монитор – демон обеспечивающий поддержание режима членства в кластере, хранение настроек и состояния. ● Карты: – монитора – OSD – PG – CRUSH – MDS ● Согласованность принятия решений обеспечивает paxos → число мониторов нечетно, >=3
  • 17. Алгоритм PAXOS ● Обеспечивает консенсус ● Соответствует показателям: – Согласованность →решение принимается только единогласно – Нетривиальность →количество вариантов решения известно заранее и больше 1 – Живучесть →если предлагается принять решение, то решение (не обязательно предложенное) рано или поздно будет принято.
  • 18. KRBD ● предоставление блочного хранения гипервизорам и виртуальным машинам ● реализация thin provisioning ● Поддержка: – XEN – KVM – QEMU
  • 19. Шлюз объектов Ceph (RADOS) ● Amazon S3 RESTful API ● OpenStack Swift API ● HTTP RESTful API (Admin)
  • 20. Сервер метаданных MDS Ceph ● Ceph MDS – демон, обеспечивающий – возможность монтировать на клиентах POSIX ФС произвольного размера – управление filesystem namespace – координация доступа к OSD кластеру
  • 21. CephFS ● Реализована в libcephfs ● поддержка: – NFS – CIFS – SMB ● Альтернатива Hadoop HDFS
  • 22. CRUSH ● CRUSH: Controlled Replication Under Scalable Hashing ● CRUSH map (см. пример) ● Типы корзинок (размен между производительностью и организационной гибкостью): – Uniform – List – Tree – Straw
  • 23. Алгоримтмы распределения ● Uniform – все веса строго одинаковы. Подходит, когда кластер состоит из совершенно одинаковых машин и дисков ● List – перемещаемые данные с некоторой вероятностью попадают в новое или старое хранилище. Expanding cluster. ● Tree – бинарные деревья, оптимизация скорости помещения объектов в хранилище. ● Straw – комбинация стратегий List и Tree для реализации принципа «разделяй и властвуй». Обеспечивает быстрое размещение, но иногда создает проблемы для реорганизации
  • 24. Placement groups (PG) ● Группа размещения – логическая коллекция объектов, внутри пула. ● Группа реплицируется на несколько OSD
  • 25. Пулы Ceph ● Устойчивость – установка количества копий объекта – для EC количество кодированных блоков (chunks) ● Группы размещения ● CRUSH правила – для пула можно определить правила избыточности ● Снапшоты ● Установка владельца
  • 26. CLI 1/2 ● ceph-disk – подготовка и активация дисков ● ceph – администрирование ceph ● ceph-deploy – Ceph deployment tool ● ceph-rest-api – ceph RESTlike administration server ● ceph-authtool – ceph keyring manipulation tool ● ceph-clsinfo – show class object information ● ceph-conf – ceph conf file tool ● ceph-debugpack – ceph debug packer utility
  • 27. CLI 2/2 ● ceph-dencoder – ceph encoder/decoder utility ● ceph-mon – ceph monitor daemon ● ceph-osd – ceph object storage daemon ● ceph-run – restart daemon on core dump ● ceph-syn – ceph synthetic workload generator ● crushtool – CRUSH map manipulation tool ● librados-config – display information about librados ● monmaptool – ceph monitor cluster map manipulation tool ● osdmaptool – ceph osd cluster map manipulation tool ● rados – rados object storage utility
  • 28. Источники и ссылки ● http://ceph.com ● Karan Singh «Learning Ceph» Packt Publishing ● Sage A. Weil et al. RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters ● Sage A. Weil et al. CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data ● http://rus-linux.net/nlib.php?name=/MyLDP/file-sys/ ceph/ceph.html ● https://github.com/carmstrong/multinode-ceph- vagrant