Solaris 10 вышедшая официально 15 ноября 2004 года (поставки в Россию начинаются с января 2005г.) по праву может называться – революционной. Несколько сотен нововведений, появившихся в данной версии, не дадут полного представления о ее революционности, но такие технологии, как: Solaris Containers, Dynamic Tracing, Solaris ZFS, Predictive Self-Healing, средства обеспечения повышенной безопасности, поддержка исполняемых кодов Linux и мультиплатформная совместимость – вот те определяющие технологии, которые позволяют назвать Solaris 10 – революционной.
6.1. Зоны и контейнеры (Solaris Containers)
Одной из важных технологий, появившейся в Solaris 10, является возможность создания контейнеров (Solaris Containers) и виртуальных зон (Solaris Zones). Данная технология еще носит обобщенное название N1 Grid Containers и разработана для наиболее эффективного использования аппаратных ресурсов, повышения надежности и безопасности функционирования системы.
Частично некоторые механизмы этой технологии появились еще в девятой версии операционной системы Solaris. Механизм контейнеров, при котором каждый процесс, запускаемый в системе, функционирует в изолированном адресном пространстве и не имеет прямого доступа к другим процессам в сочетании со средствами распределения аппаратных ресурсов (Resource manager) являлись ключевыми в списке возможностей Solaris 9. А использование графической java-основанной среды администрирования, в дополнении к стандартным – командной строке и конфигурационным файлам, позволило максимально упростить процедуру распределения ресурсов.
Использование зон и контейнеров в Solaris 10 позволяет создавать на одном сервере до 8192 виртуальных операционных систем, каждая из которых полностью изолирована, со своим пространством памяти, сетевыми адресами, файловой системой, запущенными процессами, а также, со своей базой пользователей. Фактически – это набор независимых виртуальных серверов Solaris 10, работающих на одном физическом сервере.
Похожая технология виртуализации систем Sun Dynamic System Domains, доступная на Sun Fire серверах midrange- и high-end- уровней, уже давно успешно используется в решении задач эффективного распределения аппаратных ресурсов. С ее помощью возможно разделить внутренние ресурсы серверов данных уровней на независимые серверы в каждом из которых можно устанавливать свою операционную систему.
В отличие от аппаратных динамических доменов, технология контейнеров доступна на любой платформе, где установлена Solaris 10 – это все SPARC-серверы Sun Microsystems, x86-системы и 64-bit системы на архитектуре AMD Opteron.
Еще одним главным отличием, от похожих технологий, является возможность организации виртуальных серверов на одной «базовой» операционной системе. При создании зон не нужно каждый раз проводить инсталляцию новой версии операционной системы. Все виртуальные серверы базируются на главной – глобальной зоне и используют установленные в ней ресурсы для своей работы. Установка патчей и других программных продуктов и библиотек в глобальной зоне, автоматически распространяется на все виртуальные. Также, виртуальные зоны могут наследовать и ряд глобальных конфигурационных параметров.
Таким образом, налицо еще одно важное преимущество технологии Solaris Containers – простота администрирования, что заложено в основную концепцию N1 Grid Containers – «управление N компьютерами как одним». Администратору не нужно поддерживать каждый виртуальный сервер по отдельности, достаточно осуществлять поддержку только глобальной зоны. Каждый из этих виртуальных серверов можно независимо перезагружать, запускать, останавливать сервисы в них, давать пользователям доступ, не опасаясь, что это затронет другие виртуальные серверы, работающие на этой машине. Кроме того, эта технология является экономичной и с точки зрения системных ресурсов: на каждый контейнер требуется менее 1% накладных расходов.
Технология зон и контейнеров включает в себя несколько мощных возможностей:
· Управление ресурсами, позволяющее наиболее эффективно распределять вычислительные мощности сервера между пользователями, отдельными процессами и группами задач.
· Разделение на контейнеры задач и данных с ними связанных.
· Обеспечение повышенной безопасности.
Тот факт, что все процессы в контейнерах изолированы, позволяет добиться повышенной степени безопасности. Все зоны изолированы между собой так, что не процессы, не пользователи из одной виртуальной зоны не имеют доступа к другой. Даже суперпользователь root, который в UNIX-системах обладает всеми правами, из одной виртуальной системы не имеет прав доступа к другим системам. В случае «взлома» в одной из зон, злоумышленник не сможет получить доступа ко всем ресурсам системы, ограничившись лишь областью поврежденной им виртуальной системы. А если при этом еще и все ключевые сервисы были распределены по отдельным зонам, то их функциональность не нарушится и сбой пройдет только по тому сервису, который подвергся атаке.
Если рассматривать применение технологии N1 Grid Containers применительно к Российской специфике построения информационных систем, то, на мой взгляд, она найдет широкое применение во всех сферах бизнеса. Очень часто, а особенно если рассматривать сегменты малого и среднего бизнеса, при построении информационной системы на одном сервере устанавливаются и запускаются несколько бизнес-задач либо сервисов. Комбинации бывают весьма разнообразные вплоть до размещения всех Интернет-сервисов (web, dns, dhcp, mail, ftp и тд.) на одном сервере, что резко снижает безопасность и надежность системы в целом. Конечно, использовать 20-30% ресурсов сервера только, например, на осуществление почтовой службы экономически не целесообразно. Вот и приходится администраторам размещать различные задачи на одной серверной площадке в ущерб безопасности системы.
Применение зон и контейнеров является уникальным решением для такого рода задач. Каждый сервис устанавливается в «свою» виртуальную зону, а с помощью механизмов распределения ресурсов можно динамически перераспределять необходимые вычислительные мощности сервера по мере загруженности той или иной сервисной службы. Плюс ко всему, система получает дополнительную безопасность за счет применения технологии конвейеризации.
Еще одним из возможных мест применения данной технологии, является использование виртуальных зон для отладки разрабатываемых приложений. Для того чтобы протестировать тот или иной разрабатываемый продукт используют тестовые полигоны, представляющие собой отдельно выделенные серверы. Понятно, что в процессе тестирования эти системы требуют постоянной поддержки и даже переустановки. Все это требует дополнительно и финансовых и интеллектуальных ресурсов. При использовании технологии N1 Grid Containers максимально упрощаются процедуры администрирования тестовых площадок, что ведет к существенному повышению производительности и экономии ресурсов.
6.2. Динамическая трассировка задач (Dynamic Tracing)
Анализ работы процессов, взаимодействие их с системными компонентами является важным звеном не только для непосредственно разработчиков программных продуктов, но и для администраторов, желающих оптимально настроить свою систему по максимуму надежности и производительности.
В предыдущих версиях операционной системы Solaris было не мало средств для анализа функционирования процессов. Так, например, очень полезная команда truss позволяла наглядно показать всю «внутреннюю» работу задачи, указанной в качестве ее аргумента. Все что выполняет испытуемое приложение: открытие файлов, выделение памяти, системные вызовы и т.д. – все это наглядно выводиться на консоль командой truss и позволяет детально анализировать работу процесса. Но этот механизм не позволяет строить алгоритмы анализа функционирования процессов, да и объем информации, выводимый на консоль очень велик и, как следствие, труден для анализа.
Появившаяся в Solaris 10 технология динамической трассировки задач (Dynamic Tracing, DTrace) позволяет в режиме реального времени производить диагностику и оптимально подстраивать функционирующие процессы и систему в целом.
Функционально DTrace предоставляет следующие возможности:
· Производить анализ взаимодействия пользовательских процессов в системе и быстро находить возможные узкие места в их работе.
· Отслеживать проблемы производительности на большинстве программных уровней.
· Настраивать систему по максимуму производительности.
· Определять причины сбоя в функционировании процессов.
· Использовать собственные скрипты для проведения индивидуального анализа.
Использование данной технологии позволяет повысить скорость выполнения приложений, в ряде случаев, до 30 раз. Если на определение и устранение проблемных мест в работе приложений раньше уходило десятки, а то и сотни часов, то с использованием механизмов DTrace эти цифры уменьшаются с разряда часов до минут.
Очень важным моментом в применении этого механизма является и тот факт, что вам не надо вносить какие-либо изменения в исходном коде приложения, а также, останавливать и перезапускать его при смене алгоритма анализа. Это же относится и к задачам анализа работы системы в целом – не нужно перегружать систему, вносить изменения в ее конфигурацию, накладывать дополнительные права и т.д.
Динамическая трассировка задач базируется на собственном языке программирования – D-language, который очень похож на язык C/C++ и довольно легок в освоении даже для тех, кто мало знаком с программированием. А для профессиональных программистов вообще не составит труда разобраться с мощными возможностями данной технологии.
Все производители UNIX-систем, а также, и Microsoft предлагают своим пользователям похожие технологии анализа взаимодействия процессов. Наиболее известные из них: IBM AIXTrace, Linux Trace Toolkit и Microsoft Event Tracing for Windows. Но в отличие от DTrace они не обладают гибкими возможностями анализа и решения тысяч проблем, используя в своем арсенале только заранее определенные механизмы решения конкретных ситуаций.
6.3. Solaris ZFS (zettabyte file system)
На протяжении многих лет, стандартом файловой системы в Solaris была UFS (Unix File System) – довольно не плохая файловая система со своими плюсами и минусами. Функциональные возможности ее периодически расширялись. Так, как я отмечал выше, в восьмой версии Sun Solaris были добавлены мощные возможности: поддержка больших файлов (более 2 GB), direct I/O (прямое чтение/запись данных), журналирование и, так называемый, snapshot – механизм моментальных копий, позволяющий на «горячую» производить backup системы.
Все это существенно расширило возможности использования данной файловой системы. Тем не менее, с современными требованиями и задачами организации хранилищ данных эта файловая система уже не справляется. Вот основные недостатки, которые фактически и поставили «крест» на перспективах дальнейшего применения UFS:
· Фиксированный размер блока данных (8 Kb)
· Фиксированное количество файловых разделов (максимум 7 слайсов) на одном диске
· Невозможность динамически изменять размер файловой системы
· Длительные процедуры восстановления файловой системы. Правда, нужно отметить, механизм журналирования позволил существенно сократить время восстановления
Для того чтобы расширить возможности использования UFS и избавиться от перечисленных выше недостатков используется продукт – Solaris Volume Manager (в Solaris 8 он носил название – Solstice Disk Suite.) С помощью SVM можно:
· Расширить предел разбиения диска с 7 слайсов до 8192 так называемых soft-partitions
· Динамически перераспределять soft-partitions между разделами, увеличивая, таким образом, размер файловой системы
· Организовывать программные RAID-системы
· Организовывать распределенные дисковые системы (volume disk)
Основная задача применения SVM – это использование ресурсов внешних дисковых массивов. Кстати, вышедший в Solaris 9, новый релиз SVM полностью совместим с очень популярным на рынке данных технологий аналогичным продуктом – Veritas Volume Manager.
Конечно, даже, несмотря на всю свою функциональную мощь, Solaris Volume Manager не способен решить все проблемы UFS.
Учитывая сложившуюся ситуацию с возможностями UFS и современные требования организации дисковых систем, Solaris 10 выходит с новой файловой системой - ZFS (zettabyte file system). Поддержка «старой» UFS при этом, естественно, остается возможной.
Итак, ZFS – новое поколение файловых систем, стирающее грани между простыми дисковыми системами и мощными data-центрами. Это динамическая, само-восстанавливаемая и максимально упрощенная с точки зрения администрирования файловая система.
ZFS работает как на SPARC, так и на x86 платформе, и, что самое важное, абсолютно совместима в обоих случаях. Вы можете смело переносить диски с одной платформы на другую без каких-либо изменений, конвертации и потери данных. ZFS является POSIX-совместимой файловой системой и не требует портирования приложений, разработанных под «старый» формат.
В данной файловой системе применены несколько новых технологий, позволивших максимально расширить ее возможности:
· Динамическое распределение данных на нескольких носителях
· Технология copy-on-write, при которой данные записываются на диск до подтверждения операции, позволяет исключить ситуации нарушения целостности файловой системы, и, как результат, отпадает необходимость в применении команды fsck (команда, которая проверяет и восстанавливает файловую систему)
· Переменный, автоматически выбираемый размер блока
· Неограниченные по возможностям snapshot-механизмы
· Параллельно выполняемые операции
· 128-bit файловая система (первая в мире!)
· 64-bit механизм «контрольных сумм» позволяет в 99.9 процентах случаев автоматически обнаруживать и восстанавливать возможные ошибки
В отличие от других файловых систем, ZFS не фрагментирована, и представляет собой общее хранилище данных (pool) без каких-либо разделов, требуемых администрирования и распределяет операции чтения/записи на все дисковые устройства в данном пуле. Это позволяет динамически, по мере необходимости, изменять объем выделяемого дискового пространства файловой системе - либо увеличивая его при необходимости, либо освобождая. А добавление новых дисковых устройств в пул не требуют переконфигурирования уже функционирующей системы.
Применение данных технологий существенно упростили процедуры создания и администрирования файловых систем. Если раньше, при создании UFS, необходимо было выполнить порядка 28 действий (format, newfs, редактирование конфигурационного файла /etc/vfstab, и тд.), то теперь вся процедура создания пула сведена в пять шагов. Если перевести все это во временные показатели, то, например, если раньше на все эти процедуры уходило до 40 минут, то при использовании ZFS это время сокращается до 10 секунд. Простой алгоритм создания, динамическая адаптация системы, повышенная надежность - упростили, в конечном итоге, административные затраты фактически на 80%.
ZFS является первой в мире 128-битной файловой системой, что позволит использовать ее для всех дисковых систем на ближайшие 20 лет.
6.4.Превентивная самодиагностика (Predictive Self-Healing)
Современные требования бизнеса накладывают очень жесткие условия на надежность функционирования информационных систем, которые должны обеспечивать предоставление сервисов по схеме 24х7х365. Сбои и даже небольшие простои в работе того или иного сервиса, не говоря уже обо всей системе в целом, могут повлечь за собой довольно существенные убытки.
Как бы не оптимизировались приложения, не защищалась система от возможных сбоев или несанкционированных вторжений, к сожалению, нарушения в работе системы неизбежно случаются. В таких ситуациях огромная нагрузка ложится на администраторов и от их профессионального опыта зависит быстрота определения причин нарушений в работе сервисов и последующее их восстановление. Анализ и решение подобных проблем, как правило, требует просмотра большого объема всевозможных лог-файлов, поиска и расшифровки в системной документации описания сообщений об ошибках, которые могли вызвать сбой сервиса. Все это, естественно, требует времени.
Минимизация простоя сервисных служб является одной из главных задач при организации корпоративных информационных систем. Современные технологии решения задач подобного рода заключаются, как правило, в организации дублирующих систем, которые, на время возможного нарушения функционирования главного сервера, берут на себя нагрузку по предоставлению сервисов.
Для анализа, эффективного управления и восстановления работы сервисов используется технология, получившая название Service Management. На рынке присутствуют ряд продуктов по данному направлению, в том числе, и представленные компанией Sun Microsystems – это Sun Management Center и, главное (!), новая версия операционной системы Solaris 10 с интегрированными технологиями Solaris Fault Manager и Solaris Service Manager.
Эти инновационные технологии объединены в одно общее название Predictive Self-Healing (PSH) и предназначены для точного определения возможных нарушений в работе не только сервисов, но и операционной системы и ее аппаратных ресурсов.
Использование данной технологии позволяет:
· Уменьшить аппаратные ошибки. PSH автоматически производит диагностику аппаратных ресурсов системы и, в случае необходимости, может самостоятельно управлять их состоянием не доводя до момента возможного сбоя (останавливать CPU, блокировать области памяти, управлять устройствами ввода/вывода и тд.)
· Solaris Fault Manager – новая служба, собирающая все возможные сообщения об ошибках. Используя базу знаний (sun.com/msg) можно определить причины появившихся ошибок и получить инструкции по их устранению. Кроме того, описание ошибок значительно упрощено, и вся сервисная информация хранится в центральной директории. Все это позволит свести время простоя с часов и дней до считанных минут
· Solaris Service Manager – новая служба для управления сервисами и процессами. Позволяет использовать XML язык для описания работы сервисов (необходимые параметры для запуска, остановки либо перезагрузки)
· Уменьшить время простоя сервиса. Заложенные в PSH механизмы позволяют следить за функционированием сервисов в системе и, если необходимо, автоматически их перезапускать. Применение данных механизмов позволит сократить время «простоя» сервиса до миллисекунд
Технология Predictive Self-Healing только появилась в Solaris 10. В будущем планируется включить в нее и поддержку решения проблем для х86 систем, в частности, для AMD Opteron платформы. Все механизмы обновлений построены таким образом, что исключается необходимость перезагрузки системы.
Механизмы PSH, обеспечивая предоставление высокого уровня доступности системы, позволят не только упростить поддержку работоспособности системы и критически важных бизнес задач, но, и как следствие, получить существенную экономию финансовых ресурсов.
6.5. Сеть и безопасность в Solaris 10
В Solaris 10 серьезным изменениям подвергся стек сетевых протоколов. Были модифицированы механизмы обработки сетевых пакетов и добавлена поддержка новых сетевых технологий. Уменьшение инструкций обработки сетевых потоков позволило существенно расширить допустимую на систему нагрузку. Благодаря этому операционная система Solaris 10 способна работать с 10 гигабитным Ethernet и другими современными сетевыми технологиями.
В дополнение к существенному повышению производительности стек сетевых протоколов расширился поддержкой новых технологий: Stream Control Transmission Protocol (SCTP), Session Initiation Protocol (SIP) и layer 3 multipathing механизм.
Включение поддержки на уровне ядра системы SCTP и SIP сделало доступным применение в Solaris 10 современных технологий телефонии, таких как, например, voice-over-IP (VoIP.) Расширился, также, и список поддерживаемых устройств: портативные персональные компьютеры (PDA), IP телефоны и другие устройства, работающие на данных протоколах.
В качестве протоколов маршрутизации в Solaris 10 используются OSPFv2 и Border Gateway Protocol 4 (BGP-4), что упрощает дизайн и управление современной сетевой инфраструктурой.
В систему интегрированы и продукты Sun Java Enterprise System технологии: файл сервер (NFS), почтовый сервер, DNS-сервер (BIND 9), web-сервер, directory сервер (LDAP), application сервер. Все эти продукты работают как с традиционным IPv4, так и с новым протоколом IPv6.
Очень большое внимание отводится в Solaris 10 вопросам обеспечения безопасности. 20-летний опыт компании Sun Microsystems в оптимизации систем по обеспечению максимальной безопасности, по праву позволяет называть систему Solaris одной из самых защищенных в мире.
Одним из важных свойств Solaris 10 является возможность уже на этапе инсталляции оптимально сконфигурировать ее по максимуму безопасности. Для этого используются два основных механизма: Solaris Security Toolkit (также известный как JASS - JumpStart Architecture and Security Scripts) и BART - Basic Audit and Reporting Tool.
Solaris Security Toolkit представляет собой набор скриптов и утилит, которые:
· Минимизируют набор запущенных сервисов
· Настраивают системные настройки по максимуму безопасности
· Минимизируют права процессов и пользователей
· Осуществляют контроль и установку атрибутов файлов
BART используется для контроля целостности файлов в операционной системе, генерируя сразу после установки системы их эталонные контрольные суммы. В дальнейшем, администратор может периодически проводить проверку целостности файлов с целью выявления возможных несанкционированных их модификаций.
Более защищенными стали механизмы аутентификации и наделения прав доступа. Так, ужесточились алгоритмы управления учетными записями пользователей и длина пароля расширилась до 255 символов.
Стало возможным устанавливать дополнительные права не только пользователям, но и процессам, за счет применения технологии Solaris Process Rights Management. Если раньше для выделения процессу административных полномочий необходимо было присваивать ему статус суперпользовательского (root), то в Solaris 10 появилась возможность ограничить права доступа для конкретного процесса (или группе процессов) только теми привилегиями, которые ему реально необходимы. Таким образом, даже если процесс будет захвачен злоумышленником, он не сможет получить прав суперпользователя.
Совместно с ролевой политикой доступа (RBAC-Role Based Access Control), при которой пользователей можно наделять определенными правами, ограничение прав доступа процессам позволяет существенно повысить безопасность функционирования системы.
В Solaris 10 применена защита от переполнения буфера. Как известно, данный метод атак, цель которых - получить привилегированные полномочия, является одним из основных при попытках взлома системы. Все системные команды по умолчанию уже снабжены защитой от данной атаки, и по необходимости, администратор может устанавливать защиту на другие программы.
Появилась возможность, помимо Sun Screen Secure Net firewall, использовать в Solaris 10 очень популярный в мире UNIX-систем продукт - IP Filter firewall. IP Filter интегрирован в ядро системы и если вы поклонник этого продукта - можете смело приступать к управлению сетевым трафиком и организовывать высокозащищенную сетевую инфраструктуру.
6.6. Поддержка Linux
Технологии Linux, одного из самых популярных и быстро растущих сегментов ИТ-рынка, теперь стали доступны и в Solaris 10.
Уже несколько лет в Solaris системе для х86 платформы была возможность запуска некоторых «линуксовых» приложений. Осуществлялось это, путем использования команды lxrun, которая фактически исправляла, в момент запуска приложения, небольшие различия между исполняемыми программами Linux- и Solaris- систем.
Solaris 10 для AMD Opteron и x86 систем, используя новую технологию - Solaris Linux Application Environment (LAE), позволяет наиболее эффективно использовать возможности Linux приложений. LAE базируется на технологии Project Janus и поддерживает спецификации Linux Standard Base. Наиболее оптимально он совместим с Red Hat Enterprise Linux 3.
Использование технологии LAE позволило разрабатывать и запускать на одной системной платформе Solaris любые «линуксовые» приложения без каких-либо корректировок исходного кода, дополнительных программ и изменений в работе системы. А применение при этом еще и технологии зон и контейнеров, о которых я писал выше, фактически позволяет в высокозащищенном режиме использовать все возможности Linux-технологий.
В дистрибутив Solaris 10 включены, также, и утилиты Linux Compatibility Assurance Toolkit, которые позволяют быстро активировать данную технологию и помочь в дальнейшем портировать, создавать и оптимизировать «линуксовые» приложения.
Перечислять функциональные возможности, которыми обладает Solaris 10 можно еще очень долго. В завершении своего обзора, мне хочется указать еще на одну важную особенность этой системы – мультиплатформную совместимость.
Solaris представлена для всех основных платформ: SPARC, x86 Intel и AMD Opteron. И для всех этих платформ Solaris гарантирует высокую надежность, гарантированную безопасность и 100% совместимость на уровне исходных кодов. Описанные выше нововведения, которые появились в Solaris 10, в том числе и не вошедшие в эту статью, равнозначно функционируют и на SPARC- и на х86- системах.
|
Дата добавления: 2015-07-25; просмотров: 127 | Нарушение авторских прав
mybiblioteka.su - 2015-2024 год. (0.006 сек.)
|