Upload
andrew-pantyukhin
View
358
Download
0
Embed Size (px)
Citation preview
IsilappExtreme Cloud Storage on
FreeBSD(пара скриптов на shell и SQL)
исход▪ медиа-сервис с типичным размером файла от
1 до 50 MB
▪ мастер данные от 100 TB до 1 PB
▪ стриминг данные от 50 до 200 TB
▪ стриминг полоса от 10 Gbit/s до 1 Tbit/s
надежды▪ сохранность мастер данных
▪ безотказность и качество стриминга
▪ разумная TCO
логика капиталиста▪ много дисковых полок
▪ эффективное кластерное хранилище
▪ CDN от вендора
▪ серверы доступа — отдельно
cluster storagesolutions
▪ Isilon, NetApp, Panasas
▪ Exadata, EMC, HDS
▪ GPFS, PolyServe
тупичок вендора▪ инфраструктура требует 3–4 решения
▪ негарантируемая скорость при экстремальныхнагрузках
▪ крайняя сложность дебага и тюнинга
▪ стоимость raw TB в 10–30 раза выше consumerstorage
pioneering▪ server-integrated storage!
▪ (cloud storage)
cloud storage▪ Google, Yandex, и почти все крупные интернет-
компании
▪ гибкость, доступность дебага и тюнинга
▪ consumer hardware, стоимость raw TB в 1,5–3раза выше consumer storage
cloud storagesolutions
▪ HDFS, GFS, S3, (Lustre, …)
▪ сложности с большими расстояниями
▪ медленный стриминг, сложность кэширования
▪ сложность эксплуатации
codename isilapp▪ FreeBSD
▪ UFS2
▪ HTTP
почему FreeBSD?
почему FreeBSD?▪ продвинутый, надежный storage: geom, UFS2,
ZFS
▪ проверенный extreme streaming на nginx
▪ доступная коммерческая поддержка на уровнеядра
▪ промышленный опыт NetApp, Isilon, Panasas
почему UFS2?▪ самая быстрая FS в мире
▪ 7 лет успешной эксплуатации
▪ ZFS сложна и пока медленна
почему HTTP?▪ основной протокол внешнего доступа
▪ достаточно быстрый и простой длявнутреннего обмена
унификация▪ серверы и хранилище
▪ мастер и стриминг данные
▪ внешний и внутренний доступ
▪ кластерный и облачный (CDN) обмен
implementationdecisions
▪ одна файловая система на диск
▪ никаких RAID, только JBOD
▪ распределённость на базе случайных чисел
слово о hardware▪ шасси SuperMicro 4U 24 x 3.5"
▪ 2–6 x Intel Gigabit
▪ 24 x 2TB потребительские диски
▪ контроллеры LSI 1068 в режиме JBOD
данные▪ имя файла — sha256 от его содержимого
▪ равномерно разнесены по 4096 (16^x) папкам
▪ диспетчер данных
мастер данные▪ минимум на трёх шасси
▪ чуть позже — минимум в трёх ДЦ
стриминг данные▪ минимум на трёх шасси
▪ во всех точках CDN
диспетчер данных▪ PostgreSQL, sh, Python
▪ sha, hdd, chassis, rack, dc
▪ вид sha—http://chassis/hdd/ доступенприложению
диспетчер данных²▪ знает текущий статус всех объектов
▪ формирует из ручных и автоматических задачсценарии и запускает их
▪ единая точка автоматизации
▪ частичная multi-master архитектура
▪ self-healing
внутренний обмен▪ nginx + fetch/wget/curl
▪ гибкая аутентификация
▪ быстрый fetcher в разработке
внутренний обмен²▪ унифицирован между локальным и
распределённым уровнями
▪ подстраивается под ширину каналов
внешний доступ▪ nginx, secure link
▪ 100k+ потоков на шасси
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 на шасси безоптимизаций
high availability▪ app-level next path retry
▪ актуальная информация о доступности вприложении
high availability²▪ carp в пределах dc
▪ proxy store при выходе диска из строя
load balancing▪ hardware balancers плохо подходят для
тяжёлых данных
▪ app-level, geo-aware, status-aware balancing
масштабирование▪ на новое шасси уходит несколько минут
▪ это можно автоматизировать
▪ plug-and-pray
стоимость▪ примерно в 2,5 раза дороже жёсткого диска
▪ можно оптимизировать: пример backblaze
разработка▪ рабочий прототип примерно за неделю
▪ совершенствование в режиме productionблагодаря high availability
надёжность▪ случайная распределённость — равномерно
распределённое восстановлениеизбытычности
▪ жёсткий диск 2TB: 6 часов 4 минуты
▪ шасси 48TB: 55 часов 6 часов
▪ ЦОД 1PB: 10 дней 5 дней :'-(
▪ Земля 10PB: 3 месяца CLASSIFIED секунд
бесперебойность▪ секунды при потере диска
▪ миллисекунды при потере шасси (carp)
▪ секунды при потере dc (app-level next-path)
итого▪ недостатки
▪ преимущества
недостатки¹▪ кастомность
▪ велосипедность
▪ маленький bus factor
недостатки²▪ сырость
▪ отсутствие сертификаций
преимущества¹▪ гибкость
▪ производительность
▪ job security
преимущества²▪ единственное унифицированное решение под
задачи
облачные вопросы?интересно? заходите к нам в гости знакомиться и оставайтесь делать будущее!