Enviar búsqueda
Cargar
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
•
Descargar como ODP, PDF
•
0 recomendaciones
•
757 vistas
R
rit2011
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 61
Descargar ahora
Recomendados
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Ontico
SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)
Ontico
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Ontico
Работа с большими файлами под перлом
Работа с большими файлами под перлом
mayperl
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Ontico
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Ontico
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
Ontico
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
Badoo Development
Recomendados
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Чем заняться вечером, если я знаю сколько будет ++i + ++i / Андрей Бородин (Y...
Ontico
SOA: строим свой service mesh / Иван Круглов (Booking.com)
SOA: строим свой service mesh / Иван Круглов (Booking.com)
Ontico
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
Ontico
Работа с большими файлами под перлом
Работа с большими файлами под перлом
mayperl
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Ontico
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Ontico
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
Ontico
Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
Badoo Development
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
odnoklassniki.ru
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
Ontico
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Ontico
введение в Gpu
введение в Gpu
Anatoliy Sviridenkov
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
Andrey Smirnov
Docker & Badoo: никогда не останавливайся на достигнутом
Docker & Badoo: никогда не останавливайся на достигнутом
Anton Turetsky
Антон Турецкий
Антон Турецкий
CodeFest
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Ontico
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Ontico
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
PavelKonotopov
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
Alex Chistyakov
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
Ontico
DataCore case studies
DataCore case studies
korn_aaf
03 - Hadoop. HDFS Shell-команды
03 - Hadoop. HDFS Shell-команды
Roman Brovko
Александр Крижановский, NatSys Lab
Александр Крижановский, NatSys Lab
Ontico
Mysql vs postgresql
Mysql vs postgresql
Daniel Podolsky
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Ontico
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ontico
Гиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlex
Cisco Russia
Видеохостинг своими руками
Видеохостинг своими руками
StanislavMalkin
Más contenido relacionado
La actualidad más candente
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
odnoklassniki.ru
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
Ontico
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Ontico
введение в Gpu
введение в Gpu
Anatoliy Sviridenkov
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
Andrey Smirnov
Docker & Badoo: никогда не останавливайся на достигнутом
Docker & Badoo: никогда не останавливайся на достигнутом
Anton Turetsky
Антон Турецкий
Антон Турецкий
CodeFest
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Ontico
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Ontico
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
PavelKonotopov
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
Alex Chistyakov
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
Ontico
DataCore case studies
DataCore case studies
korn_aaf
03 - Hadoop. HDFS Shell-команды
03 - Hadoop. HDFS Shell-команды
Roman Brovko
Александр Крижановский, NatSys Lab
Александр Крижановский, NatSys Lab
Ontico
Mysql vs postgresql
Mysql vs postgresql
Daniel Podolsky
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Ontico
La actualidad más candente
(19)
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Механика DDoS (Александр Крижановский)
Механика DDoS (Александр Крижановский)
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
введение в Gpu
введение в Gpu
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
Docker & Badoo: никогда не останавливайся на достигнутом
Docker & Badoo: никогда не останавливайся на достигнутом
Антон Турецкий
Антон Турецкий
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Реализация восстановления после аварий / Сергей Бурладян (Avito)
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
Building the Enterprise infrastructure with PostgreSQL as the basis for stori...
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
My talk on monitoring systems at RootConf 2016
My talk on monitoring systems at RootConf 2016
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DataCore case studies
DataCore case studies
03 - Hadoop. HDFS Shell-команды
03 - Hadoop. HDFS Shell-команды
Александр Крижановский, NatSys Lab
Александр Крижановский, NatSys Lab
Mysql vs postgresql
Mysql vs postgresql
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
Similar a распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ontico
Гиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlex
Cisco Russia
Видеохостинг своими руками
Видеохостинг своими руками
StanislavMalkin
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Ontico
Isilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSD
Andrew Pantyukhin
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Ontico
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Ontico
High Load
High Load
alexeymaykov
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDB
Sergey Petrunya
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
Ontico
Developing highload servers with Java
Developing highload servers with Java
Andrei Pangin
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
CUDA Course 2010 at MSU
CUDA Course 2010 at MSU
larhat
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
Vadim Tsesko
HP 3PAR StoreServ 7200
HP 3PAR StoreServ 7200
Vyacheslav Tretyakov
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?
Anton Zhbankov
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
rit2011
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1
rit2011
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Fuenteovejuna
Extreme cloud storage on free bsd (Андрей Пантюхин)
Extreme cloud storage on free bsd (Андрей Пантюхин)
Ontico
Similar a распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
(20)
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Гиперконвергентное решение Cisco HyperFlex
Гиперконвергентное решение Cisco HyperFlex
Видеохостинг своими руками
Видеохостинг своими руками
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Isilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSD
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
Горизонтальное масштабирование: что, зачем, когда и как /Александр Макаров (Y...
High Load
High Load
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
Developing highload servers with Java
Developing highload servers with Java
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
CUDA Course 2010 at MSU
CUDA Course 2010 at MSU
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
HP 3PAR StoreServ 7200
HP 3PAR StoreServ 7200
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme cloud storage on free bsd (Андрей Пантюхин)
Extreme cloud storage on free bsd (Андрей Пантюхин)
Más de rit2011
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
rit2011
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
rit2011
как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3
rit2011
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
rit2011
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
rit2011
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
rit2011
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
rit2011
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
rit2011
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
rit2011
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
rit2011
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
rit2011
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
rit2011
выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3
rit2011
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
rit2011
от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4
rit2011
Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2
rit2011
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
rit2011
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
rit2011
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
rit2011
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
rit2011
Más de rit2011
(20)
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4
Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
1.
Распределенное файловое хранилище
(Nginx, Perl, ZFS) Mons Anderson Олег Мамонтов
2.
NAS, SAN or
custom? SAN: FC/iSCSI NAS: NFS/CIFS/... Custom: *
3.
Что нам нужно?
– отдавать данные – по протоколу HTTP
4.
HTTP это
nginx ;)
5.
Что нам нужно?
User -> nginx -> SAN ? User -> nginx -> NAS ? User -> nginx -> nginx ?
6.
Стоимость решений Nginx:
$ NAS: $$ SAN: $$$$$$$
7.
Наше хранилище 8
U, 24Tb 4 x ( 2U, 6Tb ( 2+10 Tb raw ) 4 x redundancy for each file
8.
Что нам нужно
от хранилища? CRUD! ( C reate, R ead, U pdate, D elete )
9.
Что нам нужно
от хранилища? Read -> HTTP C, U, D -> ?
10.
Что нам нужно
от хранилища? Read -> HTTP C, U, D -> HTTP!
11.
WebDAV –
Простой – Прозрачный – Поддерживаемый в nginx* – Легко реализуемый
12.
* WebDAV +
ACL Patch: – X-ACL: 0644 – X-Time: 1234567890
13.
Step by step:
Front
14.
Front
15.
Front
16.
Front
17.
Storage N Tb
= storage N/2 storage N/2
18.
Storage N Tb
hash storage storage
19.
Storage N Tb
hash storage storage
20.
Storage hash storage
storage storage storage
21.
Storage hash storage
storage storage storage
22.
Resizer hash storage
storage storage image_filter() storage image_filter()
23.
Resizer hash Low
CPU storage storage storage image_filter() storage image_filter()
24.
Resizer storage storage
storage storage Resize Resize Resize
25.
Hashing ? Hash
storage storage storage storage Resize Resize Resize
26.
Hashing ScaleHash(time,id) storage
storage storage storage Resize Resize Resize
27.
Hashing URL: http://…/ObjectID
ObjectID = (xxx)-(xxx)-… ID Time
28.
Hashing Timeline past
upgrade over future start a b d c 0x0010 0x00FF 0x02FF 0x0FFF e 0x0000
29.
Hashing TimeHash(Time) {
0x0000 - 0x00FF -> [ a, b ] 0x00FF - 0x02FF -> [ a, c, d ] 0x02FF - 0x0FFF -> [ c, d ] 0x0FFF - 0xFFFF -> [ f ] } -> groups
30.
Hashing IDHash(ID, groups)
-> group
31.
Hashing TimeHash(const Time)
= const IDHash(const ID, groups) = const
32.
Access Control DB
Perl: - AnyEvent::HTTPD - AnyEvent::HTTP - AnyEvent::DBI storage storage group
33.
Access Control: Public
object -> GET /XXX Perl handler (check perms) ← 200 OK
34.
Access Control: Protected
object -> GET /XXX -> Perl handler ← X-Accel-Redirect: /access/... -> GET /access/... -> proxy_pass http://ACLD ← X-Accel-Redirect: /int/.. -> GET /int/.. ← ← 200 OK
35.
Result?
36.
2+2=4, 2+2=4, 2+2=4,
… ! CPU Cache?
37.
Cache…
38.
Cache is a
problem :(
39.
/cache proxy: //resize
/source/ ?q=/i/AxB /i proxy://store resize() /internal 200 OK /i proxy: //storage /i/AxB /i proxy: //cache /i/AxB /source handler() XAccel: /cache/i/AxB+ (mtime:ctime:status) /i/AxB+ /source/ ?q=/i/AxB cache store 200 OK HIT /source handler() /source/ ?q=/i/AxB+ /source/ ?q=/i/AxB+ XAccel: /int 200 OK 200 OK 200 OK
40.
Combine? MEM CPU
HDD
41.
Combined! Money are
saved :) Deployed on same hosts Full resource consumption
42.
Combined, but scalable!
Cache cluster Resize cluster Storage cluster + MEM + CPU + HDD
43.
Create, Update, Delete?
PUT DELETE OPTIONS GET GET storage storage
44.
Temporary loss PUT
DELETE OPTIONS GET GET storage storage
45.
Flashing error GET
GET storage storage
46.
No file? Ask
a friend! GET GET 404 fallback proxy_pass storage storage
47.
404 Fallback: avoiding
recursion GET ask next… unless asked storage storage
48.
404 Fallback Just...
proxy_next_upstream http_404 storage storage
49.
Again about PUT
PUT storage storage
50.
How about single
PUT? PUT DELETE OPTIONS ZFS «replication» storage storage
51.
52.
Производительность чтения и
записи
53.
Возможность распределения нагрузки
54.
Потенциальная масштабируемость
55.
Стандартные аппаратные компоненты
56.
Простота в настройке
и обслуживании
57.
Традиционная работа с
диском Имя <=> объект (inode) объект <=> LBA тома LBA тома <=> LBA RAID LBA RAID <=> LBA диска Файловая система Файловая система Менеджер томов RAID контроллер Дисковые устройства
58.
Rampant layering violation
;) Файловая система (zfs) Модель агрегации (zpool) Дисковые устройства
59.
stripe / mirror
/ raidz / ? stripe – быстро , дешево , ненадежно mirror – быстро , надежно , дорого raidz – относительно надежно , недорого , медленно :(
60.
Универсального решения нет
:( Конфигурация Объем, GB IOPS stripe 1 x 100 10000 20000 mirror 2 x 50 5000 20000 raidz 1 x ( 99 + 1 ) 9900 200 raidz 5 x ( 19 + 1 ) 9500 1000 raidz 33 x ( 2 + 1 ) 6600 6600 Дано: 100 дисков по 100GB, 200 IOPS
61.
Наше хранилище —
6TB / 2U mirror raidz1 raidz1 raidz1 stripe spare 2U: 2 x 500MB + 10 x 1TB, SATA-2
62.
Будущее уже наступило!
snapshot – мгновенный снимок ( cow - быстро, дешево ) rollback – откат файловой системы на заданный снимок clone – “альтернативная реальность” ( ветка из снимка ) send – дамп снимка ( полный или разностный) receive – воссоздание снимка из дампа
63.
64.
Получение инкрементального дампа
( send )
65.
Пересылка дампа на
целевую машину ( socketpipe )
66.
Восстановление дампа на
целевой машине ( receive )
67.
Создание клона файловой
системы ( clone )
68.
Переустановка символической ссылки
( link -fhs )
69.
sleep && goto
п.1;
70.
71.
Удаление старых снимков
и клонов
72.
Минимизация лага репликации
73.
Мониторинг актуальности
74.
Уникальные имена файлов
при обновлениях
75.
Двухуровневое кеширование
76.
© 2011 Mons
Anderson <mons@cpan.org> Олег Мамонтов <lonerr@cpan.org> Рамблер Интернет Холдинг
77.
?
Descargar ahora