41

Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Page 2: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

(пара скриптов на shell и SQL)

Page 3: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

медиа-сервис с типичным размером файла от 1 до

50 MB

мастер данные от 100 TB до 1 PB

стриминг данные от 50 до 200 TB

стриминг полоса от 10 Gbit/s до 1 Tbit/s

Page 4: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

сохранность мастер данных

безотказность и качество стриминга

разумная TCO

Page 5: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

много дисковых полок

эффективное кластерное хранилище

CDN от вендора

серверы доступа — отдельно

Page 6: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

Isilon, NetApp, Panasas

Exadata, EMC, HDS

GPFS, PolyServe

Page 7: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

инфраструктура требует 3–4 решения

негарантируемая скорость при экстремальных

нагрузках

крайняя сложность дебага и тюнинга

стоимость raw TB в 10–30 раза выше consumer

storage

Page 8: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

server-integrated storage!

(cloud storage)

Page 9: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

Google, Yandex, и почти все крупные интернет-

компании

гибкость, доступность дебага и тюнинга

consumer hardware, стоимость raw TB в 1,5–3 раза

выше consumer storage

Page 10: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

HDFS, GFS, S3, (Lustre, …)

сложности с большими расстояниями

медленный стриминг, сложность кэширования

сложность эксплуатации

Page 11: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

FreeBSD

UFS2

HTTP

Page 12: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Page 13: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

продвинутый, надежный storage: geom, UFS2, ZFS

проверенный extreme streaming на nginx

доступная коммерческая поддержка на уровне ядра

промышленный опыт NetApp, Isilon, Panasas

Page 14: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

самая быстрая FS в мире

7 лет успешной эксплуатации

ZFS сложна и пока медленна

Page 15: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

основной протокол внешнего доступа

достаточно быстрый и простой для внутреннего

обмена

Page 16: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

серверы и хранилище

мастер и стриминг данные

внешний и внутренний доступ

кластерный и облачный (CDN) обмен

Page 17: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

одна файловая система на диск

никаких RAID, только JBOD

распределённость на базе случайных чисел

Page 18: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

шасси SuperMicro 4U 24 x 3.5"

2–6 x Intel Gigabit

24 x 2TB потребительские диски

контроллеры LSI 1068 в режиме JBOD

Page 19: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

имя файла — sha256 от его содержимого

равномерно разнесены по 4096 (16^x) папкам

диспетчер данных

Page 20: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

минимум на трёх шасси

чуть позже — минимум в трёх ДЦ

Page 21: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

минимум на трёх шасси

во всех точках CDN

Page 22: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

PostgreSQL, sh, Python

sha, hdd, chassis, rack, dc

вид sha—http://chassis/hdd/ доступен

приложению

Page 23: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

знает текущий статус всех объектов

формирует из ручных и автоматических задач

сценарии и запускает их

единая точка автоматизации

частичная multi-master архитектура

self-healing

Page 24: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

nginx + fetch/wget/curl

гибкая аутентификация

быстрый fetcher в разработке

Page 25: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

унифицирован между локальным и

распределённым уровнями

подстраивается под ширину каналов

Page 26: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

nginx, secure link

100k+ потоков на шасси

Page 27: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

linear local read/write: 100MB/s на диск, 2.4GB/s на

шасси

random local read: 20–40MB/s на диск, 480–960MB/s

на шасси

random HTTP get: 4–5Gbit/s на шасси без

оптимизаций

Page 28: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

app-level next path retry

актуальная информация о доступности в

приложении

Page 29: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

carp в пределах dc

proxy store при выходе диска из строя

Page 30: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

hardware balancers плохо подходят для тяжёлых

данных

app-level, geo-aware, status-aware balancing

Page 31: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

на новое шасси уходит несколько минут

это можно автоматизировать

plug-and-pray

Page 32: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

примерно в 2,5 раза дороже жёсткого диска

можно оптимизировать: пример backblaze

Page 33: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

рабочий прототип примерно за неделю

совершенствование в режиме production благодаря

high availability

Page 34: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

случайная распределённость — равномерно

распределённое восстановление избытычности

жёсткий диск 2TB: 6 часов 4 минуты

шасси 48TB: 55 часов 6 часов

ЦОД 1PB: 10 дней 5 дней :'-(

Земля 10PB: 3 месяца CLASSIFIED секунд

Page 35: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

секунды при потере диска

миллисекунды при потере шасси (carp)

секунды при потере dc (app-level next-path)

Page 36: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

недостатки

преимущества

Page 37: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

кастомность

велосипедность

маленький bus factor

Page 38: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

сырость

отсутствие сертификаций

Page 39: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

гибкость

производительность

job security

Page 40: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

единственное унифицированное решение под

задачи

Page 41: Extreme Cloud Storage on FreeBSD, Андрей Пантюхин

интересно? заходите к нам в гости знакомиться

и оставайтесь делать будущее!

[email protected]