41

Isilapp — Extreme Cloud Storage on FreeBSD

Embed Size (px)

Citation preview

Page 1: Isilapp — Extreme Cloud Storage on FreeBSD
www.princexml.com
Prince - Non-commercial License
This document was created with Prince, a great way of getting web content onto paper.
Page 2: Isilapp — Extreme Cloud Storage on FreeBSD

IsilappExtreme Cloud Storage on

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

Page 3: Isilapp — Extreme Cloud Storage on FreeBSD

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

1 до 50 MB

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

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

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

Page 4: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

▪ разумная TCO

Page 5: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

▪ CDN от вендора

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

Page 6: Isilapp — Extreme Cloud Storage on FreeBSD

cluster storagesolutions

▪ Isilon, NetApp, Panasas

▪ Exadata, EMC, HDS

▪ GPFS, PolyServe

Page 7: Isilapp — Extreme Cloud Storage on FreeBSD

тупичок вендора▪ инфраструктура требует 3–4 решения

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

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

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

Page 8: Isilapp — Extreme Cloud Storage on FreeBSD

pioneering▪ server-integrated storage!

▪ (cloud storage)

Page 9: Isilapp — Extreme Cloud Storage on FreeBSD

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

компании

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

▪ consumer hardware, стоимость raw TB в 1,5–3раза выше consumer storage

Page 10: Isilapp — Extreme Cloud Storage on FreeBSD

cloud storagesolutions

▪ HDFS, GFS, S3, (Lustre, …)

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

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

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

Page 11: Isilapp — Extreme Cloud Storage on FreeBSD

codename isilapp▪ FreeBSD

▪ UFS2

▪ HTTP

Page 12: Isilapp — Extreme Cloud Storage on FreeBSD

почему FreeBSD?

Page 13: Isilapp — Extreme Cloud Storage on FreeBSD

почему FreeBSD?▪ продвинутый, надежный storage: geom, UFS2,

ZFS

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

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

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

Page 14: Isilapp — Extreme Cloud Storage on FreeBSD

почему UFS2?▪ самая быстрая FS в мире

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

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

Page 15: Isilapp — Extreme Cloud Storage on FreeBSD

почему HTTP?▪ основной протокол внешнего доступа

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

Page 16: Isilapp — Extreme Cloud Storage on FreeBSD

унификация▪ серверы и хранилище

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

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

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

Page 17: Isilapp — Extreme Cloud Storage on FreeBSD

implementationdecisions

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

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

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

Page 18: Isilapp — Extreme Cloud Storage on FreeBSD

слово о hardware▪ шасси SuperMicro 4U 24 x 3.5"

▪ 2–6 x Intel Gigabit

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

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

Page 19: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

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

Page 20: Isilapp — Extreme Cloud Storage on FreeBSD

мастер данные▪ минимум на трёх шасси

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

Page 21: Isilapp — Extreme Cloud Storage on FreeBSD

стриминг данные▪ минимум на трёх шасси

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

Page 22: Isilapp — Extreme Cloud Storage on FreeBSD

диспетчер данных▪ PostgreSQL, sh, Python

▪ sha, hdd, chassis, rack, dc

▪ вид sha—http://chassis/hdd/ доступенприложению

Page 23: Isilapp — Extreme Cloud Storage on FreeBSD

диспетчер данных²▪ знает текущий статус всех объектов

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

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

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

▪ self-healing

Page 24: Isilapp — Extreme Cloud Storage on FreeBSD

внутренний обмен▪ nginx + fetch/wget/curl

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

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

Page 25: Isilapp — Extreme Cloud Storage on FreeBSD

внутренний обмен²▪ унифицирован между локальным и

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

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

Page 26: Isilapp — Extreme Cloud Storage on FreeBSD

внешний доступ▪ nginx, secure link

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

Page 27: Isilapp — Extreme Cloud Storage on FreeBSD

Phoronix benchmarks▪ 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: Isilapp — Extreme Cloud Storage on FreeBSD

high availability▪ app-level next path retry

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

Page 29: Isilapp — Extreme Cloud Storage on FreeBSD

high availability²▪ carp в пределах dc

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

Page 30: Isilapp — Extreme Cloud Storage on FreeBSD

load balancing▪ hardware balancers плохо подходят для

тяжёлых данных

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

Page 31: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

▪ plug-and-pray

Page 32: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

Page 33: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

Page 34: Isilapp — Extreme Cloud Storage on FreeBSD

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

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

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

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

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

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

Page 35: Isilapp — Extreme Cloud Storage on FreeBSD

бесперебойность▪ секунды при потере диска

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

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

Page 36: Isilapp — Extreme Cloud Storage on FreeBSD

итого▪ недостатки

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

Page 37: Isilapp — Extreme Cloud Storage on FreeBSD

недостатки¹▪ кастомность

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

▪ маленький bus factor

Page 38: Isilapp — Extreme Cloud Storage on FreeBSD

недостатки²▪ сырость

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

Page 39: Isilapp — Extreme Cloud Storage on FreeBSD

преимущества¹▪ гибкость

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

▪ job security

Page 40: Isilapp — Extreme Cloud Storage on FreeBSD

преимущества²▪ единственное унифицированное решение под

задачи

Page 41: Isilapp — Extreme Cloud Storage on FreeBSD

облачные вопросы?интересно? заходите к нам в гости знакомиться и оставайтесь делать будущее!

[email protected]