Ceph com muitos monitores pequenos / mds

1

A documentação do Ceph ( link ) enfatiza a necessidade de hardware mais potente o cluster escala.

Por exemplo, as especificações de hardware para ceph-mon exigem:

Processor

1x 64-bit AMD-64/i386
1x 32-bit ARM dual-core or better
1x i386 dual-core

RAM

1 GB per daemon

Disk Space

10 GB per daemon

Network

2x 1GB Ethernet NICs

Eu suponho que a figura por daemon significa por OSD. Se eu tiver vários JBODs com 12 compartimentos a 4 TB cada, esse número fica grande rapidamente.

Se eu quisesse usar um cluster de RPIs para a tarefa, eu poderia distribuir a carga entre muitos para atender a esse requisito ou o requisito de que cada nó ceph-mon seja capaz de corresponder a esses requisitos mínimos?

ceph-mds tem requisitos ainda mais rigorosos, poderia também ser servido por muitas placas menores (como um odroid XU4 possivelmente)?

    
por Adam 09.08.2018 / 23:52

1 resposta

0

Eu não posso dizer como um RPi funcionará em um cluster Ceph, mas se ajudar, posso fornecer alguns números de um cluster de produção. Tem 3 MONs, 25 OSDs (4 a 6 OSDs por nó). Os MONs são implantados em nós OSD, assim como dois de três MDS (atualmente, estamos terceirizando o MDS para servidores dedicados).

Embora eu não tenha dados de desempenho de uma recuperação (muito intensa de E / S) disponível agora, eu tenho dados de um cluster saudável. Os valores MON são bastante estáveis ao longo do tempo, 751804 B (VIRT) e 339848 B (RSS). Assim, o consumo de memória não é muito alto, 1 GB de RAM deve ser suficiente, até mesmo um RPi provavelmente seria capaz de lidar com isso.

Olhando para o MDS, é difícil dizer e depender totalmente dos seus requisitos e cargas de trabalho. Com apenas alguns clientes, 1 a 2 GB de RAM deve ser suficiente, mas isso pode aumentar rapidamente. Apenas para fornecer um número: para 50 clientes (ou, mais precisamente, conexões de clientes), o MDS ativo possui um mds_cache_memory_limit de 6 GB, que foi aumentado recentemente de 4 GB. O uso atual é de 7,7 GB (VIRT) 6,9 GB (RSS), o MDS tende a usar um pouco mais do que está configurado para. O MDS pode ser executado com vários daemons MDS ativos, leia este para obter mais informações sobre a configuração multi-MDS . Diz:

Adding more daemons may not increase performance on all workloads. Typically, a single application running on a single client will not benefit from an increased number of MDS daemons unless the application is doing a lot of metadata operations in parallel. Workloads that typically benefit from a larger number of active MDS daemons are those with many clients, perhaps working on many separate directories.

Você pode distribuir a carga de seus OSD executando muitos nós com poucos OSDs, mas acho que os números de RAM para OSDs não são realmente adequados para o RPi. Em um Bluestore OSD (com diário no SSD), ele consome cerca de 4 GB (VIRT) e 2,8 GB (RSS), portanto, isso não cobre o mencionado 1 GB por daemon; Novamente, tudo depende da carga de trabalho real.

Gostaria de incentivá-lo a criar seu cluster e observar os dados de desempenho, aumentando a carga de trabalho, adicionando OSDs, adicionando clientes CephFS etc. Você terá uma sensação bastante rápida para os limites do cluster e se o ajuste for possível.

    
por 28.09.2018 / 11:30