Pull to refresh

Comments 21

Спасибо за статью!
Поделитесь ссылками на баги?

Да, ссылки все потерялись из статьи, сейчас мы их впилим обратно.
Производителя материнки «паленых» серверов не назовете?
Мы используем материнские платы Intel и Supermicro. Описанная проблема возникла с материнскими платами Intel.
Спасибо за статью, но есть пара вопросов.
В итоге вся сборка состояла из 12 машин: 3 в кластере хранилища и 9 в вычислительном кластере.

Т.к. количество машин не чётное предполагаю что в случае смерти одной из них гостевые системы переедут на оставшиеся. Вопрос в следующем, при смерти какого максимального кол-ва машин вы всё ещё будуте выполнять SLA по производительности?

InfiniBand действительно не самое бюджетное решение, чем не устроил Fibre Channel?

Необходимо добавить ещё один IB-коммутатор и соединять с имеющимся последовательно.
После появления FC Gen 6, не рассматривали вариант с Brocade или возможными аналогами?
при смерти какого максимального кол-ва машин вы всё ещё будете выполнять SLA по производительности?
На сегодняшний день допускается выход из строя одного сервера хранилища и двух вычислительных серверов.

После появления FC Gen 6, не рассматривали вариант с Brocade или возможными аналогами?

InfiniBand действительно не самое бюджетное решение, чем не устроил Fibre Channel?
К сожалению, этот вариант мы не рассматривали.
Скажите, пожалуйста, а OpenVZ (или какую-либо другую систему контейнеризации) с InfiniBand Вы не пробовали скрещивать на уровне дать доступ к полноценной IB сети из контейнеров?
Нет, такой потребности у нас не было.
Так исторически сложилось, что сотрудничаем с ISPsystem. К тому же VMmanager Cloud интегрируется остальными продуктами, которые используем для предоставления хостинга: IPmanager, DNSmanager, BILLmanager.
Спасибо за статью, интересно почитать про «живое» применение ceph в продакшне. Хотел бы задать вопрос, чем проводились тесты на чтение и запись? Насколько процентов заполнялись диски в процессе теста?
ceph: bw=393.181 KB/s, iops=3071
ssd: bw=70.371 KB/s, iops=549
Проводился тест fio, на volume 30 Гб с величиной блока 128 Кб и глубиной очереди 8.

А как вообще может распределённая-сетевая система выдавать в разы большие показатели, чем локальный SSD, причём и по иопсам и по полосе одновременно?


Так совершенно разных поколений железо сравнивалось в этом тесте или я чего-то не понимаю? Ведь Infiniband наверное не ускоряет SSD на узлах кластера хранения.

Тестирование проводилось на VDS с одинаковыми конфигурациями, но открытых на разных тарифах: VDS-KVM-SSD и VDS-Атлант. В первом случае данные VDS хранятся в qcow2 формате на SSD, которое в свою очередь зеркалируется, во втором данные хранятся в Ceph.
В итоге мы приходим к тому, что для CEPH нужно много серверов с 4-6 дисками и дисками объемом до 2тб.
Только вот дороговато получается в такой схеме. Ну тут каждый решает сам. Объем vs Iops и отказоустойчивость, но почему-то сначала выбирают объем, а потом удивляются а где наши iops и чего оно так долго ребилдится?
Пользуясь случаем порекламирую канал, в котором обсуждают ceph openstack и обычно дают оперативную помощь новичкам. https://telegram.me/pro_openstack
Скажите пожалуйста, вы используете bluestore или filestore в качестве бэкенда хранения? И еще вопрос — включали ли вы компрессию?
Используем filestore, потому как на время запуска bluestore только вышел и опыта работы с ним на тот момент не было. Сжатие не используем, поддерживается только на bluestore.
Большинство выводов верны. Но позволю себе дополнить.
1. Не используйте кэш из SSD. Кэш помогает сгладить пики, но вовсе не решает проблему производительности ваших HDD. Это с играет с вами злую шутку, даст вам запустится а затем когда данные перестанут влезать в кэш вы сильно попадете. Причем сразу и сильно. Если в случае с SSD в качестве основных дисков вы постепенно начнете испытывать «тормоза», и у вас будет время что бы модернизировать систему, то в случае переполнения кэша сразу наступит ахтунг.

2. Сеть, чем быстрее тем лучше. Используйте две сети public и cluster. Так как при пересинхронизации ceph использует именно кластерную сеть и public сеть забитая клиентами для этого подходит очень плохо. Используйте LACP(bonding)+VPC(или его аналог). Избегайте единой точки отказа. Падение линка и его восстановление это пересинхронизация, а этого можно избежать если предусмотреть резервирование. Без этого вы получите геморой на ровном месте.

3. Не используйте корзины с большим количеством дисков. Здесь я с автором не соглашусь. Не игнорируйте рекомендации разработчиков! Используйте много машин с небольшим количеством дисков. Или же тестируйте пересинхронизацию под большой клиентской нагрузкой.

В остальном отличная статья и руководство к действию. Все выводы верные. Нужна хорошая сеть и быстрые диски. Эти параметры должны быть сбалансированы. Тогда все у вас будет хорошо. И не читайте всякий бред типа «анатомия катастрофы». Где напихали по 15 SSD в три машины, обвязали 10Г сетью, а потом понаписали всякой ереси.
Sign up to leave a comment.