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

Требуется репликация серверной среды - с чего начать?

Я не системный администратор по образованию, поэтому я постоянно учился. Терпите меня в моем незнании. :)

Мне было поручено проанализировать один из серверов моего работодателя. Он работает под управлением CentOS, и его основная функция - служить репозиторием пакетов нашей организации для различных менеджеров пакетов (RPM, DEB), но у него есть и другие функции. Проблема в том, что он настолько старый, что никто точно не знает, как он настроен ...

Нам нужно будет переместить этот сервер на новую физическую машину, и поэтому меня попросили выяснить, как он настроен, что на нем работает и т. Д. Я знаю, что это довольно двусмысленное определение, и что я наверняка что-то пропускаю, но хотелось бы как можно тщательнее работать.

Мой вопрос: какие области мне следует проверить? Как бы вы повторили конфигурацию и среду машины, если бы не знали об этом заранее. Вот некоторые из них:

p.s. Я, конечно, буду автоматизировать настройку всего, что смогу, как только смогу выяснить этот сервер, чтобы этого не случилось со следующим парнем после меня.

Хорошее начало - использовать Чертеж перепроектировать систему. Это извлечет пакет, установку и некоторую базовую информацию о конфигурации.

Кроме того, поскольку это система CentOS / Redhat, взгляните на установочный файл в /root/anaconda-ks.cfg. Это даст вам некоторое представление о вариантах первоначальной установки системы.

Для начала я хотел бы получить как можно больше информации о состоянии работы сервера.

Какие запущенные процессы?

# ps aux

Какая конфигурация сети?

# ip address
# ip route

Есть ли у нас процессы прослушивания?

# netstat -lp

Какие файлы используются?

# lsof

Какие пакеты установлены?

# rpm -qa

Может какие правила межсетевого экрана?

for t in `echo "mangle nat filter raw"`
do
  echo ">> $t"
  iptables -t $t -nvL
done

Среди интересных папок у вас есть:

  • /etc, где сохраняется большая часть конфигурации системы.
  • /home, некоторые службы могут использовать эту папку для хранения данных.
  • /opt, туда можно устанавливать сторонние приложения.
  • /root, домашняя папка администратора, может содержать полезные скрипты.
  • /srv, стандартная папка для данных сервисов.
  • /usr/local/{bin,etc,sbin,*}, может содержать локально установленные файлы.
  • /var/log, может предоставить полезную информацию о том, что работает в системе.

При этом вы должны иметь первое представление о том, что работает на вашем сервере.

Три упомянутых вами вещи - хорошее начало. Я бы также сделал:

  • rpm -V $(rpm -qa) чтобы увидеть, что было изменено в установленных пакетах
  • find /[belmosuv]* | xargs -n1 rpm -q --whatprovides | grep 'not owned' найти файлы, установленные без диспетчера пакетов
  • Сделайте резервную копию хотя бы / home и / root (следовательно, исключены из приведенной выше находки), предпочтительно всей машины, чтобы вы всегда могли найти биты, которые вы неизбежно пропустите.