(Возврат на основную страницу)

 

Содержание номера за Ноябрь 2006 год

 

Microsoft встроит WinFS в свою базу данных

Мартин Ла­Моника (Martin LaMonica)

 

Microsoft решила для начала использовать технологию проекта WinFS не в Windows, а в СУБД SQL Server.

Менеджер программы WinFS Квентин Кларк (Quentin Clark) рассказал о планах компании в своем блоге (http://blogs.msdn.com/winfs/archive/2006/06/23/644706.aspx). По его словам, следующая версия SQL Server с кодовым названием Katmai будет содержать средства для хранения и администрирования неструктурированных данных, взятые из WinFS.

В 2003 г. Microsoft называла WinFS одной из «опорных колонн» Windows Vista. Затем компания решила убрать эту колонну из­под Longhorn, как тогда называлась Vista, продолжая, однако, ее разработку.

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

По словам Кларка, Microsoft не отказывается от применения WinFS в Windows, но решение поместить ее фрагменты в SQL Server означает, что WinFS не будет оформлена как отдельный компонент. «Эти изменения означают, что мы уже не ставим перед собой цель выпустить WinFS отдельно, включая планируемый прежде релиз Beta 2. Теперь большая часть наших усилий направлена на реализацию готовых фрагментов проекта WinFS в SQL (Server) и ADO.NET».

В своем интервью вице­президент отделения серверного ПО и инструментов Microsoft Боб Магли (Bob Maglia) сказал, что выпуск второй бета­версии WinFS перенесен на осень. Он добавил, что WinFS может использоваться как в Windows, так и в продуктах Microsoft Office.

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

Руководители Microsoft говорили, что выход Katmai, преемника SQL Server 2005, планируется через два или три года.

 

Безопасность CLR в SQL Server

Дон Кьели (Don Kiely)

 

Выполнение кода .NET Framework в SQL Server 2005 — воодушевление или угроза? Материал этой статьи, в которой исследуются проблемы безопасности SQLCLR, поможет разработчикам и администраторам баз данных принять обоснованное решение об использовании этого кода.

Одно из основных преимуществ создания .NET­кода, выполняющегося в Common Language Runtime (CLR), которое принимается в любой среде, — это CAS (code access security).

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

Хорошая новость от Microsoft заключается в том, что была проведена большая работа по объединению системы безопасности SQL Server и среды CLR с инструментальными средствами к управляемому коду. Долгожданная возможность создания хранимых процедур и других программных модулей в C#, VB, или любом другом языке .NET была одной из наиболее соблазнительных особенностей SQL Server 2005. И разработчики, и администраторы баз данных наконец­то могут сломать кандалы Transact­SQL (T­SQL) и C++ в расширенных хранимых процедурах и написать код базы данных на производительном языке!

В то же самое время перспектива выполнения .NET кода в пределах пространства памяти сервера БД испугала некоторых до смерти, а особенно — администраторов баз данных, отвечающих за защиту целостности данных. Они должны быть уверены, что режим работы сервера как можно более близок к 24/7. Мысль о выполнении кода, который имеет полный доступ к .NET Framework и API Win32, заставила многих из них поклясться, что такой код можно будет запустить на сервере только через их труп.

Я выступаю на конференциях и провожу большое количество тренингов. Однажды я спросил и студентов, и клиентов, пугает ли их код .NET на сервере и почему. Вот их ответы:

 

•     неопределенность с проблемами безопасности, главным образом связанная с расширением поверх­ности возможной атаки (это, скорее, нервозность перед чем­то новым и пока непонятным);

•     необходимость учиться, чтобы определить, является ли код надежным и безопасным;

•     размытие границы между данными и кодом, особенно в связи с новой возможностью создавать пользовательские типы данных (UDT) в .NET коде;

•     это еще один способ испортить сервер несмотря на то, что хранимые процедуры автоматизации OLE (SP_OS *) и исполнения команд операционной системы (xp_cmdshell) долгое время были доступны, позволяя выполнять внешний код.

 

Практически код .NET Framework в SQL Server 2005, или, как его часто называют, код SQLCLR, потому что он основан на .NET Common Language Runtime (CLR), является только другим программным модулем, который существует и выполняется в пределах SQL Server. Однако это не замена для T­SQL, который все еще является лучшим средством для доступа к данным. Но код SQLCLR открывает новые возможности для сложных приложений базы данных. Рано или поздно большинство администраторов баз данных столкнется с необходимостью его использовать.

В этой статье я рассмотрю одну из самых больших проблем кода SQLCLR — его безопасность. Фактически я преднамеренно размою грань между двумя понятиями — безопасностью и надежностью. Безопасность означает сохранность данных, а надежность — сохранность SQL Server, эти понятия часто путают.

Я предполагаю, что вы знакомы с преимуществами и основами написания .NET­кода в SQL Server 2005, включая:

 

•     сборки как модуль упаковки, развертывания и версионности;

•     основы безопасности доступа кода .NET;

•     новые возможности по обеспечению безопасности в SQL Server 2005.

 

Другими словами, это не вводная статья по SQLCLR. См. раздел «Ресурсы», чтобы изучить эти фундаментальные понятия более подробно.

 

Ресурсы

 

Табл. 1. Разрешения, предоставляемые сборкам с набором разрешений SAFE

Разрешение

Тип

Ограничение, если есть

SecurityPermission

Ограниченный

Исполнение

SqlClientPermission

Ограниченный

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

 

Табл. 2. Разрешения, предоставляемые набором EXTERNAL_ACCESS

Разрешение

Тип

Ограничение, если есть

EnvironmentPermission

Не ограничен

 

FileIOPermission

Не ограничен

 

RegistryPermission

Ограничен

Доступ на чтение к HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG и HKEY_USERS

SecurityPermission

Ограничен

Assertion, Execution, SerializationFormatter, ControlPrincipal

KeyContainerPermission

Не ограничен

 

SqlClientPermission

Не ограничен

 

EventLogPermission

Ограничен

Только на локальной машине и только для администраторов

DnsPermission

Не ограничен

 

SocketPermission

Ограничен

Только IP­адрес

WebPermission

Ограничен

Доступ к локальному серверу только по HTTP

SmtpPermission

Ограничен

Только подключение

NetworkInformationPermission

Ограничен

Только Ping

DistributedTransactionPermission

Не ограничен

 

StorePermission

Не ограничен

 

 

Табл. 3. Суммарные сведения о наборах разрешений

 

Тип защиты

Набор разрешений

SAFE

EXTERNAL_ACCESS

UNSAFE

Code Access Security

Только исполнение

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

Неограниченный

Programming Model Restrictions (Host Protection Attributes)

Да

Да

Никаких

Требуется верификация

Да

Да

Нет

Вызов API

Нет

Нет

Да

 

Как настроить Virtual Server 2005 для создания тестового кластера SQL Server.
Часть 2

Брэд Макгихи (Brad M. McGehee)

 

Как создать виртуальную публичную сеть

Создание виртуальной сети Public, с помощью которой клиенты будут подключаться к виртуальному кластеру, очень похоже на формирование сети Private. Единственное существенное отличие в том, что необходимо позволить ей сообщаться с реальным миром.

  1. Как и прежде, на основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Administration Website) в разделе Virtual Networks выберите Create. Это приведет к появлению экрана свойств сети «New Virtual Net­work» (рис. 1). Ваш экран может выглядеть немного по­другому.

  2. Замените New Virtual Network в строке Virtual net­work name на подходящее имя, как показано на рис. 1. В нашем случае это будет Public. До этого момента мы делали все то же самое, что и при создании виртуальной сети Private. Теперь кое­что изменится. В графе Network adapter on physical com­pu­ter необходимо выбрать реальный сетевой адаптер, который установлен на нашей хост­машине. Он станет нашим окном в мир, позволяя клиентам общаться с кластером. В моем случае реальный сетевой адаптер на хост­машине — это Broad­com 440x 10/100 Integrated Controller. Ваш сетевой адаптер, скорее всего, будет другим. Выберите наиболее подходящий (если у вас их несколько). И, если хотите, введите описание этой виртуальной сети в графе Virtual network notes. Закончив с этим экраном, щелкните OK, чтобы создать эту виртуальную сеть.

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


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

  1. На основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Administration Website) в разделе Virtual Disks выберите Create. Это приведет к появлению всплывающего меню, в котором вам нужно выбрать Fixed Size Vir­tu­al Hard Disk (Виртуальный жесткий диск фиксированного размера). Мы должны использовать именно этот вариант, потому что разделяемые диски должны быть базовыми (basic), а не динамическими (dynamic). Появится экран, показанный на рис. 2.

  2. Здесь вы должны установить три разных параметра. Во­первых, вы должны задать Location (Местоположение), или путь, где будет находиться файл. Щелкнув на кнопке с изображенной на ней стрелкой вниз рядом с Location, вы увидите один или более вариантов. Это доступные пути, куда можно поместить файл. Если вам не понравился ни один из возможных вариантов, вы можете перейти на страницу Search Paths (Искать пути) Virtual Server Administration Webpage и изменить или добавить доступные пути. Во­вторых, вы должны задать имя файла напротив Virtual hard disk file name (Имя файла виртуального жесткого диска). И наконец, необходимо задать размер диска. Выберите значение, несколько превышающее общий размер свободного пространства, требуемого для размещения всех баз данных SQL Server, которые вы собираете поместить на этот массив. Вы не сможете потом поменять это значение, поэтому лучше его переоценить, чем недооценить. Когда вы сделаете все это, экран будет выглядеть примерно так, как показано на рис. 3.

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

 

Создание виртуального кворум­диска

 

Построение кластера из двух виртуальных серверов требует наличия кворум­диска, который используется кластером для хранения контрольных точек баз данных и файлов журналов. Оба узла кластера должны иметь доступ к кворум­диску, который создается так же, как и разделяемый. Единственное различие в том, что ему не нужно быть таким же большим. Microsoft рекомендует, чтобы кворум­диски имели размер по крайней мере 500 Мб, и я поддерживаю это мнение.

  1. На основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Administration Website) в разделе Virtual Disks выберите Create. Это приведет к появлению всплывающего меню, в котором вам нужно выбрать Fixed Size Virtual Hard Disk.

  2. Определите Location, или путь, где будет находиться файл. Щелкнув кнопку с изображенной на ней стрелкой вниз рядом с Location, вы увидите один или более вариантов. Задайте имя файла напротив Virtual hard disk file name. И, наконец, установите размер диска, который должен составлять 500 Мб (рис. 4).

  3. После того как вы ввели все данные, выберите Create для создания файла.

 

Создание виртуальных дисков C для двух узлов кластера

 

Нам необходимо создать два виртуальных диска C для двух виртуальных узлов. Как только они будут созданы, мы сможем установить две гостевые ОС, которые станут виртуальными узлами в нашем кластере. Этот процесс очень похож на то, что мы делали раньше. Единственное различие в том, что мы можем выбрать Dynamically Expanding Virtual Hard Disk (Динамически расширяющийся виртуальный жесткий диск) вместо Fixed Size Vir­tual Hard Disk. Я собираюсь выбрать Dynamically Ex­pan­ding Virtual Hard Disk, что позволит минимизировать количество места на жестком диске хост­системы, отведенное под диски C. Например, поскольку диски могут расширяться при необходимости, я могу при создании задать для них минимальный размер, чтобы сохранить место, и, если мое предположение окажется неверным, файлы дисков могут быть увеличены в размере, насколько понадобится.

  1. На основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Ad­­ministration Website) в разделе Virtual Disks выберите Create. Это приведет к появлению всплывающего меню, в котором вы можете выбрать Dy­na­mi­cally Expanding Virtual Hard Disk.

  2. Задайте Location, или путь, где будет находиться файл. Щелкнув кнопку с изображенной на ней стрелкой вниз рядом с Location, вы увидите один или более вариантов. Задайте имя файла напротив Vir­tual hard disk file name. И наконец, определите размер диска, который должен быть не менее 2 Гб (рис. 5).

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

 

Создание первого виртуального узла

 

На этом этапе Virtual Server 2005 сконфигурирован и готов для установки двух узлов нашего кластера. В сущности, вы будете устанавливать два экземпляра Windows 2003 Server почти так же, как загружали бы их на отдельные физические серверы, всего с несколькими отличиями. Предполагается, что вы уже знаете, как это делается, поэтому сосредоточимся на аспектах установки, уникальных для гостевых ОС в Virtual Server 2005. В этом разделе мы опишем установку первого узла, а затем отдельно остановимся на втором. Это будут разные шаги, поскольку конфигурация каждого узла слегка отличается. Чтобы создать виртуальный сервер node1 (также называемый виртуальной машиной), выполните следующие шаги.

  1. На основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Administration Website) в разделе Virtual Machines (Виртуальные машины) выберите Create (Создать). Это приведет к появлению экрана, показанного на рис. 6.

  2. Рассмотрим поочередно все разделы на этом экране. Во­первых, вы должны задать имя для создаваемой виртуальной машины. Назовем ее node1. Если вы не введете путь, конфигурационный файл виртуальной машины (именно его мы на самом деле создаем на этом шаге) будет сохранен с путем по умолчанию. Если вы хотите, чтобы он находился в другом месте, можете задать путь вручную. Во­вторых, вы должны задать размер физической памяти, отведенной этому узлу. На моей хост­машине, где только 1 Гб RAM, я задал 384 Мб памяти для node1. Меньший объем приведет к тому, что узел будет функционировать очень медленно. Чем больше RAM вы можете выделить, тем лучше. Если здесь вы совершите ошибку, это не вызовет никаких проблем, поскольку можно изменить размер выделенной оперативной памяти в любой момент после создания виртуальной машины. В­третьих, вы задаете для node1 диск C, созданный ранее. Для этого нужно выбрать Use an existing virtual hard disk (Использовать существующий виртуальный жесткий диск) и указать имя файла и путь к виртуальному жесткому диску (рис. 7). В­четвертых, необходимо указать сетевой адаптер виртуальной сети Public, созданной ранее. Ваш окончательный экран должен выглядеть похожим на показанный на рис. 7.

  3. Щелкните Create (Создать). После создания конфигурационного файла вы увидите имя только что созданной вами виртуальной машины на экране Mas­ter Status Web­сайта Virtual Server 2005 Administrator's Website.

Далее мы должны сконфигурировать виртуальный SCSI­контроллер, разделяемый диск и частную сеть для использования этой виртуальной машиной. Сделав это, мы сможем приступить к установке на виртуальную машину Windows 2003 Server.

  1. Чтобы сконфигурировать текущую виртуальную машину, перейдите на страницу Master Status и наведите указатель мыши на имя виртуального сервера. При этом появится подменю. Выберите в подменю Edit Configuration (Изменить конфигурацию). Появится экран, представленный на рис. 8. Ваш экран, возможно, будет несколько отличаться, потому что моя система, скорее всего, сконфигурирована иначе.

  2. Сначала появится часть экрана Status (Статус) (рис. 9), которая сейчас нас не интересует. Наша цель — часть Configuration (Конфигурация). Именно здесь мы создадим виртуальный SCSI­адаптер, назначим адаптеру разделяемый диск, а также добавим поддержку частной сети к этому виртуальному серверу.

  3. Чтобы создать виртуальный SCSI­адаптер, щелкните SCSI adapters (SCSI­адаптеры), и появится экран, показанный на рис. 10. Теперь щелкните Add SCSI Adapter (Добавить SCSI­адаптер), и появится экран, представленный на рис. 11. Выберите Share SCSI bus for clustering (Разделять SCSI­шину для кластеризации) и установите SCSI adapter ID (ID SCSI­адаптера) в 7 (значение по умолчанию). Теперь щелкните OK, чтобы создать SCSI­адаптер. Мы закончили добавление виртуального SCSI­адаптера.

  4. Нашей следующей задачей будет добавление к виртуальной машине разделяемого диска и назначение его только что созданному SCSI­адаптеру. Для этого на экране Configuration для виртуальной машины щелкните Hard disks (Жесткие диски), и появится экран (рис. 12). На нем показан диск C, который уже был назначен для этого виртуального сервера. Теперь нашей задачей будет добавление дополнительного виртуального жесткого диска в качестве разделяемого. Для этого щелкните Add disk (Добавить диск), и появится этот экран, представленный на рис. 13.

  5. Теперь мы должны ввести информацию для Virtual hard disk 2. Напротив Attachment (Подключение) необходимо выбрать Primary channel (1) [Основной канал (1)]. Это наше виртуальное SCSI­устройство. Затем следует ввести путь и имя файла для разделяемого массива напротив Fully qualified path to file (Полный путь к файлу). После этого щелкните OK. Назначение разделяемого массива для виртуального SCSI­адаптера этой виртуальной машины закончено.

  6. Наш последний шаг по конфигурации перед установкой ОС будет заключаться в задании сети Private для этой виртуальной машины. Как вы, возможно, помните, сеть Public была установлена при создании виртуальной машины. На экране Configuration для виртуальной машины щелкните Network adapters (Сетевые адаптеры), и появится экран, представленный на рис. 14. Здесь показан сетевой адаптер, который был создан при построении виртуальной машины. Ничего менять не нужно, так как он уже назначен для сети Public. Чтобы добавить другой виртуальный сетевой адаптер для сети Private, щелкните Add Network Adapter (Добавить сетевой адаптер), и появится экран, представленный на рис. 15. Теперь необходимо добавить информацию для Virtual network adapter 2. В данном случае единственным внесенным нами изменением будет выбор значения Private для параметра Connected to (Соединен с). Для всех остальных параметров оставьте значения по умолчанию. Щелкните OK, чтобы сохранить этот виртуальный сетевой адаптер.

На данном этапе вы выполнили все шаги по конфигурированию Virtual Server 2005. Теперь нужно установить Windows 2003 Server на виртуальную машину, которую вы только что создали и сконфигурировали. Мы подошли к одному из тех моментов, когда предполагается, что вы знаете, как установить гостевую ОС на Virtual Server 2005. Если вам это неизвестно, поищите соответствующую информацию в Virtual Server 2005 Administrators Guide. Также подразумевается, что вы умеете устанавливать Windows 2003 Server.

Когда вы будете загружать Windows 2003 Server в качестве первого узла нашего виртуального кластера, держите в уме следующие моменты, поскольку они имеют отношение к тому, как мы сконфигурировали виртуальную машину:

•     Устанавливайте ОС на диск C.

•     Установите соответствующий пакет обновлений.

•     Установите Virtual Server Virtual Machine Additions, как описано в Virtual Server 2005 Administrators Guide, после загрузки Windows 2003 Server.

•     Используйте сеть Public в процессе изначальной установки. Применяйте подходящую схему назначения IP­адресов.

•     После установки ОС сконфигурируйте сеть Private и разделяемый диск, как при установке кластера на реальном оборудовании.

•     Поскольку кластеризация требует наличия DNS­сервера и службы Active Directory, они либо должны быть доступны в подсоединенной сети, либо вам придется сконфигурировать собственный DNS­сервер и Active Directory для этого узла. Это позволяет сделать виртуальный кластер доступным отовсюду. Именно так я поступил на моем портативном компьютере1.

 

Когда вы закончили с узлом node1 и протестировали его, вы готовы к установке узла node2.

 

Создание второго виртуального узла

 

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

  1. На основном экране статуса (экран, который отображается по умолчанию при старте Virtual Server Ad­mi­ni­stration Website) в разделе Virtual Machines выберите Create, что приведет к появлению экрана Create Virtual Machine (Создать виртуальную машину).

  2. Во­первых, задайте имя для создаваемой виртуальной машины. В нашем случае давайте назовем ее node2. Если вы не введете путь, конфигурационный файл виртуальной машины (именно его мы на самом деле определяем на этом шаге) будет сохранен с путем по умолчанию. Если вы хотите, чтобы он находился в другом месте, установите путь вручную. Во­вторых, задайте размер физической памяти, отведенной этому узлу. На моей хост­машине, где только 1 Гб RAM, я выделил 320 Мб памяти для node2. Заметьте, это меньше, чем 384 Мб для node1. Почему? Причина в том, что я сделал node1 контроллером домена и DNS­сервером, в то время как node2 — всего лишь рядовой сервер в домене. Поэтому ему требуется меньше RAM, чем узлу node1. Я бы хотел добавить оперативной памяти обоим узлам, но если бы я это сделал, мне не хватило бы памяти для функционирования хост­ОС вместе с Virtual Server 2005 и всеми остальными приложениями. В вашем случае все может быть по­другому. Если так, выделяйте как можно больше памяти каждому виртуальному узлу, чтобы получить лучшую производительность в целом. В­третьих, задайте диск C для node2, который вы создали ранее. Для этого выберите Use an existing virtual hard disk и укажите имя файла и путь к виртуальному жесткому диску. В­четвертых, укажите сетевой адаптер виртуальной сети Public, который вы создали ранее. Ваш окончательный экран должен выглядеть похожим на рис. 16.

  3. Щелкните Create (Создать). После создания конфигурационного файла вы увидите имя только что созданной вами виртуальной машины на экране Mas­ter Status Web­сайта Virtual Server 2005 Administrator's Website.

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

  1. Чтобы сконфигурировать текущую виртуальную машину, перейдите на страницу Master Status и наведите указатель мыши на имя виртуального сервера. При этом появится подменю. Выберите Edit Configuration. Появится экран, представленный на рис. 17.

  2. Нас не интересует часть экрана Status. Наша цель — часть Configuration. Здесь мы создадим виртуальный SCSI­адаптер, назначим адаптеру разделяемый диск, а также добавим поддержку частной сети к этому виртуальному серверу.

  3. Чтобы создать виртуальный SCSI­адаптер, щелкните SCSI adapters, и появится экран, показанный на рис. 18.

  4. Теперь щелкните Add SCSI Adapter. На экране с рис. 18 выберите Share SCSI bus for clustering и установите SCSI adapter ID в 6. Обратите внимание: не используйте значение по умолчанию, рав­ное 7, иначе возникнет конфликт с узлом node1. Теперь щелкните OK, чтобы создать SCSI­адаптер. Мы закончили добавление виртуального SCSI­
    адаптера.

  5. Нашей следующей задачей будет добавление к виртуальной машине разделяемого диска и назначение его только что созданному SCSI­адаптеру. Для этого на экране Configuration для виртуальной машины щелкните Hard disks, и появится экран Note2 Virtual Hard Disk Properties (Свойства виртуального жесткого диска Node2). Теперь нашей задачей будет добавление дополнительного виртуального жесткого диска в качестве разделяемого. Для этого щелкните Add Disk, и экран обновится, что позволит нам добавить разделяемый виртуальный диск.

  6. Теперь необходимо ввести информацию для Vir­tual hard disk 2. Напротив Attachment следует выбрать Primary channel (1) [Основной канал (1)]. Это наше виртуальное SCSI­устройство. Далее введите путь и имя файла для нашего разделяемого массива напротив Fully qualified path to file. После этого щелкните OK. Назначение разделяемого массива для виртуального SCSI­адаптера этой виртуальной машины закончено.

  7. Наш последний шаг по конфигурации перед установкой ОС будет заключаться в задании сети Private для этой виртуальной машины. Как вы, возможно, помните, сеть Public была установлена при создании виртуальной машины. Для этого на экране Configuration для виртуальной машины щелкните Network adapters, и появится новый экран.

  8. Чтобы добавить другой виртуальный сетевой адаптер для сети Private, щелкните Add Network Adapter. Экран обновится, позволяя ввести нужную информацию. Теперь добавьте информацию для Virtual network adapter 2. В данном случае единственным внесенным нами изменением будет выбор значения Private для параметра Connected to. Для всех остальных параметров оставьте значения по умолчанию. Щелкните OK, чтобы сохранить этот виртуальный сетевой адаптер.

На данном этапе вы выполнили все шаги по конфигурированию Virtual Server 2005. Теперь вам нужно загрузить Windows 2003 Server на виртуальную машину, которую вы только что создали и сконфигурировали.

Устанавливая Windows 2003 Server в качестве второго узла нашего виртуального кластера, держите в уме следующие моменты, поскольку они имеют отношение к тому, как мы сконфигурировали виртуальную машину.

•     Устанавливайте ОС на диск C для узла node2.

•     Установите соответствующий пакет обновлений.

•     Установите Virtual Server Virtual Machine Additions, как описано в Virtual Server 2005 Administrators Guide, после установки Windows 2003 Server.

•     Используйте сеть Public в качестве сети в процессе изначальной установки. Используйте подходящую схему назначения IP­адресов.

•     После установки ОС сконфигурируйте сеть Private и разделяемый диск, как при установке кластера на реальном оборудовании.

•     Введите этот сервер в домен в качестве рядового сервера.

Протестировав узел node1, вы можете объединять два виртуальных узла в кластер.

 

Конфигурирование кластера из двух узлов

 

На данном этапе у вас есть два виртуальных узла, node1 и node2, работающих в рамках Virtual Server 2005. Когда вы думаете об этом, имейте в виду, что они ведут себя в точности, как реальные физические серверы. И теперь, когда вы готовы объединить их в кластер, вы делаете это так же, как если бы они были реальными физическими узлами. Как я упоминал ранее, предполагается, что вы уже знаете, как создать кластер из двух узлов Windows 2003 Server, и теперь самое время это сделать. Объединив узлы в кластер, вы сможете установить службу кластеризации SQL Server 2000/2005.

Установка кластера на базе SQL Server 2000/2005

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

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

*См. Как настроить Virtual Server 2005 для создания тестового кластера SQL Server. Часть 1 // SQL Server для профессионалов. 2006. № 10.

1Можно также установить еще одну виртуальную машину в качестве контроллера домена. Она прекрасно работает со 128 Мб памяти, так что это не будет сильной нагрузкой даже на портативном компьютере. — Прим. ред.

 

Работа с Reporting Services при помощи Microsoft Sharepoint. Часть 1

Эмит Фаднис (Ameet Phadnis)

 

Зачастую бизнес требует отчетов о выполнении или производительности компании для размещения на сайте в корпоративной сети. Для создания Web­сайтов в интрасети используются различные порталы. Одним из таких инструментов является технология SharePoint компании Microsoft, основная задача которой — отображение отчетов, хранимых SQL Reporting Services, на сайте. В состав SQL Reporting Services SP 2 входят две Web­части (web part).

В этой статье я поделюсь информацией о применении существующих Web­частей, предоставляемых Microsoft, а затем объясню, что происходит «за кулисами» при отображении отчета. Наконец, я расскажу, как создать свою собственную Web­часть.

Две Web­части, предоставляемые Microsoft, — это Report Explorer и Report Viewer.

 

Web­часть Report Explorer

Эта Web­часть отображает все отчеты в Report Ma­na­ger. Она позволяет пользователю установить свойство Report Manager и показать все папки/отчеты под Re­port Manager.

 

Web­часть Report Viewer

Эта Web­часть на самом деле используется для отображения другой Web­части. Вы можете как выбрать в свойствах отчет для показа, так и установить соединение с ней.

 

(Возврат на основную страницу)

Hosted by uCoz