ݺߣ

ݺߣShare a Scribd company logo
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
(пара скриптов на shell и SQL)
медиа-сервис с типичным размером файла от 1 до
50 MB
мастер данные от 100 TB до 1 PB
стриминг данные от 50 до 200 TB
стриминг полоса от 10 Gbit/s до 1 Tbit/s
сохранность мастер данных
безотказность и качество стриминга
разумная TCO
много дисковых полок
эффективное кластерное хранилище
CDN от вендора
серверы доступа — отдельно
Isilon, NetApp, Panasas
Exadata, EMC, HDS
GPFS, PolyServe
инфраструктура требует 3–4 решения
негарантируемая скорость при экстремальных
нагрузках
крайняя сложность дебага и тюнинга
стоимость raw TB в 10–30 раза выше consumer
storage
server-integrated storage!
(cloud storage)
Google, Yandex, и почти все крупные интернет-
компании
гибкость, доступность дебага и тюнинга
consumer hardware, стоимость raw TB в 1,5–3 раза
выше consumer storage
HDFS, GFS, S3, (Lustre, …)
сложности с большими расстояниями
медленный стриминг, сложность кэширования
сложность эксплуатации
FreeBSD
UFS2
HTTP
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
продвинутый, надежный storage: geom, UFS2, ZFS
проверенный extreme streaming на nginx
доступная коммерческая поддержка на уровне ядра
промышленный опыт NetApp, Isilon, Panasas
самая быстрая FS в мире
7 лет успешной эксплуатации
ZFS сложна и пока медленна
основной протокол внешнего доступа
достаточно быстрый и простой для внутреннего
обмена
серверы и хранилище
мастер и стриминг данные
внешний и внутренний доступ
кластерный и облачный (CDN) обмен
одна файловая система на диск
никаких RAID, только JBOD
распределённость на базе случайных чисел
шасси 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+ потоков на шасси
linear local read/write: 100MB/s на диск, 2.4GB/s на
шасси
random local read: 20–40MB/s на диск, 480–960MB/s
на шасси
random HTTP get: 4–5Gbit/s на шасси без
оптимизаций
app-level next path retry
актуальная информация о доступности в
приложении
carp в пределах dc
proxy store при выходе диска из строя
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
единственное унифицированное решение под
задачи
интересно? заходите к нам в гости знакомиться
и оставайтесь делать будущее!
andrew@dreamindustries.ru

More Related Content

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