Alterator/role-setup

Материал из ALT Linux Wiki
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


На этой страничке предлагается описывать типичные тематические роли для альтератора, а также что хотелось бы иметь.

Шаблон

  • Название роли.
  • Описание необходимого функционала. Т.е. ответ на вопрос что должен делать альтератор в данной роли в целом.
  • Список используемых модулей альтератора
  • Описание каждого модуля и что должен делать каждый модуль
  • Описание взаимосвязи и взаимодействия вышеперечисленных модулей между собой


Программа установки

Цель: Установить ОС на компьютер. При этом проходятся такие этапы установки:

  • Сбор сведений. На этом этапе загружается ядро, и производится сбор сведений у пользователя: Выбор языка, разметка диска, куда и как установить загрузчик, пароли и пользователи. настройка сети и т. д. все что идёт до установки базовой системы. Результатом работы этого этапа является получение autoinstall.shm. В конце пользователю показываются все собранные данные и задается вопрос: — «Произвести установку?» Никаких изменений на диске на этом этапе не производится.
  • Установка. На этом этапе запускается по ранее полученному сценарию установка.
  • Настройка на тематическую роль в целом и каждый сервис в частности. После установки на этом этапе предлагается выбрать роль компьютера. Пользователь может отказаться от выбора, и тогда этот выбор нужно предложить при первом заходе в альтератор. В зависимости от выбранной роли производится настройка.

Преимущества разделения сбора сведений и самой установкой вижу такие:

  • Экономит время. Не нужно ждать пока выполнится каждый шаг и следить а закончился ли он?
  • Гарантирует полностью рабочий autoinstall.scm.

Десктоп

Цель: Получить готовую к использованию рабочую среду на десктопе.

Функциональность:

  1. Управление пользователями
    • Пользователи и группы
    • Аутентификация
    • Локаль, раскладка клавиатуры
  2. Управление программами
    • Обновления
    • Установка и удаление программ
    • Выбор источников
  3. Сеть
    • Общие параметры: сетевое имя, DNS, прокси-сервер
    • Настройка параметров подключения по Ethenet, WiFi, GPRS, PPP, PPPoE, PPTP, WiMAX
    • Сетевые службы
    • Общие ресурсы (NFS, Samba)
    • Сетевой экран (брандмауэр)
  4. Система
    • Информация о системе (в том числе HCL)
    • Загрузка (LILO)
    • Разделы жёсткого диска
    • Запущенные службы
    • Дата и время
  5. Оборудование
    • Установка оборудования
    • Принтеры
    • Сканеры
    • Графическая система

Офисный сервер (интранет-сервер)

Цель: Использование альтератора для администрирования отдельного сервера в рамках одной организации На сервере используются:

  1. Почта: postfix+dovecot+amavis+clamav+spamassassin
  2. Файловый сервер: samba, ftp, ntfs
  3. Http сервер: apache+php или nginx+php
  4. Прокси сервер: squid+havp
  5. Севрвер времени: openntp
  6. Сервер базы данных: MySQL, PostgreSQL


Здесь нужно разделить первоначальную настройку и само администрирование. Первоначальная настройка и получение работоспособного сервера сервера должна осуществляться полностью в автоматическом режиме. Т.е. от пользователя требуется только указать какую роль выполняет данный сервер и получить работоспособный, настроенный сервер. Этот этап может выполняется как в инсталяторе после выбора соответствующей роли, так и отдельно уже после установки.

Администрирование уже подразумевает управление всеми этими сервисами. И это должны быть отдельные модули, которые будут предоставлять высокоуровневое управление. Возможно здесь нет необходимости использовать openvz

Терминальный сервер

TODO

Интернет-сервер

Цель: Использование альтератора для администрирования отдельного сервера на площадке провайдера. Несколько расширенная реализация интранет сервер. Используется OpenVZ для респределения сервисов по контейнерам. Также необходим интерфейс управления не только сервисами, но и интерфейс для пользователя, откуда пользователь может управлять своим аккаунтом: сменить пароль, управлять почтой (сортировка, обучение антиспама, вебпочта), хранить свои данные, просматривать свою статистику и т.д.

На сервере используются:

  1. Почта: postfix+dovecot+amavis+clamav+spamassassin
  2. Файловый сервер: samba, ftp, ntfs
  3. Http сервер: apache+php или nginx+php
  4. Прокси сервер: squid+havp
  5. Севрвер времени: openntp
  6. Сервер базы данных: MySQL, PostgreSQL

Сервер хостинг-провайдера

Цель: предоставить средства для управления хостингом. Схема серверов и сервисов для хостинга. Правила которые она должна выполнять:

  1. Все сервисы должны выполняться в VPS
  2. Один сервис (или логическая связка) — один VPS
  3. База пользователей должна быть одна
  4. Управление должно осуществляться из одного места
  5. Возможность отключить не используемый сервис. Модульная система.
  6. Простая система обновлений на всех серверах.

Таким образом для выполнения этих правил схема серверов и сервисов будет такая:

Сервер HN. Является носителем VPS. Будем рассматривать его как минимальная структурная единица предоставляющая все сервисы в данном датацентре (ДЦ). При большем количестве серверов в ДЦ возможно перераспределение VPS по носителям.

Обязательные VPS какие должны располагаться на HN:

  1. VPS служебный. На нем хранится база пользователей и скрипты по управлению. В случае отказа основного сервера может стать мастером для управления. Обычно это один VPS.
  2. VPS для хостинга. На нем хранятся пользовательские скрипты. Установлен вебсервер и php. Количество не ограничено.
  3. VPS для почты. На нем хранится пользовательская почта и работает MTA+антиспам+антивирус. Количество не ограничено.
  4. VPS для mysql. На нем располагаются базы данных пользователей и работает mysql

Необязательные VPS:

  1. VPS для java хостинга. На нем установлен tomcat. Количество не ограничено.
  2. VPS для PostgreSQL. Располагаются базы для postgresql и работает сервер. Количество не ограничено.

Такая схема дает такие преимущества:

  • Обеспечит безопасность и большую отказоустойчивость. Например, если пользовательские скрипты загрузили 1 VPS, то работоспособность других VPS сохраняется.
  • Легко предоставлять пользователям те настройки которые они хотят. Например часто хотят видеть чтобы php работал как модуль. Разбив пользователей на небольшие группы, мы сможем предоставлять гибкие настройки.
  • Можно в пределах одного ДЦ держать 1 VPS с postgresql так как пользователей использующих эту базу не много. Или один почтовый сервер и заботиться о работоспособности одного сервера (проверять в антиспамовских базах и т. д.).
  • Единая база пользователей, единый интерфейс управления всеми пользователями, сервисами и серверами.

Необходимы следующие возможности:

  1. Административные модули:
    • Модуль управления аккаунтами (поиск по домену, имени; блокировка, бэкап, трансфер, управление доступом к ssh, mysql, смена пароля, контактного e-mail).
    • Модуль создания квот на ресурсы (дискового пространства, количества баз, количество доменов, алиасов к домену, возможность предоставления ssh доступа и т. д.)
  2. Пользовательские модули:
    • Модуль управления доменами (создание, удаление, парковка, дополнительные домены и т. д.)
    • Модуль управления дополнительными почтовыми аккаунтами для данного домена.
    • Модуль управления базами для mysql и pgsql (модуль должен создавать/удалять пользовательские базы согласно квотам)