Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВероника Слуцкая
1 Распределенная отказоустойчивая система хранения статичных данных Глеб Воронич
2 Требования к системе хранения Надежность Простота эксплуатации для админов Простота для разработчиков Прозрачность для пользователей Возможность вносить изменения в схему отдачи
3 Распределенные ФС Плюсы: Репликация происходит сама по себе Минусы: Недостаточная производительность Зависимость от Fiber/10GE/InfiniBand Сложность настройки и сопровождения Сложность восстановления ФС Lock Managers, blah-blah-blah
4 А что еще есть? Плюсы: Отказоустойчивость Поддержка сторонними специалистами Backup не нужен (если верить на слово) Минусы: Географическая удаленность Цена! Хранение 100Tb $7168/мес
5 MogileFS
6 What did u say?
7 MogileFS Brad Fitzpatrick Создатель LiveJournal Основатель Danga Interactive Сейчас работает в Google Danga Interactive memcached OpenID What did u say?
8 MogileFS Brad Fitzpatrick Создатель LiveJournal Основатель Danga Interactive Сейчас работает в Google Danga Interactive memcached OpenID
9 Преимущества Уровень приложения Отсутствие SPOF Автоматическая репликация на основе классов RAID больше не нужен Свобода выбора ФС
10 API Java Perl PHP Python Ruby
11 Архитектура Tracker (mogilefsd) Database (MySQL/PostgreSQL) Storage Node (mogstored)
12 Термины и определения Домен namespace Класс политика Хост Storage Node Девайс виртуальное устройство
13 Flat Namespaces (домены) namespace1:/path/to/file namespace2:/path/to/file namespaceN:/path/to/file
14 Storage Node изнутри Любой дистрибутив Linux Не требуется делать все с нуля WebDAV Server (e.g. Nginx) /var/mogdata VS /home/ivan/WTF Девайс = директория /dev132/0/178/804/ fid
15 Можно даже...
16 Но лучше так
17 Command Line Interface mogadm host add node1.project.com --ip= status=alive mogadm device add node1.project.com dev10 mogadm domain add project.com mogadm domain add happycontent.net mogadm class add project.com images --mindevcount=4 -- replpolicy="MultipleHosts"
18 Command Line Interface mogadm settings set network_zones near,far mogadm settings set zone_near /16 mogadm settings set zone_far /16 mogadm class add happycontent.net images --mindevcount=1 --replpolicy="HostsPerNetwork(near=2,far=1)"
19 Как это выглядит в коде? ##
20 Как это отдается? Nginx + mogilefs_module Простота настройки location /mogile {mogilefs_domain test.mogile;mogilefs_class class2;mogilefs_tracker :7001;mogilefs_pass {proxy_pass $mogilefs_path;}} Минимальные ресурсы Высокая скорость Собственный backend Гибкость и безграничные возможности
21 Где отказоустойчивость?
22 Master - Master Active - Standby Состояние storage проверяет сам tracker
23 Где отказоустойчивость?
25 host device size(G) used(G) free(G) use% ob state I/O% [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % down 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 [ 1] dev % writeable 0.0 Автоматическое определение недоступности девайсов и хостов
26 Девайсы alive down dead readonly drain Device Weight dev10 weight=100 dev15 weight=200 dev20 weight=400
27 Плюшки FSCK Rebalancing Поддержка memcached mogadm rebalance settingsrebal_policy = from_percent_used=95 to_percent_free=50
28 Rebalancing Source:from_hostsfro m_devicesfrom_perce nt_usedfrom_percent_ freefrom_space_usedf rom_space_freefid_ag elimit_typelimit_bylimit Target:to_hoststo_devi cesto_percent_usedto _percent_freeto_spac e_usedto_space_free not_to_hostsnot_to_d evicesuse_dest_devsl eave_in_drain_mode # host ids# device ids# 0.nn * 100 # old | new # global | device # size | count | percent | none # 100g | 10% | 5000 # all | N (list up to N devices to rep pol) $ mogadm rebalance status Rebalance is running Rebalance status: bytes_queued = completed_devs = 102,125,151,148 fids_queued = sdev_current = 119 sdev_lastfid = sdev_limit = source_devs = 108,115,103,113,152,142,107 $ mogadm rebalance test Tested rebalance policy... Policy: etc Source devices: Destination devices:
29 Быстро, масштабно, надежно. 23 млн файлов 180 Tb данных mysql> select count(fid) as files, sum(length)/ as size from file\G******************files: size:
30 Быстро, масштабно, надежно. Ни единого разрыва Ни одного утраченного файла
31 Быстро, масштабно, надежно. Ежедневно: 2.5 млн просмотров 350 тыс пользователей Ежемесячно: 3.5 Tb данных 30 тыс файлов
32 Быстро, масштабно, надежно. Min 4 Gbps Max 13 Gbps
34 Спасибо! Глеб Воронич
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.