Всем привет!
Я тут недавно решил попробовать Proxmox. Честно говоря, Ceph integration изначально меня зацепил. Знаете, у нас на продакшене используем/платим лицензии для Hitachi VSP, и знаете, в последние 2-3 года он работает очень стабильно. Но наши требования к обработке данных меняются со дня на день, и я подумал, что Proxmox может быть хорошим вариантом. Пока что на этапе планирования инфраструктуры, все только начинается. Хочу протестировать несколько идей и посмотреть, насколько это жизнеспособно. Изначально рассматривал VMware/vSAN для похожего подхода, но в итоге склонился к Proxmox/Ceph.
Кстати, если тестирование покажет хорошие результаты, мы планируем приобрести Proxmox enterprise subscriptions, но пока что слишком рано для этого, и это не оправдывает сразу покупку подписки.
Продакшн: (Разница между тестовой средой и продакшном будет в основном в более новом оборудовании, более быстрой сети и удвоенном количестве узлов, но концепция останется прежней.)
Тестовая среда:
* Подключение: 2 x 10g независимых каналов
* Сеть: 2 x Cisco Nexus N9k Switches (32 x 40 Gbps ports)
* Серверы: 3 x Dell R730XD's (Все три имеют одинаковую конфигурацию)
* RAM: 128 GB DDR4 2133 MHz
* CPU: 2 x Xeon E5-2690 v4 @ 2.60 GHz (56 Cores)
* Диски: 20 x Seagate Exos 12 Gbps 1.8 TB SAS HDD (ST1800MM0129)
* SSD: 4 x 1TB PCI NVMe
Сеть 40GbE через QSFP+ и волокно от Mellanox ConnectX-Pro к N9K switches. Все диски подключены к Proxmox без RAID-конфигурации; сейчас они все еще имеют встроенные H730P Mini's, но в режиме HBA их можно заменить на HBA, если потребуется. Таким образом, каждый сервер имеет примерно 80 ТБ сырого дискового пространства.
Мои мысли/цель:
В большинстве онлайн-постов говорят о высокой доступности/репликации; однако, я бы хотел как можно больше отклониться от репликации, главным образом потому, что наш сценарий использования таков: кластер будет просто служить "свалкой данных"; в течение дня будет несколько небольших контейнеров, которые будут загружать данные в Ceph cluster, и эти данные будут передаваться через определенные интервалы времени в более стабильное долгосрочное хранилище (пока что, Hitachi VSP). Таким образом, основная цель кластера Proxmox/Ceph будет заключаться в приеме данных, выполнении некоторых основных вычислительных задач, а затем их резервном копировании на долгосрочное хранилище. Таким образом, я хочу сказать, что репликация не имеет значения, но на самом деле становится препятствием, тратя значительные ресурсы на данные, которые будут жить недолго. В худшем случае мы потеряем пару часов данных, которые можно будет восстановить за пару часов ручной работы. Поэтому риск потратить несколько часов на ручное извлечение данных при потенциальном простое намного перевешивает необходимость тратить X ресурсов на надежную "высокодоступную" настройку. Мы получим гораздо больше пользы от ресурсов и прироста производительности, если не использовать никакой RAID или репликацию.
Итак, мой вопрос к опытным профессионалам здесь... Что бы вы рекомендовали для такого случая использования? Можно ли просто создать правило crush, требующее 0 реплик? Какие есть варианты максимизации производительности в обмен на репликацию? Или есть минималистичный подход, который может дать лучшее из обоих миров (например, одна ошибка диска на пул) без необходимости выделять слишком много ресурсов на стороне репликации?
Я тут недавно решил попробовать Proxmox. Честно говоря, Ceph integration изначально меня зацепил. Знаете, у нас на продакшене используем/платим лицензии для Hitachi VSP, и знаете, в последние 2-3 года он работает очень стабильно. Но наши требования к обработке данных меняются со дня на день, и я подумал, что Proxmox может быть хорошим вариантом. Пока что на этапе планирования инфраструктуры, все только начинается. Хочу протестировать несколько идей и посмотреть, насколько это жизнеспособно. Изначально рассматривал VMware/vSAN для похожего подхода, но в итоге склонился к Proxmox/Ceph.
Кстати, если тестирование покажет хорошие результаты, мы планируем приобрести Proxmox enterprise subscriptions, но пока что слишком рано для этого, и это не оправдывает сразу покупку подписки.
Продакшн: (Разница между тестовой средой и продакшном будет в основном в более новом оборудовании, более быстрой сети и удвоенном количестве узлов, но концепция останется прежней.)
Тестовая среда:
* Подключение: 2 x 10g независимых каналов
* Сеть: 2 x Cisco Nexus N9k Switches (32 x 40 Gbps ports)
* Серверы: 3 x Dell R730XD's (Все три имеют одинаковую конфигурацию)
* RAM: 128 GB DDR4 2133 MHz
* CPU: 2 x Xeon E5-2690 v4 @ 2.60 GHz (56 Cores)
* Диски: 20 x Seagate Exos 12 Gbps 1.8 TB SAS HDD (ST1800MM0129)
* SSD: 4 x 1TB PCI NVMe
Сеть 40GbE через QSFP+ и волокно от Mellanox ConnectX-Pro к N9K switches. Все диски подключены к Proxmox без RAID-конфигурации; сейчас они все еще имеют встроенные H730P Mini's, но в режиме HBA их можно заменить на HBA, если потребуется. Таким образом, каждый сервер имеет примерно 80 ТБ сырого дискового пространства.
Мои мысли/цель:
В большинстве онлайн-постов говорят о высокой доступности/репликации; однако, я бы хотел как можно больше отклониться от репликации, главным образом потому, что наш сценарий использования таков: кластер будет просто служить "свалкой данных"; в течение дня будет несколько небольших контейнеров, которые будут загружать данные в Ceph cluster, и эти данные будут передаваться через определенные интервалы времени в более стабильное долгосрочное хранилище (пока что, Hitachi VSP). Таким образом, основная цель кластера Proxmox/Ceph будет заключаться в приеме данных, выполнении некоторых основных вычислительных задач, а затем их резервном копировании на долгосрочное хранилище. Таким образом, я хочу сказать, что репликация не имеет значения, но на самом деле становится препятствием, тратя значительные ресурсы на данные, которые будут жить недолго. В худшем случае мы потеряем пару часов данных, которые можно будет восстановить за пару часов ручной работы. Поэтому риск потратить несколько часов на ручное извлечение данных при потенциальном простое намного перевешивает необходимость тратить X ресурсов на надежную "высокодоступную" настройку. Мы получим гораздо больше пользы от ресурсов и прироста производительности, если не использовать никакой RAID или репликацию.
Итак, мой вопрос к опытным профессионалам здесь... Что бы вы рекомендовали для такого случая использования? Можно ли просто создать правило crush, требующее 0 реплик? Какие есть варианты максимизации производительности в обмен на репликацию? Или есть минималистичный подход, который может дать лучшее из обоих миров (например, одна ошибка диска на пул) без необходимости выделять слишком много ресурсов на стороне репликации?
