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

Как справиться с первоначальной установкой Linux-сервера?

За последние несколько недель я узнал, что мои навыки системного администратора Linux довольно низки, поэтому я купил жесткий диск большего размера (1,5 ТБ) и начал играть с виртуальными машинами. Я экспериментировал довольно трудный путь, так что я в конечном итоге переустановке много. Моя проблема в том, что я действительно не знаю, что лучше всего делать Начальная настройка.

Моя первая идея заключалась в том, чтобы создать простой сценарий bash, который бы устанавливал все необходимые пакеты, компилировал исходники, настраивал учетные записи и т. Д. Но моя проблема заключалась в том, что он обычно застревал где-то посередине из-за каких-то изменений или проблем, поэтому у меня все равно вручную взломать. Также такой сценарий очень быстро устареет.

Еще одна идея, которую я пытаюсь сейчас сделать, - это написать контрольный список вещей, которые мне нужно сделать, а затем вручную установить все и проверить результаты на бумаге. У этого есть преимущество, заключающееся в наличии более общих шагов (например, установка MySQL), однако мне приходится делать все вручную, что не очень удобно.

Последний вариант - установить всю систему вручную, настроить ее, а затем создать образ раздела и, в конечном итоге, восстановить его вместо чистой установки. Хотя мне кажется, что это хорошее решение для установки, скажем, на 20 серверов одновременно, оно также скоро устареет, поэтому мне придется создать новую, обновленную чистую установку и снова создать ее образ.

Я знаю, что в разных ситуациях применяются разные меры, поэтому, вероятно, нет один подходит всем решение.

Так что мой вопрос.

Есть ли у вас какой-либо контрольный список, сценарий установки или что-то в этом роде при установке новой системы?

На самом деле есть две разные области, на которые стоит обратить внимание:

  • Обеспечение «чистого металла» - переход от сервера без ОС к серверу с установленной на нем базовой ОС. Набор инструментов зависит от операционной системы и дистрибутива: в Windows есть WDS, Solaris имеет Толчок, а в Linux есть различные варианты в зависимости от дистрибутива, с кикстарт и FAI быть одним из самых популярных. Вы также обнаружите, что облачные сервисы, такие как EC2, имеют свои собственные методы обработки «голого железа», сосредоточенные на создании предварительно загруженной виртуальной машины, которую вы можете загрузить.
  • Если у вас есть базовый образ ОС, настройте его как полезный сервер. Для этого посмотрите на такие инструменты, как Повар, Кукольный, bcfg2, или cfengine. Самым большим преимуществом использования подобных инструментов перед сценарием является то, что они также будут обрабатывать изменения на вашем сервере с течением времени, помимо подготовки новых серверов.

Поскольку мы говорим о виртуальных машинах, почему бы не использовать изображений? Для большинства систем виртуальных машин у вас может быть какой-то шаблон, который использует исходный компьютер. Таким образом, вы всегда можете создать базовую систему, настроить ее по своему вкусу как общую базовую систему, а затем просто создать все свои производные машины из этого базового шаблона. Как вы это сделаете, будет зависеть от используемой вами технологии виртуализации.

Для чего-то вроде OpenVZ / VServer шаблоны все равно используются - так что просто создайте собственный. Для чего-то вроде KVM просто скопируйте образ жесткого диска или вы даже можете использовать комбинацию образов жесткого диска, доступного только для чтения, со снимками. У других тоже есть похожие возможности.

Я всегда использую Debian netinstall. Это абсолютно минимальная система. Затем, шаг за шагом, создадим систему с помощью apt-get. Вы можете поместить команды apt-get в файл и использовать этот файл позже для перестройки системы, даже до определенного момента.

Я очень рад использовать сапожник сервер, который централизованно управляет каждой машиной (голое железо, dom0 и VM), которые у меня есть.

Для этой цели я создал виртуальную машину vmware, поверх которой я установил свой сервер cobbler, чем я могу использовать его везде, где мне нужно, просто подключив свой ноутбук к локальной сети или к машине, которая будет установлена ​​через кросс-кабель.

Это очень масштабируемый, простой в обращении и делает стандартизацию центром ваших установок.

Вы не упомянули, что такое Linux. Я поддержу рекомендацию сапожника. Помимо подготовки, он может выполнять действительно базовое управление конфигурацией, хотя я бы действительно рекомендовал марионетку для управления конфигурацией. Для загрузки он будет управлять и поддерживать синхронизацию, копию репозитория обновлений локально. Cobbler довольно легко установить и запустить, марионетка (и все другие инструменты управления конфигурацией) имеют немного более крутую кривую.