 | Уровень сложности: простой Стивен Моррис, технический директор, Omey Communications
05.02.2009 Сегодня перед организациями стоят две важнейшие проблемы: развертывание постоянно расширяющегося комплекса услуг и обслуживание связанных с ними вычислительных платформ. В этой статье описывается один из новых подходов к ключевому компоненту архитектуры организации
—трактовка самих операционных систем как индивидуально управляемых объектов.
Едва ли кто-либо станет оспаривать успех современных вычислительных технологий. Хорошо это или плохо, но глобальное распространение доступа к компьютерным ресурсам исторически беспрецедентно. Беспрецедентны также и последствия: мы являемся свидетелями пришествия спама и онлайнового мошенничества, нарастающих по мере того, как всё больше людей выходит в сеть. Тем не менее в глобальной компьютеризации есть очень много положительных аспектов, например, доступность информации и появление хорошо информированной, гибкой рабочей силы во всем мире.
Фундаментом успеха современной компьютеризации является не слишком известные широкой публике вычислительные центры, где расположено грандиозное количество серверов и другого оборудования. Спрос на компьютерные услуги достиг таких объёмов, что многие вычислительные центры быстро приближаются к своим физическим пределам (или уже превысили их) по размерам и потребляемой электрической мощности.
Виртуализация — это относительно новая технология, которая помогает снизить нагрузку на вычислительные центры. Эта экономия достигается способом, показанным на рисунке 1, где можно видеть два физических сервера Linux
® , консолидированных на виртуальных машинах (VM), расположенных на одном сервере.
Рисунок 1. Консолидация серверов Linux на основе виртуализации
Конфигурация, показанная на рис.1, может показаться слишком сложным путём для простого уменьшения количества машин вычислительного центра, что подводит нас к ключевому вопросу: что дает виртуализация?
Что дает виртуализация?
Итак, почему полезно заменить два сервера под Linux двумя виртуальными машинами? Во-первых, сразу же вдвое сокращается потребность в электроэнергии и исключается необходимость создания сети между двумя компьютерами. Фактически экономия может быть еще большей, если новый хост-сервер используется и для других задач. Но даже по заведомо заниженной оценке экономия составляет 50 процентов. Есть ли здесь минусы?
Технологии, как правило, не бывают бесплатными, и этот случай не исключение. Размещая два сервера Linux на одном компьютере, мы получаем единичную точку отказа: если новая машина откажет, то автоматически произойдет и отказ двух виртуальных Linux-машин.
Технология виртуализации была когда-то узко специализированной, но сегодня это уже не так. Фактически, как мы скоро увидим, для развёртывания некоторых новейших решений для виртуализации нам потребуется всего пара загрузок. Теперь можно без большой сложности развернуть виртуальные серверы и приложения Linux в среде Microsoft
® Windows®. (вынужден признать, что я был поражен, увидев это впервые). Давайте займемся виртуальной установкой Linux.
Загрузка и сборка виртуальной инсталляции Linux
Начнем со скачивания образа виртуального Linux с
сайта thoughtpolice. Я выбрал для этой статьи образ Ubuntu-server-7.10-i386, но можно использовать любой из доступных на сайте образов. Например, ваш ИТ-отдел, возможно, выбрал в качестве стандартной версии Fedora. В этом случае, некоторые из нижеследующих инструкций нужно будет немного изменить. Но общие шаги по установке относительно стандартны.
 |
Ресурсы для ИТ-архитекторов
В компании IBM ИТ-архитектура классифицируется по шести основным категориям: корпорации, приложения, информационное обслуживание, интеграция, инфраструктура и производство. Определения этих категорий можно найти в статье "Новичкам об архитектуре
"
. Найти ресурсы, которые могут вам помочь распланировать архитектуру корпоративных и программных систем, можно на страничке
бесплатных комплектов ИТ-архитектуры
от IBM. Затем прочитайте технические
статьи и руководства
,
загрузите инструментарий
,
план развития навыков
,
посетите форумы
и другие обучающие ресурсы, а также ресурсы сообществ, которые помогут вам развить навыки построения решений. Всё это можно найти в
архитектурном разделе developerWorks
. |
|
Обратите внимание, что образы VMware Linux занимают много места на диске. Образ Ubuntu-server-7.10-i386, который я использую, имеет объём приблизительно 193 МБ, так что его загрузка может занять достаточно долгое время. Помимо образа VMware, нам понадобится дополнительная программа, т.н. плеер - то есть платформа для запуска виртуальной операционной системы (так что на
рисунке 1
она будет находиться в самом низу). Программа, которую мы будем использовать, называется
VMware Player. Этот плеер можно представлять себе как «проигрыватель», запускающий (воспроизводящий) машину с виртуальной операционной системой подобно тому, как обычный плеер проигрывает компакт-диск.
Конечно, не обязательно использовать именно VMware Player. Вместо этого можно использовать VMware Server, который предоставляет аналогичные функции плюс дополнительные возможности, в частности, создание новых виртуальных машин.
Осваивая технологии виртуализации, важно понимать, что образ Ubuntu — это полнофункциональная операционная система Linux. Соответственно этот экземпляр Linux можно запускать и взаимодействовать с ним как локально, так и через сеть. Интересным применением для такой реализации операционной системы может стать использование её в качестве предустановленной платформы для распространения программного обеспечение. При таком использовании образ и связанное программное обеспечение образуют интегрированную среду. Теперь займемся получением плеера для образа Linux.
VMware Player можно бесплатно загрузить с
сайта VMware
. Заметьте, что VMware Player также занимает много места на диске: приблизительно 172 МБ. После установки VMware Player его можно запустить кнопкой Start в Windows, как показано на рис.2.
Иллюстрация 2. Запуск VMware Player
На рис.2 показана отправная точка в применении виртуального Linux. Помните, что VMware Player фактически «воспроизводит» образ Linux подобно тому, как мы проигрываем аудиофайл — просто наводим мышку и щёлкаем кнопкой. Все команды, доступные пользователю в VMware Player, находятся в разделе
Commands на странице запуска VMware Player.
Если вам интересны виртуальные специализированные устройства, обратите внимание на раздел
Featured Virtual Appliance
в том же окне VMware Player. Прежде чем запустить какое-либо виртуализованное ПО, обратите внимание под разделом
Commands , показанным на рис.2, находится список недавно запускавшихся образов виртуальных машин. Скорее всего эта область в настоящее время не заполнена, потому что мы только что установили программное обеспечение и еще не запускали виртуальную машину. Теперь мы можем это сделать.ы
Запуск образа операционной системы Linux
Если вы следуете за нами, вы уже загрузили и VMware Player и один из выбранных Linux образов VMware. Теперь можно запустить выбранный виртуальный образ Linux, щелкнув по пиктограмме
Open в области Commands , а затем найдя местоположение вашей виртуальной машины. Когда ее местоположение найдено, файл образа появится в новом окне VMware Player, как показано на рис.3.
Рисунок 3. Нахождение выбранного образа виртуальной машины
Прежде чем двигаться дальше из этого окна, обратите внимание на расширение .vmx файла образа Linux. Это расширение является форматом файла, используемым для хранения виртуальной машины VMware. Экземпляр Linux называется
гостевой операционной системой, потому что она запускается внутри другой операционной системы. Чтобы фактически запустить гостевую операционную систему, просто выберите vmx-файл и затем щелкните
Open. Тем самым мы запускаем наш виртуальный Linux в качестве гостевой операционной системы. На этом этапе, если в наших настройках всё правильно, мы увидим всю последовательность начальной загрузки для выбранной версии Linux.
Волшебство состоит в том, что весь этот процесс происходит в окне консоли как независимое приложение под Windows. В момент входа в систему вам нужно будет щёлкнуть мышкой внутри окошка виртуальной машины, а затем нажать клавишу Enter. Это необходимо сделать для того, чтобы получить приглашение на ввод имени пользователя и пароля. Получив приглашение к авторизации в Ubuntu Linux VM, напечатайте имя пользователя
notroot
и пароль
thoughtpolice. (Это обычные значения для дистрибутива Ubuntu Linux с сайта www.thoughtpolice.co.uk). Окно входа в систему показано на рис.4.ы
Рисунок 4. Экземпляр виртуального Ubuntu Linux запущен и готов к использованию.
Теперь у нас есть виртуальный экземпляр Linux, запущенный на компьютере с Windows. Как перемещаться между Windows и экземпляром виртуальной Linux системы? Перемещение между гостевой операционной системой и родной операционной системой Windows осуществляется просто: достаточно нажать Control-Alt. Эта комбинация клавиш сообщает VMware Player, что вы хотите вернуться к родному хосту Windows.
Завершение работы образа операционной системы
Чтобы завершить работу образа Linux в VMware Player, введите команду:
Затем у вас запрашивается пароль пользователя root, а потом пароль notroot. Это связано с тем, что в целях безопасности образ Ubuntu VMware не имеет пароля администратора. Вы можете, конечно, задать пароль для root, если пожелаете. Здесь приходит на помощь команда
sudo , пользоваться которой предпочтительнее, чем прямой авторизацией под root, поскольку команда
sudo—это более безопасный, более общепринятый и более надёжный метод выполнения команд суперпользователя (root).
Итак, основная установка инфраструктуры завершена. Мы видим, что на компьютере с Windows можно запустить любое количество виртуальных экземпляров Linux, и эти виртуальные машины относительно просто устанавливаются и запускаются. Тем самым решается часть первоначальной проблемы: сокращение необходимого количества машин в вычислительном центре. Что же можно сказать собственно об управлении Linux?
Обзор Linux как управляемого объекта
Далее в статье я рассмотрю эти экземпляры Linux в качестве управляемых объектов. Это означает, что каждый сервер Linux представляется отдельным, индивидуально управляемым объектом. Далее идёт краткий обзор того, как обычно управляются современные серверы и программное обеспечение.
Традиционная точка зрения на операционную систему
В традиционной модели управления экземплярами Linux и других операционных систем существует тенденция решения проблем по мере их возникновения:
- Память сервера заканчивается: закроем некоторые процессы.
- Использование процессора слишком интенсивное: закроем некоторые процессы.
- Компонент приложения отказывает: перезапустим компонент.
- Недостаточные ресурсы сервера: добавим дополнительные машины.
Как можно видеть, эти проблемы и их решения являются ответными по своей природе
—то есть они требуют человеческого вмешательства. Во многих случаях администраторы в своих действиях могут руководствоваться показаниями программ мониторинга, которые, как правило, стараются собрать данные и представить их в доступном формате для облегчения принятия решений. На более тонком уровне эти традиционные решения не очень динамичны.
Подобные ответные модели работают хорошо до тех пор, пока соглашения об уровне обслуживания (SLA) не являются слишком строгими и затраты на содержание персонала не слишком высоки. Но по мере повышения требовательности пользователей и роста затрат ответная модель теряет свою привлекательность. Есть ли альтернатива? Если одним словом, то это—оснащение средствами управления.
Сжатие операционной системы
Добавляя специализированные средства управления к Linux, можно его сделать намного более управляемым. В известной степени это часть концепции
автономных вычислений IBM
, где оснащение средствами управления принимает форму точек соприкосновения (touch-point). Независимо от используемого подхода результат становится подобным показанному на рисунке 5.
Иллюстрация 5. Оснащённые средствами управления экземпляры Linux и панель управления
На рис.5 в каждом экземпляре Linux имеется программа управления, которая делает его управляемым объектом. Благодаря этому мы можем контролировать объект операционной системы и управлять им с помощью приложения панели управления.
Современный подход к управлению сжатой операционной системой
Идеи, рассмотренные в предыдущих разделах, не особенно новы. Системные администраторы стремились управлять серверами в течение многих десятилетий, и, как правило, это управление представляет собой комбинацию следующих компонентов:
- Программное обеспечение и скрипты для контроля памяти, процессора и дискового пространства.
- Ответное реагирование на сбои в работе (например, проблемы, вызванные ошибками в программах).
- Перезапуск серверов.
- Использование интуиции и догадок.
Я предлагаю здесь набор рекомендаций по оснащению Linux средствами управления для облегчения эффективного администрирования. Они обязательно включают в себя программное обеспечение, структурированное как для получения общего обзора, так и для конкретного ракурса состояния экземпляра Linux. Ключевые элементы такого программного обеспечения:
- Стандартизация.
- Простота.
- Расширяемость.
Стандартные решения помогают избежать привязки к конкретному производителю – например, можно использовать панель управления от любого совместимого производителя. Простота облегчает работу с решениями для управления. Расширяемость означает возможность адаптации к будущим требованиям без полной замены оборудования.
Рекомендации по архитектуре для лучшего сжатия операционной системы
Итак, какие архитектурные рекомендации можно дать для облегчения управления улучшенной (не проприетарной) сжатой операционной системой? Ниже – список желательных качественных требований к архитектуре, применимых к средствам управления:
- Простота
- Удобство использования
- Высокая готовность, малое влияние на объект управления
- Высокая производительность
- Модифицируемость
- Защищенность
- Тестируемость—для модульного, интеграционного и системного тестирования.
Я поместил простоту и удобство использования наверх списка, потому что все предыдущие поколения технологий управления страдали чрезмерной сложностью. Любая инфраструктура управления должна быть постоянно доступной и достаточно нетребовательной к ресурсам, чтобы не нарушать работу системы под нагрузкой. Высокая производительность помогает снизить воздействие на управляемую систему. Изменения в требованиях управления почти неизбежны и не должны приводить к массовым нарушениям работы. Поскольку программное обеспечение управления часто имеет права доступа системного уровня, важно, чтобы оно было защищенным и тестируемым.
Заключение
Недостаток места в вычислительных центрах – растущая проблема, в определенной степени усугубляемая избыточным развертыванием ресурсов. Избыточное развертывание ресурсов – это подход, при котором машины устанавливаются в расчете на прогнозируемые, а не на текущие требования. Такой подход можно назвать "навырост", вместо "точно по размеру". В результате многие вычислительные центры сегодня "трещат по швам", исчерпав мощности питания и свободное пространство.
Технология виртуализации помогла в определенной степени разрешить эту проблему. Действительно, существуют простые в понимании и использовании инструменты виртуализации. Однако когда визуализация исчерпает себя как промежуточное решение, будет необходим более фундаментальный обзор на уровне управления инфраструктурой Linux.
Сегодня Linux – ключевой компонент глобальной вычислительной инфраструктуры. Несмотря на столь значительные достижения, системы управления продолжают страдать от старых проблем: чрезмерная сложность, закрытость, функциональная несовместимость и т.д. В результате, если вам нужно управлять платформами Linux, вам приходится создавать свое собственное решение или использовать закрытое фирменное решение. Такой подход не соответствует требованиям завтрашнего дня.
Технологии управления предыдущих поколений страдают от чрезмерной сложности, тяжеловесности исполнения (чрезмерное потребление ресурсов), слишком узкого подхода и т.д. Фактически область инфраструктуры управления систем Linux широко открыта для пересмотра на всех уровнях. Хорошее начало для подобного диалога – набор архитектурных рекомендаций, подобных тем, которые изложены здесь.
Ресурсы Научиться
- Оригинал статьи
The Linux operating system as a managed object (EN).
-
"Enable
C++ applications for Web service using XML-RPC" (Картик Суббиан, Рамакришнан Каннан, developerWorks, 20 июня 2006 г.): пошаговое руководство по раскрытию методов
C++ как служб. (EN)
- "Windows-to-Linux road map"
(developerWorks, ноябрь 2003 г.): перенос ваших практических навыков из среды Windows в среду Linux. Эта серия из девяти частей учит "думать в Linux" и охватывает общие команды, настройки "щелчком мыши", работу с файловыми системами и файлами журналов, сетевой инструментарий и утилиты восстановления, а также компиляцию программ из доступного исходного кода.(EN)
- Основы Linux и пособия по подготовке к сертификации:
охватывают весь диапазон задач администрирования Linux. Более 25 последовательных обучающих пособий позволяют усвоить фундаментальные навыки работы в Linux с нуля или подготовиться по темам экзаменов, которые необходимо изучить для получения сертификата системного администратора от Linux Professional Institute. (EN)
- "Анатомия файловой системы Linux
"
(developerWorks, октябрь 2007 г.): узнайте, почему Linux называют «швейцарским складным ножом» среди операционных систем. Linux поддерживает большое количество файловых систем, от журналируемых до кластерных и криптографических. Linux - замечательная платформа для использования как стандартных, так экзотических файловых систем, а также для разработки файловых систем. В статье исследуется виртуальная файловая система (VFS) в ядре Linux.
- "Анатомия ядра Linux
"
(developerWorks, июнь 2007 г.): углубитесь в ядро – основополагающую сущность большой и сложной операционной системы. Несмотря на большие размеры, ядро хорошо организовано с точки зрения подсистем и уровней. Описывается общая структура ядра Linux и обрисовываются главные подсистемы, основные интерфейсы и связанные ресурсы.
- "Hacking the Linux 2.6 kernel, Part 1: Getting ready"
(developerWorks, июль 2005 г.): руководство по системным и операционным требованиям, лучшие способы получить исходный код Linux, конфигурирование и загрузка нового ядра, вывод загрузочных сообщений. (EN)
-
Технические мероприятия и Web-трансляции на сайте developerWorks
: оставайтесь в курсе новостей.(EN)
-
Архитектурный раздел developerWorks: ресурсы, необходимые для улучшения ваших навыков в области архитектуры.(EN)
-
В разделе
Linux,
сайта developerWorks содержатся дополнительные материалы для разработчиков Linux. Также просмотрите наши
наиболее популярные статьи и учебные пособия. (EN)
.
-
В магазине технической литературы
имеются книги по этой и другим темам. (EN)
Получить продукты и технологии
Обсудить
Об авторе  | |  | Стивен Моррис (Stephen B. Morris) работает техническим директором ирландской компании Omey Communications. За 20 лет работы ему довелось работать во многих сетевых компаниях мира над самыми разнообразными проектами, в их числе система сетевого управления предприятием (на основе Java 2) J2EE/J2SE, программы выставления счетов, простой протокол управления сетью, подключения к сети SNMP (Простой Протокол Управления Сетью), оборудование для сетей и приложения для сетей мобильной связи стандарта GSM. Он опубликовал книгу "Управление сетью, базы управляющей информации MIB и многопротокольная коммутация MPLS: принципы, дизайн и осуществление" (Network Management, MIBs and MPLS: Principles, Design and Implementation (издательство Prentice Hall PTR, 2003 г.), а также ряд статей, в основном по управлению сетью для сайтов InformIT и OnJava.com. Электронный адрес Стивена: stephenbjm@yahoo.com. |
Выскажите мнение об этой странице
|  |