Виртуальная машина SQL Server 2012 в Облаке

OSzone.net » СУБД » MS SQL » Виртуальная машина SQL Server 2012 в Облаке
Автор: Алексей Шуленин
Иcточник: TechNet
Опубликована: 21.03.2013

Windows Azure SQL Database - типичный пример PaaS. Платформа обработки данных, которая в Microsoft вот уже 23 года ассоциируется с названием SQLServer, представлена как облачный сервис. Как будто большой-пребольшой SQL Server навис над миром, размазанный в Облаке Он умеет держать ваши базы и отзываться на (T-)SQL-запросы, как и обычный SQL Server, стоящий где-нибудь в соседней комнате. Хотя SQL Server большой-пребольшой, он имеет некоторые ограничения по сравнению с тем SQL Server, который за стенкой.

В июне 2012 года на конференции TecheEd в Орландо было объявлено о включении IaaS в облачное предложение Microsoft. Под инфраструктурой понимались виртуальные машины и виртуальные сети в Облаке, при этом в качестве операционных систем для облачных виртуалок могли использоваться не только ОС производства Microsoft. но и SUSE Linux Enterprise Server 11 SP2, OpenSUSE 12.1, CentOS 6.2, Ubuntu 12.04. "Our support of Linux is one example of how we are embracing openness in a fundamental new way" - заявил корпоративный вице-президент Microsoft по Windows Azure Скотт Гатри. Ну да бог с ним, с Линуксом. Принципиальное отличие от SQL Azure в данном случае состоит в том, что теперь это не Облако, обладающее функциями SQL Server, а полноценный SQL Server, установленный на виртуальной машине, расположенной где-то в нависшем над миром Облаке. В статье Георгия Гаджиеваописывается создание SQL Serverной виртуалки из галереи в Облаке, но для начала предстоит получить туда доступ. Для разработчиков наиболее очевидный способ - это подписка MSDN, которая, кроме возможности скачивать массу полезных продуктов, дает бесплатный доступ в Облако в пределах следующих лимитов:

SUBSCRIPTION LEVEL VISUAL STUDIO PROFESSIONAL
WITH MSDN
VISUAL STUDIO PREMIUM
WITH MSDN
VISUAL STUDIO ULTIMATE
WITH MSDN
Cloud Services375 hours of the Small Instance750 hours of the Small Instance1,500 hours of the Small Instance
CDN Transactions500,0001,000,0002,000,000
CDN Data Transfers25 GB Out30 GB Out35 GB Out
Storage35 GB40 GB45 GB
Storage Transactions50,000,00075,000,000100,000,000
SQL Database Web Edition1 Database Unit*1 Database Unit*5 Database Units**
Access Control Transactions100K200K500K
Service Bus Messages500,0001,000,0001,000,000
Service Bus Relay Hours1,5003,0003,000
Caching128 MB cache128 MB cache128 MB cache
Data Transfers (Worldwide)25GB Out
Free In
30GB Out
Free In
35GB Out
Free In
Annual Savings***$1500$2100$3700

Табл.1

Заходим в управление подпиской и говорим Activate Windows Azure:

*
Увеличить

Рис.1

Слева она напоминает, в каких пределах я могу пользоваться Облаком в рамках своей MSDN-подписки, а справа предлагает ввести кредитную карту, уверяя, что это делается только с целью моей идентификации и с нее ничего сниматься не будет, если только я явно не удалю spending limit. На всякий случай указал карточку с незначительной суммой кредита, которую обычно использую для интернет-покупок. После официального объявления Azure в России кредитки, выданные российскими банками, не вызывают отторжения.

*
Увеличить

Рис.2

Теперь заходим на http://www.windowsazure.com/ и жмем Portal в правом верхнем углу:

*
Увеличить

Рис.3

Потребуется ввести LiveID, привязанный к упомянутой выше MSDNовской подписке, после чего мы оказываемся в новом интерфейсе Windows AzureManagement Portal. Далее все делаем в соответствии с Гошиной статьей - жмем + NEW в левом нижнем углу для создания новой виртуальной машины:

*
Увеличить

Рис.4

и видим, что в разделе Compute изо всех пунктов (Wev Site, Virtual Machine, Mobile Service, Cloud Service) доступен только последний. Остальные требуетсявключать отдельно. Жмем пункт Account в верхнем меню Рис.3, выбираем Preview Features строчкой ниже и напротив Virtual Machines & Virtual Networksкликаем зеленую кнопку Try It Now.

*
Увеличить

Рис.5

Теперь в портале управления Azure появится опция создания виртуальных машин:

*
Увеличить

Рис.6

Кликаем в нее и говорим, что хотим создать виртуальную машину в Облаке из галереи, т.е. из заранее подготовленных Microsoft шаблонов образов:

*
Увеличить

Рис.7

Вот доступные на момент написания статьи образы в галерее:

*
Увеличить

Рис.8

По подписке MSDN причитается small instance VM, его и заказываю:

*
Увеличить

Рис.9

Для нужд текущего эксперимента достаточно отдельно парящей в Облаке виртуалки (standalone). DNS-имя образуется по принципу <ваша фантазия>.cloudapp.net. Фантазию, действительно, придется напрячь, потому что в отличие от Рис.9 это имя должно быть уникальным, а все мало-мальски очевидные имена давно разобрали. Storage Account необходим для хранения vhd. Для виртуалки выбранного типа он весит 30 гиг (Рис.22), что умещается в лимиты Табл.1. В качестве датацентра выбираю Дублин, хотя Амстердам, в принципе, ближе. Список центров обработки данных Azure можно посмотреть, например, в wiki. Не имеет большого значения, какой датацентр выбирать, т.к.  стоимость трафикавезде одинакова, за исключением Южной и Юго-Восточной Азии. Главное, стараться держать все необходимое в пределах одного центра, чтобы минимизировать обмен данных между ними.

*
Увеличить

Рис.10

Availability Set в данном эксперименте не понадобится:

*
Увеличить

Рис.11

Виртуальная машина начинает создаваться. В моем случае процесс занял ~7-8 минут, когда созданная машина появилась в состоянии Stopped и еще ~1.5 минуты  она стартовала.

*
Увеличить

Рис.12

Все, с машиной можно соединяться и начинать работать.

*
Увеличить

Рис.13

Будет предложено открыть или сохранить файл с настройками удаленного подключения <имя машины>.rdp. Используется соединение по DNS-имени, заданному на Рис.10

*

Рис.14

и порту в соответствии с автоматически созданной конечной точкой, параметры которой можно посмотреть, кликнув по имени машины на Рис.13 и выбрав пункт меню Endpoints:

*
Увеличить

Рис.15

Нажмите кнопку Connect на Рис.14. Укажите в качестве пароля Administrator заданный на Рис.9 пароль. Выданная в наше распоряжение виртуалка представляет собой Windows Server 2008R2 редакции DataCenter с SQL Server 2012 Evaluation Edition. На всякий случай напомню, что пробная редакция SQLServer эквивалентна по своей функциональности Enterprise Edition и ограничена лишь сроком использования (180 дней).

*
Увеличить

Рис.16

Посмотреть кол-во оставшихся до истечения пробного периода дней раньше можно было в SSMS - Help -About, но это было слишком просто и совершенно не развивало смекалку DBA, поэтому в версии 2012 эту информацию оттуда убрали. Теперь это можно сделать одним из описанных здесь способов. Например, запросом

select create_date AS 'SQL Server Install Date', DATEADD(DD, 180, create_date) AS 'SQL Server Expiry Date'
from sys.server_principals
where name = 'NT AUTHORITY\SYSTEM'

Обратите внимание, что в случае SQL Serverной виртуалки в Облаке реальный срок истечения пробной версии получается не через 180 дней, а раньше, т.к. образ, из которого создавалась виртуалка, собирался 2 августа, соответственно, тогда же устанавливался SQL Server.

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

*
Увеличить

Рис.18

Удалить диск, пока виртуалка активна, не дадут - вначале необходимо удалить виртуалку:

*
Увеличить

Рис.19

Следует иметь в виду, что удаление виртуалки не удаляет автоматически ее vhd, о чем предупреждается на этапе удаления. По времени удаление занимает примерно столько же, сколько и создание.

*
Увеличить

Рис.20

Затем следует зайти в Virtual Machines -> Disks и удалить оставшийся vhd, чтобы освободить ограниченный лимитами Табл.1 сторидж:

*
Увеличить

Рис.21

Удалить его как блоб через Storage Account, погрузившись в содержащий его контейнер (Рис.18) нельзя:

*
Увеличить

Рис.22

После удаления диска (Рис.21) контейнер опустевает и Storage Account, автоматически заведенный при создании виртуальной машины (Рис.10), в принципе, тоже можно удалить, если ни подо что больше он не используется.

Остается облачный сервис, содержащий заведенное на том же Рис.10 DNS-имя виртуальной машины.

*
Увеличить

Рис.23

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

Обратите внимание, что в случае SQL Serverной виртуалки в Облаке реальный срок истечения пробной версии получается не через 180 дней, а раньше, т.к. образ, из которого создавалась виртуалка, собирался 2 августа, соответственно, тогда же устанавливался SQL Server.

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

*
Увеличить

Рис.18

Удалить диск, пока виртуалка активна, не дадут - вначале необходимо удалить виртуалку:

*
Увеличить

Рис.19

Следует иметь в виду, что удаление виртуалки не удаляет автоматически ее vhd, о чем предупреждается на этапе удаления. По времени удаление занимает примерно столько же, сколько и создание.

*
Увеличить

Рис.20

Затем следует зайти в Virtual Machines -> Disks и удалить оставшийся vhd, чтобы освободить ограниченный лимитами Табл.1 сторидж:

*
Увеличить

Рис.21

Удалить его как блоб через Storage Account, погрузившись в содержащий его контейнер (Рис.18) нельзя:

*
Увеличить

Рис.22

После удаления диска (Рис.21) контейнер опустевает и Storage Account, автоматически заведенный при создании виртуальной машины (Рис.10), в принципе, тоже можно удалить, если ни подо что больше он не используется.

Остается облачный сервис, содержащий заведенное на том же Рис.10 DNS-имя виртуальной машины.

*
Увеличить

Рис.23

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


Ссылка: http://www.oszone.net/20321/