У меня есть сервер Ubuntu 12.04, работающий на рабочей станции vmware 8. Из-за моих временных ограничений я не могу позволить себе устанавливать новые серверы, поэтому я решил, что мне нужно сделать 10 его клонов с точно такой же конфигурацией. Что я должен иметь в виду, чтобы изменить помимо IP-адреса, mac-адреса и имени хоста, чтобы после этого не возникало конфликтов между серверами?
Если вы делаете 10 клонов существующего сервера, вы все еще находитесь в компромиссе, где тратите несколько часов, деконструируя его настройку и создавая сценарии с помощью Puppet / Chef / Juju / etc, а также настраивая обслуживание и мониторинг. легко компенсирует время, которое вы будете тратить вручную, гоняясь за серверами, на которых выполняются обновления отдельных пакетов, и задается вопросом, что пошло не так, когда сервис отключается.
Это действительно скучные вещи сисопа ... Но, как я уже сказал, это окупится через пару месяцев, и к концу следующего года вы либо будете благодарить меня за предложение или проклинаете себя за игнорирование , ИМО, которая применяется, когда вы имеете дело с более чем двумя компьютерами. Это не займет много времени, чтобы настроить все это.
Но IP-адрес и имена хостов - это большие два. Если вы используете службы сетевой подготовки, такие как DHCP, это вызовет проблемы, но если предположить, что это клиенты, вы, вероятно, не увидите больше проблем сразу.
И если это Ubuntu 18.04, использующая DHCP и netplan (или вы, возможно, захотите сделать это в любом случае), просто потратил некоторое время, пытаясь понять, почему мой клон с разными MAC-адресами получил один и тот же ip с сервера dhcp ...
Вы должны изменить / etc / machine-id, чтобы присвоить ему уникальное имя, используя
sudo systemd-machine-id-setup
Да, да, IP-адреса и имена хостов очевидны. Однако, пожалуйста, убедитесь, что вы удалили /root/.ssh, чтобы у этих виртуальных машин не было ваших ключей SSH, чтобы вернуться на ваш главный сервер. То же самое, если вы создадите виртуальную машину главного сервера в качестве личного сервера - учетные записи удаленных пользователей, которые не обязательно должны быть на сервере.
Поскольку время важно, важно ли пространство? Как насчет нового сервера. предоставьте учащимся логины и сделайте так, чтобы они использовали SSH в своем собственном облегченном контейнере, где они не могут повлиять на ваш сервер. Смотри man -k lxc. К вашему сведению, Docker был запущен с использованием простого инструмента-контейнера linux под названием «lxc».
(1) создать новый сервер Ubuntu или CentOS; и (2) использовать Linux Container (lxc "lxc create {servername} -t ubuntu" на вашей виртуальной машине Ubuntu. Это позволит вам легко создать 10 контейнеров, в которые можно войти.
"Oli" поднял хорошую точку о сценариях. Посмотрите многие учебные пособия по цифровому океану об использовании Ansible для создания LXC-лаборатории с веб-серверами и серверами баз данных. У них есть как Apache, так и Nginx-версии учебников, если вам нужен веб-сервер.
Удачи !
Ларри