Создание объектов и работа с ними. Управление иерархическими цепочками. Объекты сеток Безье

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

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

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

Готовность системы к использованию - показатель ее надежности для конечного пользователя - выражается в процентном соотношении между работоспособным состоянием системы и ее простоями по любой причине, в том числе и плановыми (к ним относятся профилактические работы, реконфигурации, смена версий программного обеспечения, модернизация оборудования и т.п.).

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

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

В зависимости от уровня готовности корпоративной системы к использованию выделяют четыре типа надежности:

Уровень готовности, % Мaкс. время простоя Тип системы
99,0 3,5 дня в год Обычная (Conventional)
99,9 8,5 часов в год Высокая надежность (High Availability)
99,99 1 час в год Отказоустойчивая (Fault Resilient)
99,999 5 минут в год Безотказная (Fault Tolerant)

В последнее десятилетие широкое распространение получил термин «системы высокой готовности» (High Availability Systems). Весь спектр данных систем имеет общую цель - минимизировать время простоя (в основном это касается внеплановых простоев).

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

Для типичного современного сервера величина готовности к использованию составляет 99,0%. Практика показывает, что при тщательной настройке операционной системы и продуманном системном администрировании надежность обычного сервера можно довести до уровня 99,5% и даже до 99,8%. Однако при достижении 99,5%-ной готовности основную роль среди причин простоя системы начинают играть так называемые внешние причины (ошибки в программном обеспечении, неквалифицированные действия персонала и т.д.), от которых обычный сервер никак не застрахован. Кластерная технология позволяет обеспечить уровень готовности системы к использованию в 99,9% и выше, что на практике означает менее 8 часов простоя в год.

Термин «кластеризация» в компьютерной области имеет много значений. Наиболее общее определение могло бы звучать так: «Реализация объединения компьютеров, представляющегося единым целым для операционной системы, системного программного обеспечения, прикладных программ и пользователей».

Компьютеры, образующие кластер, - так называемые узлы кластера - всегда относительно независимы, что допускает остановку или выключение любого из них для проведения профилактических работ или установки дополнительного оборудования без нарушения работоспособности всего кластера. Кроме того, все узлы кластера выполняют полезную работу - в отличие от систем с реплицированием данных (к примеру, Novell SFT III), а также в отличие от FT-систем (Fault Tolerant), которые обеспечивают не более пяти минут простоя в год за счет максимальной избыточности - резервирования всех подверженных отказам элементов. При отказе одного из узлов кластера оставшиеся узлы могут взять на себя задания, выполнявшиеся на отказавшем узле, не останавливая общий процесс работы. При этом сбой в работе кластера выражается лишь в некотором снижении производительности системы или в недоступности приложений на короткое время, необходимое для переключения на другой узел.

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

Обзор архитектур на основе кластеров

Эффективность работы любой кластерной системы определяется двумя главными компонентами: механизмом высокоскоростного взаимодействия процессоров между собой и системным ПО, которое обеспечивает клиентам прозрачный доступ к системным ресурсам.

Существуют две основные архитектуры современных кластеров: одна основана на совместном использовании дисков, другая же не предполагает их совместного использования. Для каждой архитектуры существует множество разновидностей.

Кластерная архитектура с совместным использованием дисков

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

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

Кластерные хост-компьютеры могут обращаться к дискам непосредственно, без помощи контроллера. Этот вариант проиллюстрирован на рис. 2 . Поскольку для нормальной работы кластера управление доступом к ресурсам все-таки необходимо, в данном случае оно выполняется на уровне протокола, а не с помощью физического устройства.

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

В общем случае применение кластеризации с предоставлением доступа к дискам позволяет удовлетворить все требования, предъявляемые к операциям интенсивного ввода/вывода. Ее применение также повышает общую производительность системы и равномерно распределяет нагрузку. Такой подход часто комбинируется с другими механизмами восстановления системы после выхода из строя одного из компонентов.

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

Кластерная архитектура без предоставления доступа к ресурсам

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

Это тип кластеров представлен в одном из двух вариантов. Первый из них предназначен для оборудования, находящегося в непосредственной близости, а второй - для географически удаленного. Структура кластера без предоставления доступа к ресурсам представлена на рис. 3 , а географически распределенный кластер - на рис. 4 .

Кластеры рассматриваемого типа могут быть распределены в обширной географической области. При этом достигается уровень надежности, который не доступен ни одной локальной системе, независимо от того, является она кластерной или нет.

Архитектура кластера с резервированием

Существует большое количество высоконадежных кластерных продуктов, поддерживающих возможность автоматического восстановления после отказа одного из компонентов. Все они называются системами с резервированием (fail-over systems). В таких системах два или более хост-компьютера функционируют в режиме резервных устройств. Если один из них выходит из строя, то другой (другие) автоматически начинает обрабатывать все данные, которые до этого обслуживал отказавший компьютер. Это исключает возможность фатального сбоя в работе всей системы. Данный тип организации кластеров оптимально подходит для поддержки работы критически важных приложений. Простейшая топология кластера с резервированием представлена на рис. 5 .

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

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

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

Масштабируемая архитектура кластера

Организация масштабируемых кластеров непосредственно затрагивает топологию и функциональные возможности системы. В коммерческих кластерных продуктах, обеспечивающих высокую степень масштабируемости, более строгому управлению кластерами уделяется особое внимание. Более высокие, по сравнению с кластерами с резервированием, требования предъявляются и к распределению нагрузки. Это приводит к необходимости предоставления всем хост-компьютерам одинаковых привилегий доступа к данным, независимо от их расположения и способа обеспечения доступа.

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

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

Многоуровневая архитектура кластера

Многоуровневый кластер лучше всего описать как среду «клиент/сервер/сервер». На рис. 6 показано, что кластеру сервера приложения может быть предоставлен совместный доступ к серверу, содержащему данные и подсистему базы данных. Такая организация работы позволяет один класс машин настроить непосредственно на управление базой данных, а второй - на работу с приложением.

Использование двухуровневой модели физически разделяет приложение и данные, предоставляя тем самым возможность дальнейшего масштабного расширения приложения и его хост-компьютера. Объединяющее три сервера малое кольцо FDDI используется для отделения внутреннего трафика от потоков запросов ввода/вывода. В случае организации средств резервирования такая сеть может использоваться и для установления соединений между хост-компьютерами.

Поскольку для каждого типа обработки данных сервер должен обладать определенными возможностями, системные администраторы могут настроить каждый сервер в соответствии с выполняемой им функцией. Например, серверы приложений могут быть максимально оптимизированы для обработки определенного типа транзакций или вычислений, в зависимости от типа задач. Подобным образом сервер данных можно оснастить средствами высокоскоростного ввода/вывода и дисками большого объема.

Для наиболее важных приложений можно также кластеризовать сервер данных кластера. Таким образом, два (или больше) полностью «зеркальных» сервера могут взаимозаменяемо функционировать в качестве кластерного сервера управления базой данных.

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

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

Кластерные технологии уже давно стали доступны и рядовым организациям. Это стало возможным благодаря использованию в кластерах начального уровня недорогих серверов Intel, стандартных средств коммуникации и широко распространенных ОС. Кластерные решения на платформах Microsoft ориентированы прежде всего на борьбу с ошибками оператора, отказами оборудования и ПО. Кластерные решения - действенное средство для решения этих проблем.

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

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

Существует немало вариантов и средств для построения надежной системы вычислительной системы. Дисковые массивы RAID, резервные блоки питания, например, «страхуют» часть оборудования системы на случай отказа других аналогичных компонентов системы, и позволяют не прерывать обработку запросов к информации при отказах. Источники бесперебойного питания поддержат работоспособность системы в случае сбоев в сети энергоснабжения. Многопроцессорные системные платы обеспечат функционирование сервера в случае отказа одного процессора. Однако ни один из этих вариантов не спасет, если из строя выйдет вся вычислительная система целиком. Вот тут на помощь приходит кластеризация.

Исторически, первым шагом к созданию кластеров считают широко распространенные в свое время системы "горячего" резерва. Одна или две такие системы, входящие в сеть из нескольких серверов, не выполняют никакой полезной работы, но готовы начать функционировать, как только выйдет из строя какая-либо из основных систем. Таким образом, серверы дублируют друг друга на случай отказа или поломки одного из них. Но хотелось бы, чтобы при объединении нескольких компьютеров, они не просто дублировали друг друга, но и выполняли другую полезную работу, распределяя нагрузку между собой. Для таких систем во многих случаях как нельзя лучше подходят кластеры.

Изначально кластеры использовались только для мощных вычислений и поддержки распределенных баз данных, особенно там, где требуется повышенная надежность. В дальнейшем их стали применять для сервиса Web. Однако снижение цен на кластеры привело к тому, что подобные решения все активнее используют и для других нужд. Кластерные технологии наконец-то стали доступны рядовым организациям - в частности, благодаря использованию в кластерах начального уровня недорогих серверов Intel, стандартных средств коммуникации и распространенных операционных систем (ОС).

Кластерные решения на платформах Microsoft ориентированы прежде всего на борьбу с отказами оборудования и программного обеспечения (ПО). Статистика отказов подобных систем хорошо известна: только 22% из них непосредственно вызвано отказами оборудования, ОС, питания сервера и т. п. Для исключения этих факторов применяются различные технологии повышения отказоустойчивости серверов (резервируемые и заменяемые в горячем режиме диски, источники питания, платы в разъемах PCI и т. д.). Однако 78% оставшихся инцидентов вызваны обычно отказами приложений и ошибками оператора. Кластерные решения - действенное средство для решения этой проблемы.

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

Термин "кластер" подразумевает и отказоустойчивость, и масштабируемость, и управляемость. Можно дать и классическое определение кластера: «кластер - это параллельная или распределенная система, состоящая из нескольких связанных между собой компьютеров и при этом используемая как единый, унифицированный компьютерный ресурс». Кластер представляет собой объединение нескольких компьютеров, которые на определенном уровне абстракции управляются и используются как единое целое. На каждом узле кластера (узел обычно это компьютер, входящий в состав кластера) находится своя собственная копия ОС. Напомним, что системы с архитектурой SMP и NUMA, имеющие одну общую копию ОС , нельзя считать кластерами. Узлом кластера может быть как однопроцессорный, так и многопроцессорный компьютер, причем в пределах одного кластера компьютеры могут иметь различную конфигурацию (разное количество процессоров, разные объемы ОЗУ и дисков). Узлы кластера соединяются между собой либо с помощью обычных сетевых соединений (Ethernet, FDDI, Fibre Channel), либо посредством нестандартных специальных технологий . Такие внутрикластерные, или межузловые соединения позволяют узлам взаимодействовать между собой независимо от внешней сетевой среды. По внутрикластерным каналам узлы не только обмениваются информацией, но и контролируют работоспособность друг друга.

Существует и более широкое определение кластера: «кластер - это система, действующая как одно целое, гарантирующая высокую надежность, имеющая централизованное управление всеми ресурсами и общую файловую систему и, кроме того, обеспечивающая гибкость конфигурации и легкость в наращивании ресурсов».

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

Готовность обычно измеряется в процентах времени, проведенном системой в работоспособном состоянии, от общего времени работы. Различные приложения требуют различной готовности от вычислительной системы. Готовность системы может быть увеличена различными методами. Выбор метода осуществляется в зависимости от стоимости системы и стоимости для предприятия времени простоя. Существуют достаточно дешевые решения, которые, как правило, фокусируются в основном на снижении времени простоя после возникновения неисправности. Более дорогие обеспечивают нормальное функционирование системы и предоставляют сервис пользователям даже в том случае, когда один или несколько ее компонентов вышли из строя. По мере роста готовности системы ее цена увеличивается нелинейно. Точно так же, нелинейно увеличивается и стоимость ее поддержки. Системы с относительно низкой стоимостью обладают недостаточно высоким уровнем отказоустойчивости - не более 99% (это означает, что примерно четыре дня в году информационная структура предприятия будет неработоспособна). Это не так уж много, если сюда входят и плановые простои, связанные с проведением профилактических работ или реконфигурацией.

Высокая степень доступности (готовности) подразумевает такое решение, которое способно продолжать функционировать либо восстанавливать функционирование после возникновения большинства ошибок без вмешательства оператора. Наиболее совершенные (и естественно дорогие) отказоустойчивые решения способны обеспечить 99,999% надежности системы, (т. е. не более 5 минут простоев в год).

Между едиными серверными системами с зеркалированными дисковыми подсистемами (или дисковыми массивами RAID) и отказоустойчивыми системами, «золотую середину» обеспечивают кластерные решения. По уровню доступности они приближаются к отказоустойчивым системам при несоизмеримо меньшей стоимости. Такие решения идеальны для случаев, когда можно допустить лишь очень незначительные незапланированные простои.

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

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

  • базы данных;
  • системы управления ресурсами предприятия (ERP);
  • средства обработки сообщений и почтовые системы;
  • средства обработки транзакций через Web и Web-серверы;
  • системы взаимодействия с клиентами (CRM);
  • системы разделения файлов и печати.

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

Контроль работоспособности осуществляется с помощью специального сигнала heartbeat ("пульс"). Этот сигнал узлы кластера передают друг другу, чтобы подтвердить свое нормальное функционирование. В небольших кластерах heartbeat-сигналы передаются по тем же каналам, что и данные, в крупных кластерных системах для этого выделяются специальные линии. Кластерное ПО должно получать сигнал "пульс" каждого сервера с определенным временным интервалом - в случае его неполучения сервер считается неработающим и кластер автоматически переконфигурируется. Автоматически разрешаются и конфликты между серверами, когда при запуске кластера возникает проблема выбора "ведущего" сервера или группы серверов, задача которых - сформировать новый кластер.

Для организации коммуникационного канала кластера могут использоваться обычные сетевые технологии (Ethernet, Token Ring, FDDI, АТМ), разделяемые шины ввода/вывода (SCSI или PCI), высокоскоростной интерфейс Fibre Channel или специализированные технологии CI (Computer Interconnect), DSSI (Digital Storage System Interconnect) или Memory Channel.

DSSI-интерфейс предназначен для доступа к накопителям и для взаимодействия систем между собой. Он похож на мультихостовый протокол SCSI-2, но обладает большей производительностью и возможностью организации взаимодействия компьютеров. DSSI-кластеры поддерживают средства повышения надежности системы, разделение ресурсов, распределенную файловую систему и прозрачность. С точки зрения управления и обеспечения безопасности DSSI-кластер представляется единым доменом.

CI-интерфейс - двойная последовательная шина со скоростью обмена до 70 Мбит/с. Он подключен к системе ввода-вывода компьютера посредством интеллектуального контроллера, способного поддерживать работу как с двойной, так и с одинарной шиной, в зависимости от требований к надежности доступа для конкретного компьютера. Все линии связи CI-интерфейса одним концом соединены с CI-интегратором - специальным устройством, отслеживающим соединения с узлами и конфигурации кластера.

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

Требования, предъявляемые к быстродействию коммуникационного канала, зависят от степени интеграции узлов кластера и характера работы приложений. Если, например, приложения в разных узлах не взаимодействуют друг с другом и не осуществляют одновременный доступ к дисковым накопителям, то узлы обмениваются между собой только контрольными сообщениями, подтверждающими их работоспособность, а также информацией об изменении конфигурации кластера, т. е. добавлении новых узлов, перераспределении дисковых томов и т. п. Такой тип обмена не потребует значительных ресурсов межсоединения и вполне может удовлетвориться простым 10-мегабитным каналом Ethernet.

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

Организация оперативной памяти узлов кластера,

Степень доступности устройств ввода-вывода, прежде всего - дисков.

Что касается оперативной памяти, то здесь возможны два варианта: либо все узлы кластера имеют независимую оперативную память, либо у них существует общая разделяемая память. Степень доступности устройств ввода-вывода кластеров в основном определяется возможностью использования внешней памяти с разделяемыми дисками, а это подразумевает, что любой узел имеет прозрачный доступ к файловой системе общего дискового пространства. Помимо разделяемой дисковой подсистемы на узлах кластера могут иметься локальные диски, но в этом случае они используются главным образом для загрузки ОС на узле. Такой кластер должен иметь специальную подсистему, называемую распределенный менеджер блокировок (Distributed Lock Manager, DLM), для устранения конфликтов при одновременной записи в файлы с разных узлов кластера. В системах, где нет DLM, приложения не могут параллельно работать с одними и теми же данными, и общая дисковая память, если таковая имеется, назначается одному из узлов в конкретный момент времени.

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

Рис. 1. Построение кластера из двух узлов.

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

Рис. 2. Построение кластера типа «активный - резервный».

Существует и конфигурация «активный - активный», которая подразумевает исполнение всеми серверами кластера отдельных приложений одинаково высокого приоритета, вычислительные ресурсы резервного сервера используются в повседневной работе. Преимущество такого подхода состоит в том, что пользователь имеет в своем распоряжении высокодоступную систему (сервер продублирован) и в то же время может использовать все вычислительные ресурсы кластера. Это позволяет уменьшить общую стоимость системы, отнесенную к единице вычислительной мощности. Приложения при сбое переносятся с неработающей машины на оставшиеся, что, конечно, сказывается на общей производительности. Кластеры "активный - активный" могут существовать только в качестве выделенных систем, на которых нельзя запускать низкоприоритетные задачи типа поддержки офисной работы. Кроме того, при построении кластеров с активным резервным сервером можно иметь полностью дублированные серверы с их собственными отдельными дисками. При этом возникает необходимость постоянно копировать данные с основного сервера на резервный - это гарантирует, что в случае возникновения сбоя резервный сервер будет иметь правильные данные. Поскольку данные полностью продублированы, клиент может иметь доступ к любому серверу, что позволяет говорить о балансировке нагрузки в подобном кластере. К тому же узлы такого кластера могут быть разнесены географически, что делает конфигурацию устойчивой к катастрофам. Данный подход обеспечивает очень высокий уровень доступности, но имеет и ряд следующих недостатков:

Необходимость постоянно копировать данные (это означает, что часть вычислительных и сетевых ресурсов будет непрерывно расходоваться на синхронизацию);

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

В кластере без разделения ресурсов (рис. 3) серверы соединены с одним дисковым массивом, но каждый из них управляет своим набором дисков . В случае возникновения неисправности на одном из узлов оставшийся сервер берет на себя управление его дисками. Такой метод устраняет необходимость в постоянной синхронизации данных между серверами и тем самым высвобождает дополнительные вычислительные и сетевые ресурсы. Но в такой конфигурации диски становятся единой точкой сбоя, поэтому обычно в этом случае используются накопители с применением технологии RAID.

Рис. 3. Построение кластера без разделяемых ресурсов.

В системах с полным разделением ресурсов (рис. 4) все серверы в кластере имеют одновременный доступ к одному и тому же диску. Этот подход подразумевает наличие тщательно разработанного ПО, обеспечивающего множественный доступ к одному носителю. Как и в предыдущем случае, диски здесь могут быть единой точкой сбоя, поэтому и здесь желательно применение RAID-массивов. В данном варианте отпадает необходимость в постоянной синхронизации данных между серверами. Тем самым высвобождаются дополнительные вычислительные и сетевые ресурсы.

Рис. 4. Построение кластера с разделяемыми ресурсами.

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

Все кластерные решения на платформах Microsoft ориентированы прежде всего на борьбу с отказами оборудования и программного обеспечения. Специальное программное обеспечение - это то, что объединяет серверы в кластеры. Многие современные корпоративные приложения и ОС имеют встроенную поддержку кластеризации, но бесперебойное функционирование и прозрачность кластера может гарантировать только специальное ПО промежуточного уровня. Оно отвечает:

За слаженную работу всех серверов;

За разрешение возникающих в системе конфликтов,

Обеспечивает формирование и реконфигурацию кластера после сбоев;

Обеспечивает распределение нагрузки по узлам кластера;

Обеспенчивает восстановление работы приложений сбойных серверов на доступных узлах (failover - процедура миграции);

Осуществляет мониторинг состояния аппаратной и программной сред;

Позволяет запускать на кластере любое приложение без предварительной адаптации к новой аппаратной архитектуре.

Кластерное ПО обычно имеет несколько заранее заданных сценариев восстановления работоспособности системы, а также может предоставлять администратору возможности настройки таких сценариев. Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов - приложений, дисковых томов и т. д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации.

К кластерным решениям в современных вычислительных системах кроме повышенной надежности и быстродействия, предъявляются еще несколько дополнительных требований:

Они должны обеспечивать единое внешнее представление системы,

Высокую скорость резервного копирования и восстановления данных,

Параллельный доступ к БД,

Обладать возможностями переноса нагрузки с аварийных узлов на исправные,

Иметь средства настройки высокого уровня готовности, гарантировать восстановление после аварии.

Конечно, использование нескольких узлов кластера, которые одновременно обращаются к одним и тем же данным, увеличивает сложность процедуры резервного копирования и последующего восстановления информации. Перенос нагрузки с аварийного узла на исправный - это основной механизм обеспечения непрерывной работы приложений при условии оптимального использования ресурсов кластера. Для эффективной совместной работы кластерных систем и СУБД система должна иметь распределенный менеджер блокировок , обеспечивающий непротиворечивое изменение базы данных при поступлении последовательности запросов с разных узлов кластера. Настройка конфигурации кластера с одновременным обеспечением высокой доступности приложений является достаточно сложным процессом (это связано со сложностью определения правил, по которым те или иные приложения переносятся с аварийных узлов кластера на исправные). Кластерная система обязана позволять легко переносить приложения с одного узла кластера на другой, а также восстанавливать аварийное приложение на другом узле. Пользователь системы не обязан знать о том, что он работает с кластерной системой, поэтому для пользователей кластер должен выглядеть как единый компьютер. Он должен иметь единую файловую систему для всех узлов, единый IP-адрес и единое ядро системы.

Самыми надежными являются распределенные кластеры . Даже самые надежные системы могут выйти из строя, если произойдет, например, пожар, землетрясение, наводнение, или атака террористов. При глобальном масштабе современного бизнеса такие события не должны ему вредить, поэтому кластер может (или должен) быть распределенным.

Все ведущие компьютерные компании (Compaq, Dell, Hewlett-Packard, IBM, Sun Microsystems), предлагают собственные кластерные решения. Лидирующие позиции в сегменте UNIX-кластеров занимает IBM, которая активно продвигает свою базу данных DB2, фирма Sun активно продвигает свое решение Sun Cluster. Одним из наиболее активных игроков (как по числу сертифицированных для кластеров платформ, так и по разнообразию самих кластерных решений) признают корпорацию Compaq, которая предлагала практически полный ассортимент кластеров на платформах Windows для отдела или удаленного филиала, для применений в инфраструктуре корпорации и для крупных центров обработки данных. Кластерное решение Compaq TrueCluster Server максимально удовлетворяет современным требованиям, предъявляемым компаниями к подобной технологии. Новое ПО позволяет, например, устанавливать базу данных на нескольких связанных вместе серверах. Необходимость в таком объединении возникает, например, если требуется большая емкость или нужно сократить время простоя в случае сбоя на сервере, что достигается за счет переноса операций на другой сервер кластера. Это позволяет значительно сократить затраты на аппаратные платформы, делая экономически оправданным построение кластеров из недорогих серверов стандартной архитектуры даже для относительно небольших предприятий. Compaq и Oracle активно сотрудничают в области технологий и бизнеса, что позволит создать более масштабируемую, управляемую, надежную и экономичную кластерную платформу баз данных. Кроме того, Oracle начала сотрудничать с Dell и Sun Microsystems, которые предлагают заказчикам предварительно сконфигурированные и протестированные системы, работающие с ПО кластеризации от Oracle. Dell, например, поставляет кластерное программное обеспечение на протестированных серверах с ОС Windows и Linux.

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

Pivot Point – это опорная точка 3-d объекта, которая является центром масштабирования и поворота (вращения) модели . Работая в , мы тянем именно за стрелочки, оси пивота, чтобы переместить модель в пространстве. По умолчанию Pivot Point расположена в середине основания или в центре объекта или группы.

Интересно, что Pivot стандартных примитивов, таких как Teapot (чайник) или Вох (коробка) по умолчанию создается в центре основания. А вот у Sphere (сфера) он находится четко в середине формы.

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

Работа с Pivot Point

Чтобы манипулировать пивотом в 3ds max, перемещать его и поворачивать, нужно выбрать модель и зайти во вкладку Hierarchy (иерархия).

В самом верху свитка можно найти три кнопки, через которых проходит позиционирование пивота:

  • Affect Pivot Only . Нажав эту кнопку, можно сместить Pivot Point, схватив ее за ось перемещения;

  • Affect Object Only . В этом режиме можно сдвинуть объект, а его Pivot останется на месте;

  • Affect Hierarchy Only . Затрагивает только дочерние объекты в моделях, связанных иерархией. Обычно используется при работе с .

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

Также в самом начале свитка есть несколько режимов выравнивания, которые лично я использую очень часто, особенно первый. Все они указанны в разделе Alignment.

  • Center to Object . Перемещает Pivot Point четко в центр объекта. Очень удобно использовать с загруженными извне моделями - их пивот довольно часто «убегает» при вставке в сцену;

  • Align to Object . Поворачивает оси, выравнивая их относительно положения модели;

  • Align to World . Выравнивает пивот по мировым осям.

Чтобы кнопки режимов выравнивания стали активными, нужно сначала нажать одну из кнопок позиционирования (Affect Pivot/Object/Hierarchy Only), а затем уже выбрать как именно вы хотите выровнять Pivot Point.

Сбросить настройки и вернуть пивот в исходное положение поможет кнопка Reset Pivot .

Режимы опорной точки

При работе с точками опоры можно выбрать несколько режимов, функционирование которых удобно рассматривать на примере группы объектов. Чтобы открыть доступные режимы, нужно зажать левой кнопкой иконку Use Selection Center на верхней панели инструментов.

Выпадающих режима всего три:

  • Use Pivot Point Center . Единственный режим, при котором учитываются координаты пивота, выставленные пользователем. При выделении группы, каждый объект меняется относительно своего собственного Pivot. Чтобы показать наглядно, я специально поменяла у всех чайников место расположения точки опоры;

  • Use Selection Сenter . Размещает Pivot Point в выделенной группе моделей строго по центру. Этот режим используется в программе по умолчанию;

  • Use Transform Coordinate Center . Размещает Pivot в начале системы координат.

Стоит знать, что выбор режима осуществляется для каждого инструмента трансформирования (масштабирование/перемещение/вращение) отдельно.

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

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

Вы можете установить значения трансформации в диалоговом окне трансформации (Move Transform Type In ). Чтобы открыть это окно, достаточно щелкнуть левой кнопкой мыши по любой из трех кнопок инструментов преобразования на основной панели инструментов или воспользоваться клавишей .

Когда вы выделяете объект, в этой строке появляется информация о его положении, ориентации или масштабе, в зависимости от выбранного преобразования. Если ни один объект не выделен, в строке отображаются координаты курсора мыши в активном окне. Кнопка в строке координат позволяет переключаться между абсолютным режимом (Absolute Mode ) и относительным режимом (Offset Mode ). В абсолютном режиме вводятся абсолютные значения трансформации, в относительном режиме эти значения задаются относительно параметров перемещения, вращения и масштабирования, которыми уже обладает выделенный объект.

Сетка в 3ds Max

Сетка - это система взаимно перпендикулярных линий, которая служит для ориентации в пространстве 3ds Max, а также для привязки объектов и измерения расстояний между ними. Сетка бывает основной (Home Grid ) и локальной. По умолчанию основная сетка отображается на рабочих экранах. Но при необходимости вы можете убрать ее изображение. Для этого щелкните на названии рабочего экрана и в открывшемся контекстном меню снимите отметку в строке Show Grid (Показать сетку) либо просто нажмите горячую клавишу .

Для настройки параметров сетки вызовите команду главного меню Tools > Grids and Snaps > Grid and Snap Settings (Параметры сетки и привязок). Откроется диалоговое окно Grid and Snap Settings . Параметры сетки находятся на вкладке Home Grid (Основная сетка).

В этом диалоговом окне можно установить расстояние между ячейками сетки Grid Spacing и указать, через сколько промежуточных линий должны следовать основные линии Major Lines every Nth Grid Line . Если флажок Inhibit Grid Subdivision Below Grid Spacing (Запретить деление ячейки на более мелкие) снять, то при приближении к объекту сетка автоматически делится на более мелкие ячейки. В противном случае такого деления не происходит. Если снять флажок Inhibit Perspective View Grid Resize , сетка будет бесконечно большой, т. е. будет видна даже при большом удалении в окне перспективного вида.

Настройка основной сетки Grid and Snap Settings

Привязки в 3ds Max

Главное, о чем вы должны помнить при архитектурном моделировании, так это о возможности использовать привязки точности к сетке, к вершинам и ребрам объектов и т. п. Кроме того, привязки позволяют задавать фиксированные величины приращений параметров при использовании инструментов преобразования, таких как поворот (Select & Rotate ) и масштаб (Select & Scale ), а также приращений параметров в числовых полях при использовании счетчиков. Кнопки привязок находятся в панели инструментов. Первая привязка (подкова с цифрой) - объектная. Вторая (подкова с углом) - угловая, ее можно держать всегда включенной. Третья привязка (подкова со знаком процентов) - процентная привязка, последняя кнопка (подкова со счетчиком) - привязка изменений значений счетчиков. Ниже все привязки описаны подробнее.

Чтобы активизировать привязку, нужно по ней щелкнуть 1 раз, кнопка станет голубой, либо нажать на клавиатуре горячую клавишу от слова Snap (Привязка).

Для использования объектных привязок необходимо выбрать тип привязки (2D/2,5D/3D). Чтобы выбрать тип привязки, нажмите и удерживайте нажатой кнопку с объектной привязкой в панели инструментов, при этом выпадет список типов привязок 2D/2,5D/3D.

Справочная информация

  • 2D Snap (Двухмерная привязка): включает режим привязки курсора только в плоскости координатной сетки текущего окна проекции. Эта привязка удобна, если вы работаете со сплайнами (spline) или с плоскими объектами (plane), которые располагаются непосредственно на сетке. При этом нельзя выполнить привязку к элементу объемного объекта, если он не лежит в плоскости текущей сетки координат.
  • 2.5D Snap (Полуобъемная привязка): включает режим привязки курсора в текущей плоскости, и к проекциям на текущую плоскость элементов объектов, выбранных для привязки. Чаще всего при архитектурном моделировании используется именно полуобъемная привязка. Например, есть в вашем проекте построенные стены, а вам необходимо сделать потолок. Включаете 2.5D-привязки, берете плоскую фигуру Line и в проекции Top общелкиваете внешние углы стен, получится сплайн, точно обводящий периметр стен. Потом этот сплайн останется экструдировать - и потолок готов.
  • 3D Snap (Трехмерная привязка): пространственная привязка, действующая во всех трех измерениях. Используется, например, при лоскутном моделировании, когда из сплайнов строится каркас будущей модели.
  • Angle Snap (Угловая привязка): включает режим, ограничивающий возможность поворота объектов со значением шага 5 градусов. Изменить заданное по умолчанию значение шага можно на вкладке Options (Параметры) диалогового окна Grid and Snap Settings (Настройка сетки и привязок). Рекомендую эту привязку всегда держать включенной.
  • Percent Snap (Процентная привязка): включает режим, задающий фиксированную величину приращения в любой операции, где используются процентные задания параметров, например, при масштабировании объектов. Значение шага приращения задается на вкладке Options (Параметры) диалогового окна Grid and Snap Settings (Настройка сетки и привязок).
  • Spinner Snap (Привязка изменений значений счетчиков): управляет режимом установки фиксированных приращений параметров во всех счетчиках. Величина шага приращения устанавливается на вкладке General (Общие) диалогового окна Preference Settings (Настройка параметров).

Объектные привязки в 3ds Max

Если щелкнуть правой кнопкой мыши по кнопке Snap , откроется диалоговое окно Grid and Snap Settings (Настройка сетки и привязок), где можно выбрать различные виды привязок (рис. 2.10). Также можно перейти к этим параметрам, выбрав из главного меню Tools > Grids and Snaps > Grid and Snap Settings .

  • Grid Points (Узлы сетки) - привязка к узлам координатной сетки.
  • Pivot (Опора) - привязка к опорным точкам объектов.
  • Perpendicular (Перпендикуляр) - привязка сегментов текущего сплайна к точкам других сплайнов, в которых сегменты перпендикулярны этим сплайнам.
  • Vertex (Вершина) - привязка к вершинам объектов - сеток или объектов, преобразованных к типу Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка).
  • Edge (Ребро) - привязка к произвольным точкам в пределах видимых и невидимых ребер каркасов.
  • Face (Грань) - привязка к граням объекта.
  • Grid Lines (Линии сетки) - привязка к линиям координатной сетки.
  • Bounding Box (Габаритный контейнер) - привязка к углам габаритного контейнера объекта.
  • Tangent (Касательная) - привязка сегментов текущего сплайна к точкам других сплайнов, в которых сегменты являются касательными к текущим сплайнам.
  • Endpoint (Конечная точка) - привязка к конечным точкам ребер каркаса или сегментов сплайна.

Перетащить к верхнему углу второго объекта, сработает привязка

  • Midpoint (Средняя точка) - привязка к серединам ребер каркасов или сегментов сплайнов.
  • Center Face (Центр грани) - привязка к центральным точкам граней.

Кнопка Clear All снимает все флажки. Поставьте нужные вам флажки и закройте окно щелчком по кнопке с крестиком.

Кроме построения, привязки позволяют точно перемещать объекты относительно друг друга или относительно сетки. Если кнопка привязок включена, то при перемещении объекта появляются вспомогательные линии, которые позволят точно выровнять один объект относительно другого или относительно сетки.

  • Включите привязку 3D Endpoint .
  • Возьмите инструмент перемещения.
  • Ухватитесь за нижний угол одного объекта и тяните его к верхнему углу второго объекта. Сработает привязка, и объект точно выровняется по верхней точке другого объекта.

Угловые привязки в 3ds Max

При выполнении вращения объекта для точного поворота можно использовать угловую привязку. Для настройки угловой привязки щелкните правой кнопкой мыши по любой из кнопок привязок в первой части панели привязок, кроме кнопки Spinner Snap Tools > Grids and Snaps > Grid and Snap Settings Options (Опции) установите в группе General Angle (deg) (Угол (град)), которое ограничивает возможность поворота объектов с заданным шагом.

Процентные привязки в 3ds Max

При выполнении масштабирования объекта можно использовать процентную привязку. Для настройки процентной привязки щелкните правой кнопкой мыши по любой из кнопок привязок в первой части панели привязок, кроме кнопки Spinner Snap , или выполните команду из меню Tools > Grids and Snaps > Grid and Snap Settings . В открывшемся диалоговом окне на вкладке Options (Опции) установите в группе General (Главная) требуемое значение счетчика Percent (Проценты).

Из всего вышесказанного следует второе правило для обеспечения точности моделирования.

Правило № 2

Для точного построения и трансформаций пользуйтесь привязками.

Выравнивание в 3ds Max

Для обеспечения точности расположения объектов в сцене пользуйтесь операцией выравнивания. Выровнять можно любой объект, подлежащий трансформации, включая источники света и камеры. Выделив объект сцены, щелкните по кнопке Align (Выравнивание) главной панели инструментов или выберите команду Tools > Align > Align (можно нажать комбинацию клавиш +). Курсор тут же изменит свою форму, после чего нужно щелкнуть по объекту, относительно которого будет осуществляться выравнивание (опорный объект). В результате откроется диалоговое окно Align Selection с именем опорного объекта в названии.

Диалоговое окно выравнивания Align Selection

Последовательность применения :

  1. В разделе Align Position (Выравнивание положения) укажите, по каким координатам будет выполняться выравнивание (приравнивание координат). Используется текущая система координат.
  2. Задайте характерные точки выравниваемого (Current) и опорного (Target) объектов, положение которых будет совмещено по заданным координатам. Для этого установите переключатели в одно из четырех положений:
  1. Кнопка Apply (Применить) выполняет выравнивание, но окно выравнивания не закрывается.
  2. Кнопка О K выполняет выравнивание и закрывает диалоговое окно.

Вспомогательные объекты программы 3ds Max

3ds Max содержит несколько вспомогательных объектов. Это объектная сетка (Grid Object), используемая для привязки объектов и для того, чтобы была возможность вести отсчет не в мировых координатах, а в локальных, а также линейка (Tape), необходимая для измерения расстояний. Чаще всего в архитектурных проектах приходится пользоваться линейкой.

Tape (Измерительная линейка )

Этот инструмент предназначен для измерения расстояний между объектами сцены в пространстве 3ds Max. Как и любой объект, линейку можно привязать к определенной точке, используя средство Snap .

Чтобы создать объект Tape (Измерительная линейка), щелкните по кнопке Helpers (Вспомогательные объекты) во вкладке Create (Создать), а затем в свитке Object Type (Тип объекта) нажмите кнопку Tape (Измерительная линейка).

Раздел Helpers инструмента Tape

После этого можно нарисовать отрезок прямой линии. Если включен режим Snap (Привязка), конечные точки этой линейки будут привязываться к объекту или к сетке. Имя линейки появится после ее создания. По умолчанию система присваивает линейке имя, состоящее из слова Tape, за которым следует порядковый номер объекта. При визуализации сцены линейка не видна, как и любой вспомогательный объект.

Можно создавать линейку определенной длины, для этого в свитке Parameters включите флажок Specify Length (Определить длину) и введите нужное значение в счетчик Length .

Свиток Parameters инструмента Tape

Grid Object (Объектная сетка )

Чтобы вести отсчет не в мировых координатах, а в локальных, можно создать Grid Object (Объектная сетка). Найти ее можно там же, где и предыдущий вспомогательный объект Tape . Для этого щелкните на вкладке Create (Создать) командной панели и нажмите кнопку Helpers (Вспомогательные объекты). В свитке Object Type (Тип объекта) нажмите кнопку Grid (Сетка). В свитке Grid Size (Размер ячейки) задаются параметры Length (Длина), Width (Ширина) и Spacing (Расстояние между ячейками сетки). Длина по умолчанию задается в направлении Y , а ширина - в направлении X . Установите указатель мыши в нужную точку, нажмите левую кнопку и нарисуйте сетку. После того как сетка нарисована, отпустите кнопку, и сетка зафиксируется. Имя сетки можно задать после того, как она нарисована. По умолчанию система присваивает объекту имя, состоящее из слова Grid и порядкового номера сетки в сцене.

Объектную сетку можно повернуть под любым углом, строить объекты, привязываясь к этой сетке, и работать в ее локальных координатах. Чтобы работать с сеткой, ее нужно предварительно выделить, как и любой другой объект. Кроме того, сетку необходимо активизировать, выполнив команду Tools > Grids and Snaps > Activate Grid Object . В каждый момент времени может быть активна только одна локальная, или основная сетка (Home Grid). Основная сетка может быть активна, но невидима.

Чтобы изменить параметры локальной сетки, выберите и активизируйте ее, затем щелкните на вкладке Modify (Модифицировать) панели команд, а в ней - по кнопке Helpers Вспомогательные объекты). Изменить можно длину и ширину сетки, а также расстояние между ячейками.

В 3ds Max существуют специальные привязки (Grid Points и Grid Lines ) для привязки объектов к узлам и линиям локальной сетки.

Стандартные объекты в 3ds Max
Начиная изучать 3ds Max 8, прежде всего нужно освоить основные приемы работы с объектами сцены: создание простейших примитивов, выделение объектов, выравнивание их относительно друг друга, изменение их размещения и положения отображения в окне проекции, масштабирование, перемещение, вращение и пр. Эти простейшие операции служат основой последующей деятельности в 3ds Max 8.
Очень многие объекты в реальной жизни представляют собой комбинации простейших трехмерных примитивов. Так, например, стол состоит из параллелепипедов, настольная лампа - из цилиндров и полусферы, а автомобильная покрышка - это не что иное, как тор. В трехмерном виртуальном пространстве практически все сцены в большей или меньшей степени используют имеющиеся в программе примитивы. Стандартные объекты 3ds Max 8 представляют собой «строительный материал», с помощью которого легко создавать модели.

Типы объектов
Объекты в 3ds Max 8 можно разделить на несколько категорий:
* Geometry (Геометрия);
* Shapes (Формы);
* Lights (Источники света);
* Cameras (Камеры);
* Helpers (Вспомогательные объекты);
* Space Warps (Объемные деформации);
* Systems (Дополнительные инструменты).

Объекты категории Geometry (Геометрия)
Первая группа объектов, с которой обычно знакомятся начинающие разработчики трехмерной анимации, - это Geometry (Геометрия). Объекты этой группы представляют собой простейшие трехмерные геометрические фигуры: Box (Параллелепипед), Sphere (Сфера), Cylinder (Цилиндр), Torus (Top), Cone (Конус), Plane (Плоскость) и др. Основные две группы - это Standard Primitives (Простые примитивы) и Extended Primitives (Сложные примитивы). К группе Extended Primitives (Сложные примитивы) относятся, например, Hedra (Многогранник), Torus Knot (Тороидальный узел), ChamferCyl (Цилиндр с фаской), Hose (Шланг) и т. д.
Очевидно, создатели 3ds Max обладают некоторой долей юмора, поскольку в число Standard Primitives (Простые примитивы) они включили не совсем простой объект - Teapot (Чайник). Этот примитив любят многие разработчики трехмерной графики и часто используют для различных целей. Например, с его помощью очень удобно изучать действие различных модификаторов, так как Teapot (Чайник) имеет неправильную форму и любые деформации очень хорошо на нем видны. Объект Teapot (Чайник) можно также применять для того, чтобы посмотреть, как будет выглядеть на объекте созданный материал.
В 3ds Max имеются группы объектов, предназначенных специально для архитектурной визуализации. Это Stairs (Лестницы), АЕС1 Extended (Дополнительные объекты для АИК), Doors (Двери), Windows (Окна).
Группа объектов Doors (Двери) позволяет создать три типа дверей - Pivot (Закрепленные на оси), BiFold (Складывающиеся) и Sliding (Раздвигающиеся). Первые напоминают обычные входные двери, вторые - двери автобуса, а третьи - двери купе. Можно создавать одинарные или парные (при помощи параметра Double Doors (Двойные дверцы)) двери, регулировать размер дверной коробки (параметры Width (Ширина) и Depth (Глубина) в области Frame (Рама)), определять параметры самих объектов - Height (Высота), Width (Ширина), Depth (Глубина) - и даже толщину стекол - Glass Thickness (Толщина стекла). Параметр Open (Открытие) позволяет указать, насколько двери открыты.
Группа объектов Windows (Окна) позволяет добавлять в сцену шесть типов окон. Их основное отличие - в способе открытия:
* Awning (Навесные) - поднимаются вверх;
* Fixed (Закрепленные) - не открываются;
* Projected (Проектируемые) - состоят из нескольких частей, открывающихся в разные стороны;
* Casement (Створчатые) - открываются подобно двери, самый распространенный тип окна;
* Pivoted (Закрепленные на оси) - открываются таким образом, что оконная рама вращается вокруг своей горизонтальной оси;
* Sliding (Раздвигающиеся) - отъезжают в сторону, подобно раздвижным стеклам на книжной полке.
Следующая группа объектов - Stairs (Лестницы) - также является необходимым инструментом для проектирования архитектурных сооружений. В 3ds Max 8 можно создавать четыре типа лестниц: LType (L-образная), Straight (Прямая), Spiral (Винтовая) и UType (U-образная).
Объекты Stairs (Лестницы) могут быть Open (Открытые), Closed (Закрытые) и Box (С основанием). Отдельно регулируется наличие перил с правой и левой сторон при помощи параметра Handrail (Перила), расположение относительно ступенек - Rail Path (Путь перил) и их высота - Height (Высота перил) в свитке Railings (Перила). В области Steps (Ступени) свитка Parameters (Параметры) задается высота
ступеней - Thickness (Толщина) и их ширина - Depth (Глубина). Для спиральной лестницы дополнительно указывается Radius (Радиус), наличие опоры - Center Pole (Центральная опора) и направление - по часовой стрелке или против нее (положение переключателя CCW (Против часовой стрелки) и CW (По часовой стрелке) в области Layout (Расположение)).
В группу АЕС Extended (Дополнительные объекты для АИК) входят объекты Foliage (Растительность), Wall (Стена) и Railing (Ограждение). Объекты Railing (Ограда, перила) и Wall (Стена), как и описанные выше объекты Doors (Двери) и Windows (Окна), применяются в архитектурном моделировании.
Объект Foliage (Растительность) служит для моделирования трехмерной растительности. Трехмерное моделирование флоры обычно сопряжено с большими трудностями. Например, чтобы созданное дерево выглядело реалистично, необходимо не только подобрать качественную текстуру, но и смоделировать сложную геометрическую модель. Таких моделей долгое время в стандартном инструментарии 3ds Max не было. Для создания растительности использовались разнообразные дополнительные модули - ONYX TreeStorm, TreeShop, Druid и др.
При помощи объекта Foliage (Растительность) можно создавать растительные объекты, которые загружаются из библиотеки Plant Library (Библиотека растений). Создаваемому объекту автоматически назначается свой материал. Чтобы деревья и кусты не были похожи один на другой, используется параметр Seed (Случайная выборка), который определяет случайное расположение веток и листьев объекта.
Еще один тип объектов, который доступен пользователям 3ds Max 8 - BlobMesh (Блоб-поверхность). Он открывает возможность создания трехмерных тел при помощи метасфер. Этот объект расположен на командной панели в группе Compound Objects (Составные объекты). Работать с метасферами можно двумя способами. Первый заключается в том, что поверхность составляется из отдельных объектов. Второй состоит в том, что любой объект можно преобразовать в метаболический. При этом каждая вершина преобразованного объекта будет обладать свойствами метасферы. Объекты типа BlobMesh (Блоб-поверхность) удобно использовать вместе с модулем для работы с частицами Particle Flow.
В 3ds Max 8 также можно создавать такой тип объектов, как частицы Particle Systems (Системы частиц). Частицы очень удобно использовать в сценах, в которых требуется смоделировать множество объектов одного типа, например снежинок, осколков от взрыва и т. д.

Объекты категории Helpers (Вспомогательные объекты)
В 3ds Max присутствует группа объектов Helpers (Вспомогательные объекты). Объекты этого типа являются вспомогательными и не имеют геометрии, поэтому на финальном просчете их не видно. Объекты категории Helpers (Вспомогательные объекты) часто используются для настройки анимации, ориентирования объектов, определения расстояния между точками трехмерной сцены и т. д.
Объекты категории Helpers (Вспомогательные объекты) разделены на несколько групп в зависимости от своего предназначения.
Объекты группы Standard (Стандартные) выполняют функции ориентирования в виртуальном пространстве трехмерной сцены. Например, с помощью объекта Таре (Рулетка) вы можете быстро определить расстояние между двумя точками.
Объект Protractor (Угломер) напоминает рулетку, однако он изменяет не расстояние, а угол между линиями, соединяющими исходную точку и два объекта. Значение угла между образовавшимися прямыми будет отображаться в настройках объекта Protractor (Угломер) в поле Angle (Угол). Причем при перемещении этих объектов угол будет соответствующим образом изменяться.
Объекты категории Helpers (Вспомогательные объекты) имеют минимальное количество настроек, а у некоторых, как, например, у Dummy (11устышка), их совсем нет. Этот объект представляет собой параллелепипед, который играет роль ориентира и может служить, например, для связки нескольких объектов при создании анимации.
На Dummy (Пустышка) похож вспомогательный объект Point (Точка), выполняющий те же функции. Поскольку этот объект не имеет геометрической формы, а соответственно и размеров, то, чтобы его можно было наблюдать в окне проекции, используется несколько вариантов схематического отображения. Point (Точка) может отображаться в виде трех перпендикулярных пересекающихся отрезков, расположенных вдоль осей локальной системы координат объекта (Cross (Пересечение)), в виде трех направляющих осей (Axis Tripod (Три направляющие оси)), в виде маркера (Center Marker (Центральный маркер)) или в форме габаритного контейнера (Box (Габаритный контейнер)). В последнем случае этот объект будет напоминать но виду объект Dummy (Пустышка).
Еще один инструмент для ориентирования в трехмерном пространстве - объем Compass (Компас). Он может отображаться в окне как простая точка пли в виде розы ветров. Этот объект поможет определить направление координатных осей глобальной системы координат пространства. Он очень удобен, если вы плохо ориентируетесь в трехмерном пространстве, например, из-за большого количества одинаковых объектов.
Объекты группы Atmospheric Apparatus (Габаритный контейнер атмосферного эффекта) представляют собой габаритные контейнеры Gizmo (Гизмо).
В терминологии, используемой для работы с 3ds Max 8, часто можно встретить понятие Gizmo (Габаритный контейнер Гизмо). Он ограничивает геометрические размеры объекта и имеет вид квадратных скобок.
В данном случае контейнеры используются для ограничения пространства, в котором необходимо разместить тот или иной атмосферный эффект, например огонь. Габаритные контейнеры группы Atmospheric Apparatus (Габаритный контейнер атмосферного эффекта) могут быть трех типов, различающихся по форме: BoxGizmo (Параллелепипед Гизмо), CylGizmo (Цилиндр Гизмо) и SphereGizmo (Сфера Гизмо). Кроме настроек, определяющих геометрические размеры, для описания объектов используется параметр Seed (Выборка). Он влияет на случайное протекание эффекта в объеме габаритного контейнера, иными словами, при разных значениях параметра Seed (Выборка) картина атмосферного эффекта будет различаться.
Группа Camera Match (Соответствие камеры) представлена одним вспомогательным объектом CamPoint (Точка камеры), который предназначен для работы с утилитой Camera Match (Соответствие камеры). Данная утилита создана для работы с фоновыми изображениями и подбора положения камеры таким образом, чтобы оно соответствовало положению и направлению камеры, которое было при съемке фоновой картинки. Объект CamPoint (Точка камеры) помогает установить точки, по которым будет восстановлено положение камеры.
Вспомогательные объекты группы Manipulators (Манипуляторы), к которым относятся Cone Angle (Конический угол), Slider (Ползунок) и Plane Angle (Угол плоскости), помогают управлять другими объектами сцены, используя возможность 3ds Max связывать параметры объектов.
СОВЕТ
Для связывания параметров объектов используется команда Wire Parameters (Связать параметры) контекстного меню.

Вспомогательные объекты группы Manipulators (Манипуляторы) помогают разработчику трехмерной анимации управлять объектами. Например, вспомогательным объект Slider (Ползунок) можно использовать для анимации мимики персонажа. Связав несколько подобных объектов с разными мускулами на лице трехмерного героя, можно изменять ползунки Slider (Ползунок) и тем самым изменять выражение лица персонажа. Объекты группы Manipulators (Манипуляторы) используются в основном для анимации.
Вспомогательные объекты группы reactor дублируют кнопки одноименной панели инструментов. Они служат для создания эффектов, связанных с динамикой в сценах.

Объекты категории Space Warps (Объемные деформации)
Один из инструментов 3ds Max, который часто используют разработчики трехмерной графики, - объемная деформация (Space Warp). Ее часто используют при создании трехмерной анимации, а также в сценах с разнообразными эффектами частиц. Объемная деформация может воздействовать на объекты, изменяя их форму или наделяя новыми свойствами (например, может заставить объект двигаться под действием силы гравитации).
В окне проекции объемная деформация отображается в виде значков с рисунком, характерным для каждого ее типа. Для многих объемных деформаций этот значок обозначает центр ее воздействия на объект. На финальном изображении эти объекты, как и объекты категории Helpers (Вспомогательные объекты), не отображаются, так как выполняют вспомогательную функцию.
Чтобы увидеть действие объемной деформации на объект, необходимо связать созданную деформацию с ним. Для этого используется кнопка Bind to Space Warp (Связать с объемной деформацией) на основной панели инструментов. Чтобы привязать объемную деформацию к объекту, сделайте следующее.
1. Нажмите кнопку Bind to Space Warp (Связать с объемной деформацией).
2. Щелкните на объемной деформации.
3. Не отпуская кнопку мыши, переместите указатель мыши на объект.
В зависимости от типа воздействия на объект, объемные деформации условно разделяются на несколько групп.

Группа Forces (Силы)
Объемные деформации, которые относятся к группе Forces (Силы), воздействуют на объект или частицы определенной силой. Например, используя Vortex (Водоворот), можно изобразить водовороте помощью частиц, а при помощи Path Follow (Следование вдоль) - направить поток частиц вдоль созданного сплайнового объекта.
Ни один из современных динамичных фильмов не обходится без эффектов взрыва. В большинстве случаев самые захватывающие и впечатляющие взрывы являются результатом работы специалистов по визуальным эффектам, а не настоящими взрывами, снятыми на камеру. Поскольку этот эффект сопровождается большим количеством разлетающихся мелких частиц, осколков и пр., для его имитации в трехмерной графике часто используются источники частиц. Объемная деформация PBomb (Взрыв частиц) предназначена для создания эффекта разлетающихся частиц в результате воздействия на них взрывной волны. Взрывная волна может обладать одним из трех видов симметрии:
* Spherical (Сферическая) - воздействие на частицы исходит из одной точки;
* Cylindrical (Цилиндрическая) - взрывная волна исходит от определенной оси во всех направлениях;
* Planar (Плоская) - взрыв происходит в двух направлениях от плоскости.
Во время сильного взрыва, например атомной бомбы, в эпицентре образуется дымовая завеса в форме гриба. Это объясняется тем, что скорость потоков взрывных частиц в верхних слоях ниже, чем внизу. Для моделирования такой сцены удобно применять объемную деформацию Drag (Торможение). Она может воздействовать на поток частиц, замедляя их движение. При этом торможение частиц может происходить линейно (Linear Damping (Линейное торможение)), сферически (Spherical Damping (Сферическое торможение)) и цилиндрически (Cylindrical Damping (Цилиндрическое торможение)).
Объемная деформация типа Displace (Смещение) может применяться как к источникам частиц, так и к обычным объектам. Воздействие этой объемной деформации искажает форму объекта или потока частиц. Смещение точек пространстве!, на которые воздействует эта объемная деформация, определяется картой Displace (Смешение) или растровым изображением. При этом темные участки изображения будут смещаться относительно светлых.
В отличие от одноименного модификатора, объемная деформация Displace (Смещение) может воздействовать сразу на несколько объектов. Кроме лого, при перемещении объектов в трехмерном пространстве будет изменяться воздействие объемной деформации на них так, как если бы этот объект с назначенным модификатором Displace (Смещение) изменял положение габаритного контейнера Gizmo (Гизмо).
ПРИМЕЧАНИЕ
Большинство объемных деформаций, схожих по своему действию с модификаторами, отличаются от последних только тем, что при изменении положения объекта центр воздействия на него остается неизменным. Если изменить положение объекта с назначенным ему модификатором, то положение габаритного контейнера Gizmo (Гизмо) изменится одновременно с объектом.

Используя объемные деформации группы Forces (Силы), объектам можно также придавать вращение (объемная деформация Motor (Мотор)), вызывать их движение вследствие силы ветра (объемная деформация Wind (Ветер)), оказывать на них давление (объемная деформация Push (Давление)) и назначать воздействия гравитации (объемная деформация Gravity (Гравитация)).

Группа Deflectors (Отражатели)
Реалистичность анимационных трехмерных сцен во многом зависит от того, насколько правильно с точки зрения зрителя в кадре двигаются объекты. Если анимация содержит сцену, в которой мяч с некоторой высоты падает на землю, то очевидно, что после соударения этот объект подпрыгнет вверх. Точно так же при ударе одного бильярдного шара о другой один объект должен отскочить от другого.
По законам физики, движение объекта после соударения должно определяться формой поверхности, с которой произошло соударение. Сложные взаимодействия твердых тел в 3ds Max просчитываются с помощью специального модуля reactor, однако в более простых случаях разработчикам трехмерной анимации выгоднее использовать упрощенную модель столкновения двух объектов. Например, при ударе мячика для игры в настольный теннис о поверхность стола неровностями стола можно пренебречь и предположить, что угол падения мячика на стол будет равен углу отражения. При этом использование объемных деформаций группы Deflectors (Отражатели) позволит вам указать направление отражения объектов или частиц.
Программа 3ds Max содержит большое количество разных видов отражателей. Наиболее простым является Deflector (Отражатель). Он создает плоский отражатель, от которого будет отскакивать объект при столкновении. Такую объемную деформацию можно использовать, например, в приведенном выше примере с мячиком для настольного тенниса.
Во многих случаях удобно использовать тип отражателя UDeflector (Универсальный отражатель). Его отличие от объемной деформации Deflector (Отражатель) - возможность использования в качестве отражателя не только плоскости, но и любой другой геометрии объекта.
Отражатели дают возможность тонко управлять поведением потоков частиц и других объектов в сцене.

Группа Geometric/Deformable (Геометрические/ деформируемые)
Объемные деформации FFD (Box) (FFD-контейнер (прямоугольный)) и FFD(Cyl) (FFD-контейнер (цилиндрический)), которые относятся к группе Geometric/Deformable (Геометрические/деформируемые), но своему действию аналогичны одноименным модификаторам свободных деформаций, a Wave (Волна), Displace (Смещение) и Ripple (Рябь) - соответствующим деформирующим модификаторам.
Еще одна объемная деформация, с помощью которой можно моделировать эффекты взрыва, - Bomb (Бомба). В результате использования этого инструмента оболочка исходного объекта разделяется на отдельные фрагменты, которые начинают движение иод действием силы взрывной волны. В настройках этой деформации можно указать максимальный и минимальный размер отдельного фрагмента оболочки (область параметров Fragment Size (Размер фрагмента)). При этом самым маленьким образовавшимся фрагментом может быть грань объекта. Разлетающимся частям можно придавать вращение и направление движения осколков иод действием силы гравитации. Чтобы полученный эффект выглядел более реалистично, необходимо использовать находящийся в области General (Общие) параметр Chaos (Хаотичность), который может принимать значения от нуля (отсутствие хаотичности) до десяти (случайный разброс фрагментов). Если нужно, чтобы разлетающиеся в сцене части «взорванного» объекта по мере удаления от эпицентра взрыва замедляли свое движение, то установите флажок Falloff On (Спад) в области Explosion (Взрыв). Границы спада будут схематически отображаться в окне проекции.
Объемная деформация Conform (Согласование) выполняет те же функции, что и одноименный тип объектов в 3ds Max, который находится в группе Compound Objects (Составные объекты). Используя ее, можно деформировать поверхность одного объекта оболочкой другого. Направление применения объемной деформации к искажаемому объекту в окне проекции показывается стрел кой на значке объемной деформации. Чтобы увидеть результат, необходимо связать объемную деформацию с той поверхностью, которую необходимо деформировать, а затем в настройках объемной деформации Conform (Согласование) с помощью кнопки в области Wrap to Object (Изменить форму по объекту) указать в сцене объект, который должен вызывать деформацию. При этом значок деформации Conform (Согласование) должен быть направлен от одного объекта к другому.
ВНИМАНИЕ
Использование объемной деформации Conform (Согласование) требует значительных системных ресурсов, поэтому будьте готовы к тому, что после того, как вы укажете деформируемый объект, компьютеру потребуется некоторое время на выполнение вычислений.

Группа reactor
Группа reactor представлена объемной деформацией Water (Вода). Создать ее также можно, используя кнопку Create Water (Создать воду) на панели инструментов reactor.

Объекты категории Systems (Дополнительные инструменты)
Объекты категории Systems (Дополнительные инструменты) позволяют создавать системы дневного освещения, а также управлять персонажами. Объект Biped (Двуногий) применяется для работы с модулем Character Studio, Предназначенным для создания персонажной анимации.
В 3ds Мах предусмотрено два типа систем дневного освещения - Daylight (Дневное освещение) и Sunlight (Солнечное освещение). Они пригодятся, в первую очередь, при создании архитектурной визуализации, экстерьеров и интерьеров. Эти системы позволяют принимать при визуализации во внимание такие характеристики освещения, как географическое расположение объекта (страна и город), точную дату и время суток. Учитывая эти данные, программа использует схему освещения, соответствующую положению солнца в заданное время. Такие данные помогут определить, как лучше расположить дом по отношению к сторонам света, для того чтобы его освещение в разное время суток устраивало заказчика.
При планировке дома и прилегающих территорий очень важно также учитывать, куда будет падать тень от здания и других крупных объектов в разное время дня. Это позволит выбрать наиболее подходящее место, например, для посадки цветочной клумбы или для постройки беседки.
В связке с системами дневного освещения Daylight (Дневное освещение) и Sunlight (Солнечное освещение) используется объект Compass (Компас). При создании этих систем освещения объект Compass (Компас) создается автоматически. Отличие между Daylight (Дневное освещение) и Sunlight (Солнечное освещение) состоит в том, что в первом случае учитывается освещение с учетом света неба, а во втором - только солнца.