Comparando a configuração do sistema operacional de dois servidores RHEL

6

Qual é a melhor maneira de comparar a configuração do sistema operacional de dois (ou mais) servidores RHEL 5.X? Existem ferramentas / pacotes disponíveis para fazer isso? Note, estou procurando principalmente tunables OS (parâmetros do kernel, etc).

Gostaria de acrescentar o motivo pelo qual estamos procurando fazer isso:

  1. Temos uma pegada grande no zLinux e gostaríamos de comparar nossa 'construção padrão' com a de uma distro fornecida por um fornecedor. O zLinux é, de certa forma, uma arquitetura especializada e geralmente tem configurações recomendadas diferentes do x86_64.

  2. Se tivermos um cluster de servidores altamente disponível, comparar / garantir que as configurações do SO sejam consistentes entre eles.

Observação: não estou procurando uma solução centralizada, como fantoches ou chefs. Eu concordo que estas são as melhores soluções estão definitivamente no roteiro, mas não o que eu estou procurando agora :)

    
por Patrick 12.07.2011 / 14:48

5 respostas

1

Não é completamente abrangente, mas o rpm pode proporcionar um bom começo. Você pode obter a lista de pacotes instalados:

rpm -qa > pkgs.txt

Usando ferramentas padrão do UNIX, como wc e cmp, você pode dizer quais pacotes estão / não estão nas duas máquinas.

Depois disso, você pode usar a opção --verify para ver se algum dos arquivos de configuração é diferente:

rpm --verify cat pkgs.txt

Consulte a página de manual rpm para obter informações sobre as informações relatadas pelo sinalizador --verify .

    
por 12.07.2011 / 14:58
1

A melhor maneira é uma solução centralizada porque "a configuração do sistema operacional" não existe. O Linux não conhece um registro, então a configuração está espalhada por todo o sistema de arquivos. Isso torna muito difícil fazer o que você quer.

Dito isso, você pode simplesmente copiar o diretório /etc de todos os servidores em um só lugar e compará-los com diff -uNr

Isso deve dar 90% da configuração, mas você também terá muitos falsos negativos.

    
por 12.07.2011 / 14:59
1

Monte as partições de raiz do sistema operacional em / mnt / osA e / mnt / osB

diff -rq /mnt/osA /mnt/osB daria a você alguma saída semelhante ao lucompare

do Solaris

Você poderia então diferenciar os arquivos mais preocupantes, como sysctl.conf, httpd.conf, etc.

E como posso esquecer o Blueprint ! Com o Blueprint, você pode executar um sistema e obter uma receita do que foi alterado na instalação padrão.

    
por 12.07.2011 / 16:28
0

A menos que seus programas e ferramentas estejam de acordo com o layout de diretório sugerido e todas as configurações acabem em /etc , haverá não é uma maneira fácil de "diferenciar" suas instalações do SO.

    
por 12.07.2011 / 14:59
0

sysctl pode ser seu amigo. Algo ao longo das linhas de:

for host in foo.example.com bar.example.com ; do
  ssh root@$host sysctl -a > $host.conf
done

E então você diff. :)

    
por 12.07.2011 / 16:31