Назад | Перейти на главную страницу

Сравнение конфигурации ОС двух серверов RHEL

Как лучше всего сравнить конфигурацию ОС двух (или более) серверов RHEL 5.X? Есть ли для этого какие-нибудь инструменты / пакеты? Обратите внимание, я в основном ищу настраиваемые ОС (параметры ядра и т. Д.).

Я хотел бы добавить причину, по которой мы хотим это сделать:

  1. У нас большой размер zLinux, и мы хотели бы сравнить нашу «стандартную сборку» со сборкой дистрибутива, предоставляемого поставщиком. zLinux - это в некотором роде специализированная архитектура, и ее рекомендуемые настройки часто отличаются от настроек x86_64.

  2. Если у нас есть высокодоступный кластер серверов, чтобы сравнить / убедиться, что конфигурации ОС между ними согласованы.

Примечание: я не ищу централизованного решения, такого как марионетка или повар. Я согласен, что это оптимальные решения, безусловно, в дорожной карте, но не то, что я ищу прямо сейчас :)

Смонтируйте корневые разделы ОС в / mnt / osA и / mnt / osB

diff -rq /mnt/osA /mnt/osB даст вам результат, аналогичный Solaris ' lucompare

Затем вы можете внимательно изучить наиболее важные файлы, такие как sysctl.conf, httpd.conf и т. Д.

И как я мог забыть Чертеж! С Blueprint вы можете работать с системой и получить рецепт того, что изменилось по сравнению с установкой по умолчанию.

Лучше всего централизованное решение, потому что «конфигурации ОС» не существует. Linux не знает реестра, поэтому конфигурация распространяется по всей файловой системе. Из-за этого довольно сложно делать то, что вы хотите.

Тем не менее, вы можете просто скопировать каталог /etc всех серверов в одном месте, а затем сравните их с diff -uNr

Это должно дать вам 90% конфигурации, но вы также получите много ложных отрицаний.

Это не совсем исчерпывающая информация, но rpm может обеспечить хорошее начало. Вы можете получить список установленных пакетов:

rpm -qa > pkgs.txt

Используя стандартные инструменты UNIX, такие как wc и cmp, вы можете определить, какие пакеты есть / нет на этих двух машинах.

После этого вы можете использовать опцию --verify, чтобы увидеть, отличается ли какой-либо из файлов конфигурации:

об / мин - проверить cat pkgs.txt

Увидеть страница руководства rpm для получения информации об информации, сообщаемой флагом --verify.

Если ваши программы и инструменты не соответствуют предлагаемый макет каталога и вся конфигурация попадает в /etc, то нет простого способа "различать" установки вашей ОС.

sysctl может быть вашим другом. Что-то вроде:

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

И тогда вы различаете. :)