Execute um servidor de configuração do MongoDB sem 3 GB de arquivos de diário


9

Para uma instalação do MongoDB fragmentada em produção, precisamos de 3 servidores de configuração. De acordo com a documentação "o processo mongod do servidor de configuração é bastante leve e pode ser executado em máquinas que executam outros trabalhos". No entanto, na configuração padrão, todos eles têm o diário ativado, e com a pré-localização, isso ocupa 3 GB de espaço em disco. Suponho que o volume real de dados e transações de um servidor de configuração seja bastante pequeno, de modo que isso pareça um pouco demais.

Existe uma maneira de (com segurança!) Executar esses servidores de configuração com muito menos uso de disco para o diário? Preciso fazer journalling nos servidores de configuração? Posso definir o tamanho do diário como menor?

Respostas:


10

Sim - existe uma maneira de minimizar o tamanho padrão dos arquivos do diário, sujeito a algumas ressalvas. Na documentação de configuração do MongoDB :

Para reduzir o impacto do registro no diário no uso do disco, você pode deixar o diário ativado e definir arquivos pequenos como true para reduzir o tamanho dos arquivos de dados e diário.

Aqui está a smallfilesinformação de configuração:

Configure como true para modificar o MongoDB para usar um tamanho de arquivo de dados padrão menor. Especificamente, arquivos pequenos reduz o tamanho inicial dos arquivos de dados e os limita a 512 megabytes. A configuração de arquivos pequenos também reduz o tamanho de cada arquivo de diário de 1 gigabyte para 128 megabytes.

Use a configuração smallfiles se você tiver um grande número de bancos de dados, cada um contendo uma pequena quantidade de dados. A configuração de arquivos pequenos pode levar o mongod a criar muitos arquivos, o que pode afetar o desempenho de bancos de dados maiores.


0

Alguns membros, de replicação , podem usar diário e outros não. [1]

Você pode definir o tamanho do jounral como menor usando a linha de comando "--smallfiles". [2]


E isso é recomendado?
Thilo

O MongoDB faz uma pré-alocação com arquivos de diário para evitar perder tempo com ele mais tarde. Se você está mais preocupado com o espaço em disco do que com o desempenho, é uma opção. Eu recomendaria deixar o registro no diário com todas as máquinas, você nunca sabe quando e como uma falha pode acontecer. Você nunca pode estar muito seguro.
Nican 10/11

1
Essa é obviamente uma boa orientação. Mas as mentes inquiridoras querem saber se um servidor de configuração tem um volume de transações que precisa de 3 GB de diários e se há algum benefício em ter diários além do tempo de inicialização mais rápido após uma falha (observe que, com 3 servidores de configuração, não deve haver qualquer perda de dados, mesmo sem registro no diário, certo?) E quanto mais rápido de qualquer maneira com a pequena quantidade de dados somente de configuração. Parece-me que as regras aqui devem ser diferentes para nós de réplica e servidores de configuração. Os documentos dizem que "você deve ficar bem se conseguir recuperar um deles em um dia", por exemplo.
Thilo #

0

Você pode iniciar o mongod com a opção --nojournal, mas eu estaria muito certo sobre os backups do servidor de configuração.


1
Quanto mais preciso preciso ter do que ter três servidores de configuração em três máquinas diferentes? Além disso, qual é o procedimento para fazer backups do servidor de configuração? Se eu não fizer backup após cada alteração (por exemplo, evento de coleção adicionada ou sharding), não será possível recuperar esses backups desatualizados, certo?
Thilo #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.