Смекни!
smekni.com

Организация корпоративного сервера на базе Linux (стр. 10 из 14)

Характеристики аппаратной части:

– Двухъядерный процессор Intelpentium 4 с тактовой частотой одного ядра 2300 Mgh;

– оперативная память 512mb;

– жёсткий диск seagetebarracuda 80GB;

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

Выбор программной платформы стоял между Linux и WindowsServer 2008.

В результате проведённого анализа, был выбран Linux, а именно дистрибутив Gentoo.

Критериями, по которым производился выбор:

– минимальные затраты на развёртывание системы

– минимальное время развёртывания системы

– надёжность системы

– наличие знаний и умений по администрированию системы

– удовлетворение имеющимся вычислительным мощностям

Gentoo появился на основе разработок собственного дистрибутива Даниэла Робинса под названием EnochLinux. Уже тогда основной целью дистрибутива являлась собственная сборка (подобная LinuxfromScratch), оптимизированная под конкретное аппаратное обеспечение и содерживающее минимальный, необходимый пользователю, набор программ.

Эксперименты над сборками GCC показали, что производительность получаемого пакета увеличивалась (в зависимости от аппаратного обеспечения) от 10 до 200% по сравнению с бинарными сборками GCC, поставляемыми другими дистрибутивами. Наработки, увеличивающие производительность, были включены в официальный выпуск GCC 2.95, благодаря чему другие дистрибутивы также получили дополнительный прирост в производительности. Начиная с этого момента, Enoch начал приобретать репутацию «быстрого» дистрибутива, после чего было принято решение сменить название на GentooLinux.

31 марта 2002 года вышла первая версия дистрибутива.

В 2004 была основана некоммерческая организация GentooFoundation, в ведение которой Роббинс передал все права на исходный код и торговые марки, тем самым отстранившись от разработки дистрибутива.

На данный момент разработка управляется группой BoardofTrustees из пяти человек (ответственных за управление фондом) и советом GentooCouncil (технические вопросы), состоящим из семи членов, выбираемых на срок в один год.

В октябре 2009 года Gentoo исполняется десять лет.
Особенности системы

Мощная и гибкая технология Portage, совмещающая в себе возможности конфигурирования, настройки, а также автоматизированную систему управления пакетами. Которая создавалась под влиянием системы управления пакетами в ОС FreeBSD, называемой портами.

Кроссплатформенность – на данный момент Gentoo портирована на ARM, x86, x86–64, PowerPC, PowerPC 970 (PowerPCG5), SPARC, MIPS, DECAlpha, PA-RISC, IBM/390, SuperH и 68k. Доступны также сборки под ядра OpenBSD, FreeBSD, NetBSD, Darwin. Система Portage портирована на платформы MacOSX, WindowsNT 5.x

Оптимизация системы под конкретное аппаратное обеспечение и нужды пользователя. Это достигается посредством сборки программ из исходных текстов с использованием, так называемых USE-флагов оптимизации и подключением / отключением необходимых модулей. Для удобства все опции могут быть внесены в конфигурационные файлы как для системы в целом (/etc/make.conf), так и для конкретных программ (/etc/portage/package.use). В случае необходимости изменения флагов, например, в случае подключения поддержки системы печати (cups) или потребности в дополнительных функциях (kerberos, pda), они будут учтены при следующем обновлении, и все программы, где используются эти флаги, включая все зависимости, автоматически пересобраны. Таким образом, любое обновление программ или системы осуществляется очень просто, например, для всей системы в целом обычно используют emerge– vDNuworld, обновление только системных программ emerge– vDNusystem.

Собственная init-система, расширенная и удобная система инициализационных файлов, в частности, вместо числовых используются именованные уровни запуска (runlevels), при этом с указанием зависимости от прочих сценариев. Для управления используется команда rc-update.

Маскирование (masking) – возможность использовать как стабильные (по умолчанию), так и экспериментальные, но более свежие / функциональные версии программ. При этом сохраняется возможность откатиться на любую из старых версий (также следует учитывать, что есть ряд пакетов и подсистем, не поддерживающих возврат к старым версиям, что связано с особенностями их функционирования, например библиотека glibc).

Более 10000 пакетов в основном дереве и множество подключаемых оверлеев от сторонних разработчиков.

Регулярное обновление пакетов и минимальные сроки устранения уязвимостей.

В последнее время для программ, требующих долгой компиляции, распространяются официальные бинарные сборки программ, например, openoffice-bin, mozilla-firefox-bin. Также есть много ресурсов с неофициальными сборками. [14]

В качестве кэширующего прокси-сервера был выбран Squid, выбор обуславливается быстротой и надёжностью данного программного продукта.

Squid– программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNUGPL). Все запросы выполняет как один неблокируемый процесс ввода / вывода. Используется в UNIX-системах и в ОС семейства WindowsNT. Имеет возможность взаимодействия с ActiveDirectoryWindowsServer путём аутентификации через LDAP, что позволяет использовать разграничения доступа к интернет ресурсам пользователей, которые имеют учётные записи на WindowsServer, также позволяет организовать «нарезку» интернет трафика для различных пользователей.

Сервер Squid развивается в течение уже многих лет. Обеспечивает совместимость с большинством важнейших протоколов Интернета, а также с операционными системами. [15]

в качестве СУБД для баз данных был выбран MySQL

MySQL– свободная система управления базами данных (СУБД). MySQL является собственностью компании SunMicrosystems, осуществляющей разработку и поддержку приложения. Распространяется под GNUGeneralPublicLicense и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQLAB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Использование такой аппаратно программной платформы наиболее эффективно, надёжно и безопасно. А также позволяет достичь необходимого быстродействия системы, которое позволит, реагировать на запросы пользователей без каких бы то ни было задержек, что в свою очередь увеличивает эффективность работы как сотрудников организации, так и как следствие эффективность работы самого предприятия.

2.3 Описание программных модулей

Основным программным модулем системы является кэширующий HTTPпрокси-сервер Squid, предназначенный для организации безопасного доступа сотрудников в интернет.

Принцип работы модуля очень прост: после запуска он начинает прослушивать стандартный порт прокси-сервера 3128. Для того чтобы пользователь мог получить доступ в интернет, ему необходимо вписать адрес HTTPпрокси-сервер в настройках браузера.

HTTPпрокси-сервер – это сервер, который обрабатывает HTTP запросы клиентов. Если клиенты имеет общую организацию или домен, или они проявляют подобие в просмотре документов, прокси-сервер может эффективно кэшировать запрошенные документы. Кэширование, которое перемещает документы из сети ближе к пользователям, разгружает сетевой трафик, снижает нагрузку на популярных серверах Web и уменьшает время, в течение которого конечные пользователи ждут запрашиваемые документы.

Прокси-сервер принимает запросы от клиентов. Когда это возможно и желательно, он генерирует ответ, основанный на документах, сохранённых в локальном КЭШе. Иначе, он направляет запрос удалённому серверу, а полученный ответ направляет клиенту, и если ответ был удачен, кэширует его. На рисунке 1.2 схематически показана работа кэширующего прокси-сервера.

Рис. 12. Передача информации через кэширующий proxy-сервер


Таким образом, proxy-сервер действует, и как сервер и как клиент. Он выступает в качестве сервера при приёмке HTTP запросов от клиентов, и клиентом по отношению к удалённым серверам, с которыми он устанавливает связь, когда не способен ответить на запрос, воспользовавшись данными из локального КЭШа.

Рассмотрим работу прокси-сервер более подробно. Когда прокси-сервер начинает работать, он находится в состоянии ожидания запросов от клиентов на специальный порт (по умолчанию 3128). После получения, для каждого запроса создаётся новый поток для обработки. Поток обработки анализирует запрос.

Если запрос должен извлечь документ (обозначается методом запроса «GET»), тогда, если выполняются все ниже перечисленные условия, то документ берётся из КЭШа и направляется клиенту, при этом число удачного использования кэша увеличивается на единицу (cachehit):

Необходимый документ имеется в КЭШе;

в запросе не указано, что документ нельзя взять из КЭШа (pragma«nocache» не задана в запросе);

в запросе не определена временная область «if-modified-since»;