Расширение хранилища в Azure Stack Hub
В этой статье приводятся сведения об инфраструктуре хранилища Azure Stack Hub, которые помогут выбрать метод интеграции Azure Stack Hub с существующей сетевой средой. После общего обсуждения вопроса о расширении вашего центра обработки данных в статье представлены два разных сценария. Вы можете подключиться к серверу хранилища файлов Windows. Также можно подключиться к серверу iSCSI Windows.
Общие сведения о расширении хранилища в Azure Stack Hub
В некоторых сценариях данных, расположенных в общедоступном облаке, недостаточно. Возможно, имеется зависимая от задержек виртуализированная рабочая нагрузка базы данных с большим объемом вычислений, а время приема-передачи в общедоступное облако может повлиять на производительность рабочей нагрузки базы данных. Возможно, есть локальные данные, хранящиеся на файловом сервере, запоминающем устройстве, подключаемом к сети, или в массиве хранения iSCSI, которые должны быть доступны локальным рабочим нагрузкам, и их нужно размещать в локальной среде в соответствии с нормативными и корпоративными требованиями. Это лишь два сценария, в которых данные находятся в локальной среде, что очень важно для многих организаций.
Итак, что мешает просто разместить эти данные в учетных записях хранения в Azure Stack Hub или внутри виртуализированных файловых серверов, работающих в системе Azure Stack Hub? В отличие от Azure, хранилище Azure Stack Hub ограничено. Емкость, доступная для использования, полностью зависит от емкости каждого узла, которую вы приобрели, а также от количества имеющихся узлов. А поскольку Azure Stack Hub — это гиперконвергентное решение, то для увеличения емкости хранилища в соответствии с требованиями к потреблению вам придется увеличить и объем вычислительных ресурсов за счет добавления узлов. Это может быть неэкономично, особенно если требуется дополнительная емкость для холодного архивного хранилища, которую можно добавить по низкой стоимости за пределами системы Azure Stack Hub.
Это подталкивает к сценарию, который будет рассмотрен ниже. Как можно просто и эффективно подключить системы Azure Stack Hub (работающие в Azure Stack Hub виртуализированные рабочие нагрузки) к системам хранения за пределами Azure Stack Hub через сеть.
Схема расширения хранилища
На схеме показан сценарий, в котором одна виртуальная машина, выполнение рабочей нагрузки, подключение и использование внешнего (к виртуальной машине и самого хранилища Azure Stack Hub) для чтения и записи данных и т. д. В этой статье вы будете сосредоточиться на простом извлечении файлов, но вы можете развернуть этот пример для более сложных сценариев, таких как удаленное хранилище файлов базы данных.
На схеме видно, что виртуальная машина в системе Azure Stack Hub развернута с несколькими сетевыми адаптерами. Как с точки зрения избыточности, так и с точки зрения рекомендуемого хранилища важно иметь несколько путей между целью и конечным пунктом. Ситуация усложняется, когда у виртуальных машин в Azure Stack Hub есть одновременно общедоступные и частные IP-адреса, как в Azure. Внешнее хранилище может обращаться к виртуальной машине только по общедоступному IP-адресу, поскольку частные IP-адреса используются внутри систем Azure Stack Hub, ее виртуальных сетей и подсетей. Внешнее хранилище не сможет взаимодействовать с диапазоном частных IP-адресов виртуальной машины, если оно не будет проходить через VPN типа "сеть —сеть" для подключения к самой виртуальной сети. Таким образом, в этом примере основное внимание уделяется обмену данными через диапазон общедоступных IP-адресов. Обратите внимание, что на схеме видно, что в диапазоне общедоступных IP-адресов есть 2 различные общедоступные подсети пула IP-адресов. По умолчанию Azure Stack Hub требуется всего один пул для общедоступного IP-адреса, но для избыточной маршрутизации может потребоваться второй пул. Так как невозможно выбрать IP-адрес из определенного пула, на данный момент вы вполне можете остановиться на модели с общедоступными IP-адресами из того же пула в нескольких виртуальных сетевых картах.
В контексте этого обсуждения можно предположить, что маршрутизация между границами устройств и внешним хранилищем выполнена, и трафик может правильно проходить через сеть. Например, не имеет значения, какова скорость магистрали (1 GbE, 10 GbE, 25 GbE или даже быстрее), но это важно учитывать при планировании интеграции, чтобы удовлетворить потребности в производительности любых приложений, имеющих доступ к этому внешнему хранилищу.
Подключение к цели iSCSI Windows Server
В этом сценарии мы развернем и настроим виртуальную машину Windows Server 2019 в Azure Stack Hub и подготовим ее к подключению к целевому объекту iSCSI, в котором также будет работать Windows Server 2019. При необходимости мы включим ключевые функции, такие как MPIO, для оптимизации производительности и подключения между виртуальной машиной и внешним накопителем.
Развертывание виртуальной машины Windows Server 2019 в Azure Stack Hub
На портале администратора Azure Stack Hub, если система была правильно зарегистрирована и подключена к Marketplace, выберите Marketplace Management (Управление Marketplace). Если у вас нет образа Windows Server 2019, выберите Add from Azure (Добавить из Azure), выполните поиск по фразе Windows Server 2019 и добавьте образ Windows Server 2019 Datacenter.
Загрузка образа Windows Server 2019 может занять некоторое время.
Получив образ Windows Server 2019 в среде Azure Stack Hub, войдите на пользовательский портал Azure Stack Hub.
После входа на пользовательский портал Azure Stack Hub убедитесь, что у вас есть подписка на предложение, позволяющее предоставлять ресурсы IaaS (вычисления, хранилище и сеть).
Получив доступ к подписке, вернитесь на панель мониторинга на пользовательском портале Azure Stack Hub, выберите Создать ресурс, Вычисления, а затем — элемент коллекции Центра обработки данных Windows Server 2019.
В колонке Основы введите следующие сведения:
a. Имя: VM001
b. Username: localadmin
c. Пароль и подтверждение пароля: <пароль по вашему выбору>
d. Подписка: подписка с <выбранными вычислительными ресурсами, хранилищем или сетевыми ресурсами>.
д) Группа ресурсов: storagetesting (создать)
f. Выберите ОК
В колонке Выбор размера выберите Standard_F8s_v2 и Выбрать.
В колонке Настройки выберите Виртуальная сеть и в колонке Создать виртуальную сеть, настройте адресное пространство на 10.10.10.0/23, обновите диапазон адресов подсети на 10.10.10.0/24 и нажмите OK.
Выберите Общедоступный IP-адрес, а в колонке Создать общедоступный IP-адрес щелкните переключатель Статический.
В раскрывающемся списке Выберите общедоступные входящие порты выберите RDP (3389).
Оставьте значения по умолчанию, а затем нажмите OK.
Прочитайте сводку, дождитесь подтверждения, затем выберите OK, чтобы начать развертывание. Развертывание должно завершиться примерно через 10 минут.
После завершения развертывания в разделе Ресурс выберите имя виртуальной машины, VM001, чтобы открыть колонку Обзор.
В разделе "DNS-имя" выберите Настроить, укажите метку DNS-имени vm001 и нажмите кнопку Сохранить, а затем выберите VM001.
В правой части колонки "Обзор" выберите storagetesting-vnet/default в тексте виртуальной сети или подсети.
В колонке "storagetesting-vnet" выберите Подсети, затем Добавить подсеть, после чего в колонке "Новая подсеть" введите следующие сведения, а затем нажмите кнопку ОК:
a. Имя: subnet2
b. Диапазон адресов (блок CIDR): 10.10.11.0/24
c. Группа безопасности сети: нет
d. Таблица маршрутов: Нет
После сохранения выберите VM001.
В левой части колонки обзора выберите Сетевые подключения.
Выберите Подключить сетевой интерфейс а затем выберите Создать сетевой интерфейс.
В колонке Создать сетевой интерфейс задайте следующие параметры.
a. Имя: vm001nic2
b. Подсеть: убедитесь, что подсеть — 10.10.11.0/24
c. Группа безопасности сети: VM001-nsg
d. Группа ресурсов: storagetesting
После успешного подключения выберите VM001 и Остановить, чтобы завершить работу виртуальной машины.
После остановки (освобождения) виртуальной машины в левой части колонки обзора выберите Сеть, щелкните Подключить сетевой интерфейс, выберите vm001nic2, а затем нажмите кнопку ОК. Через несколько секунд в виртуальную машину будет добавлен дополнительный сетевой адаптер.
Оставаясь в колонке Сеть, выберите вкладку vm001nic2, а затем — Сетевой интерфейс: vm001nic2.
В колонке интерфейса vm001nic выберите конфигурации IP-адресов и в центре колонки выберите ipconfig1.
В колонке параметров "ipconfig1" выберите Включено для общедоступного IP-адреса и выберите Настроить обязательные параметры, Создать, и введите "vm001nic2pip" в поле имя, выберите Статический, нажмите ОК, а затем Сохранить.
После успешного сохранения вернитесь в колонку "Обзор VM001" и выберите Запустить, чтобы запустить настроенную виртуальную машину Windows Server 2019.
После запуска установите сеанс RDP в VM001.
После подключения в виртуальной машине откройте CMD (с правами администратора) и введите hostname, чтобы получить имя компьютера операционной системы. Оно должно совпадать с VM001. Запомните это имя.
Настройка второго сетевого адаптера в виртуальной машине Windows Server 2019 в Azure Stack Hub
Azure Stack Hub назначает шлюз по умолчанию для первого (основного) сетевого интерфейса, подключенного к виртуальной машине. Azure Stack Hub не назначает шлюз по умолчанию для второго (дополнительного) сетевого интерфейса, подключенного к виртуальной машине. Таким образом, невозможно по умолчанию связываться с ресурсами, к которым подключен дополнительный сетевой интерфейс вне подсети. Дополнительные сетевые интерфейсы могут взаимодействовать с ресурсами за пределами их подсети, однако шаги для обеспечения взаимодействия различаются для разных операционных систем.
Если вы еще не открыли подключение, установите подключение RDP к VM001.
Откройте CMD с правами администратора и выполните команду route print, которая должна возвращать два интерфейса (сетевые адаптеры Hyper-V) в этой виртуальной машине.
Теперь выполните команду ipconfig, чтобы узнать, какой IP-адрес назначен дополнительному сетевому интерфейсу. В этом примере для интерфейса 6 назначен адрес 10.10.11.4. Для дополнительного сетевого интерфейса не возвращен адрес шлюза по умолчанию.
Для маршрутизации всего трафика, предназначенного для адресов за пределами подсети дополнительного сетевого интерфейса, в подсеть шлюза выполните следующую команду из CMD:.
route add -p 0.0.0.0 MASK 0.0.0.0 <ipaddress> METRIC 5015 IF <interface>
<ipaddress>
— это адрес .1 текущей подсети, а<interface>
— номер интерфейса.Чтобы убедиться, что добавленный маршрут находится в таблице маршрутизации, введите команду route print.
Вы также можете проверить исходящий трафик, выполнив команду ping:
ping 8.8.8.8 -S 10.10.11.4
Флаг-S
позволяет указать адрес источника, в данном случае 10.10.11.4 — IP-адрес сетевого адаптера, у которого теперь есть шлюз по умолчанию.ЗакройтеCMD.
Настройка цели iSCSI Windows Server 2019
Для этого сценария вы проверите конфигурацию, в которой целевым объектом iSCSI Windows Server 2019 является виртуальная машина в Hyper-V за пределами среды Azure Stack Hub. Эта виртуальная машина будет настроена с использованием восьми виртуальных процессоров, одного VHDX-файла и, что наиболее важно, двух виртуальных сетевых адаптеров. В идеальном сценарии эти сетевые адаптеры будут иметь разные маршрутизируемые подсети, но в этом тесте они будут иметь сетевые адаптеры в одной подсети.
Для сервера цели iSCSI это может быть Windows Server 2016 или 2019, физический или виртуальный, работающий в Hyper-V, VMware или альтернативное устройство на ваше усмотрение, такое как выделенная физическая сеть SAN iSCSI. Ключевым моментом здесь является двустороннее подключение к системе Azure Stack Hub. Но предпочтительно иметь несколько путей между источником и получателем, так как это обеспечивает дополнительную надежность и позволяет применять лучшие возможности для повышения производительности, например MPIO.
Советуем обновить цель iSCSI Windows Server 2019, используя при необходимости последние накопительные обновления и исправления, перезагрузку, прежде чем продолжить настройку файловых ресурсов.
После обновления и перезагрузки этот сервер можно настроить в качестве цели iSCSI.
Откройте Диспетчер сервера и выберите Управление, затем Добавить роли и возможности.
После этого выберите Далее, затем Установка ролей или компонентов и просмотрите выбранные элементы, пока не достигнете страницы Выбор ролей сервера.
Разверните Файловые службы и службы хранилища, а затем File & iSCSI Services (Файловые службы и службы iSCSI) и установите флажок Сервер цели iSCSI, примите запросы на добавление новых компонентов, а затем выполняйте шаги до завершения.
После завершения закройте диспетчер сервера.
Откройте проводник, перейдите к C:\ и создайте новую папку с именем iSCSI.
Повторно откройте диспетчер сервера и выберите Файловые службы и службы хранилища в меню слева.
Выберите iSCSI, а затем ссылку Чтобы создать виртуальный диск iSCSI, запустите мастер создания виртуальных дисков iSCSI в правой области. Выберите его. Откроется мастер.
На странице "Выбор расположения виртуального диска iSCSI" выберите переключатель для типа пользовательского пути и перейдите к C:\iSCSI и нажмите кнопку "Далее".
Присвойте виртуальному диску iSCSI имя iSCSIdisk1 и введите описание (необязательно), а затем нажмите кнопку Далее.
Задайте для размера виртуального диска значение 10 ГБ и выберите Фиксированный размер, а затем нажмите кнопку Далее.
Так как это новый целевой объект, выберите New iSCSI target (Создать цель iSCSI), а затем нажмите кнопку Далее.
На странице Выбор имени цели введите TARGET1 и нажмите кнопку Далее.
На странице Назначение серверов доступа выберите Добавить. Откроется диалоговое окно для ввода конкретных инициаторов, которые будут иметь права на подключение к цели iSCSI.
В окне Добавление ИД инициатора выберите Enter a value for the selected type (Ввести значение для выбранного типа) и в поле Тип выберите IQN в раскрывающемся меню. Введите iqn.1991-05.com.microsoft:computername>>, где <имя компьютера — имя компьютера vm001, а затем нажмите кнопку "Далее".<
На странице включения проверки подлинности оставьте поля пустыми, а затем нажмите кнопку Далее.
Подтвердите выбранные параметры и выберите Создать, а затем закройте. В диспетчере сервера должен появиться созданный виртуальный диск iSCSI.
Настройка инициатора iSCSI Windows Server 2019 и MPIO
Чтобы настроить инициатор iSCSI, сначала войдите на пользовательский портал Azure Stack Hub в системе Azure Stack Hub и перейдите в колонку Обзор для VM001.
Установите RDP-подключение к VM001. После подключения откройте диспетчер сервера.
Выберите Добавить роли и компоненты и принимайте значения по умолчанию до тех пор, пока не достигнете страницы Компоненты.
На странице Компоненты добавьте Multipath I/O и нажмите кнопку Далее.
При необходимости установите флажок "Перезапустить целевой сервер" и нажмите кнопку "Установить", а затем нажмите кнопку "Закрыть". Перезагрузка, скорее всего, потребуется, поэтому после завершения повторно подключитесь к VM001.
Вернитесь в диспетчер сервера, дождитесь завершения установки MPIO, выберите Закрыть, а затем выберите Инструменты и MPIO.
Перейдите на вкладку Обнаружение многопутевых устройств, установите флажок Добавить поддержку для iSCSI-устройств и выберите Добавить, а затем выберите Да для перезагрузки VM001. Если окно не получено, нажмите кнопку ОК, а затем перезагрузите вручную.
После перезагрузки установите новое RDP-подключение к VM001.
После подключения откройте диспетчер сервера и выберите Инструменты и Инициатор iSCSI.
Выберите Да, когда откроется окно Microsoft iSCSI для разрешения запуска службы iSCSI по умолчанию.
В окне свойств инициатора iSCSI выберите вкладку Обнаружение.
Теперь вы добавите 2 цели, поэтому сначала выберите Discover Portal (Обнаружить портал).
Введите первый IP-адрес целевого сервера iSCSI и выберите Дополнительно.
В окне Дополнительные параметры выберите следующее, а затем нажмите кнопку ОК.
a. Локальный адаптер: инициатор Microsoft iSCSI.
b. IP-адрес инициатора: 10.10.10.4.
Вернитесь в окно Обнаружение целевого портала, нажмите кнопку ОК.
Повторите процесс со следующими значениями:
a. IP-адрес: ваш второй IP-адрес целевого объекта iSCSI.
b. Локальный адаптер: инициатор Microsoft iSCSI.
c. IP-адрес инициатора: 10.10.11.4.
Ваши целевые порталы должны выглядеть, как показано ниже, с вашими собственными целевыми IP-адресами iSCSI в столбце Адрес.
Вернитесь на вкладку Цели, выберите цель iSCSI в середине окна и Подключить.
В окне Подключение к конечному объекту установите флажок Включить поддержку многопутевых накопителей, а затем щелкните Дополнительно.
Введите следующие сведения и нажмите кнопку ОК, а затем в окне Подключение к конечному объекту нажмите кнопку ОК.
a. Локальный адаптер: инициатор Microsoft iSCSI.
b. IP-адрес инициатора: 10.10.10.4.
c. IP-адрес целевого портала: <ваш первый IP-адрес iSCSI Target / 3260>.
Повторите процесс для второго сочетания "инициатор — цель".
a. Локальный адаптер: инициатор Microsoft iSCSI.
b. IP-адрес инициатора: 10.10.11.4.
c. IP-адрес целевого портала: <ваш второй IP-адрес iSCSI Target / 3260>.
Перейдите на вкладку "Тома" и "Устройства ", а затем выберите "Автоматическая настройка " — должен появиться том MPIO:
Вернитесь на вкладку Цели, выберите Устройства и вы увидите 2 подключения к единому виртуальному жесткому диску iSCSI, созданному ранее.
Нажмите кнопку MPIO, чтобы просмотреть дополнительные сведения о политике балансировки нагрузки и путях.
Выберите ОК три раза, чтобы выйти из окон и инициатора iSCSI.
Откройте оснастку "Управление дисками" (diskmgmt.msc), и в окне будет предложено инициализировать диск.
Нажмите кнопку ОК, чтобы принять значения по умолчанию, а затем прокрутите вниз до нового диска, щелкните его правой кнопкой мыши и выберите пункт New Simple Volume (Создать простой том).
Следуйте инструкциям мастера, принимая значения по умолчанию. Измените метку тома на iSCSIdisk1, а затем выберите Готово.
Затем диск отформатируется и будет представлен буквой диска.
Откройте проводник и выберите Этот компьютер, чтобы увидеть новый диск, подключенный к VM001.
Проверка подключения к внешнему хранилищу
Чтобы проверить связь и выполнить элементарный тест копирования файлов, сначала войдите на пользовательский портал Azure Stack Hub в системе Azure Stack Hub и перейдите в колонку Обзор для VM001.
Выберите Подключить, чтобы установить RDP-подключение к VM001.
Откройте диспетчер задач, выберите вкладку Производительность, а затем привязку окна к правой части сеанса RDP.
Откройте интегрированную среду сценариев Windows PowerShell от имени администратора и прикрепите окно к левой части сеанса RDP. В правой части интегрированной среды сценариев (ISE) закройте область Команды и нажмите кнопку Сценарий, чтобы развернуть белую область сценария в верхней части окна ISE.
В этой виртуальной машине нет собственных модулей PowerShell для создания VHD, который будет использоваться в качестве большого файла для проверки перемещения файла в цель iSCSI. В этом случае для создания VHD-файла нужно запустить DiskPart. В интегрированной среде сценариев выполните следующую команду:
Start-Process Diskpart
После того как откроется новое окно CMD, введите:
**Create vdisk file="c:\\test.vhd" type=fixed maximum=5120**
- На создание уйдет несколько секунд. После создания, чтобы проверить создание, откройте проводник и перейдите к C:\ — вы увидите новый тест.vhd и размер 5 ГБ.
Закройте окно CMD и вернитесь в интегрированную среду сценариев, а затем введите в окне скрипта следующую команду. Замените F:\ буквой диска iSCSI Target, которая была применена ранее.
Copy-Item "C:\\test.vhd" -Destination "F:\\"
Выберите строку в окне скрипта и нажмите клавишу F8 для запуска.
Во время выполнения команды понаблюдайте за двумя сетевыми адаптерами, через которые идет передача данных в VM001. Вы также должны увидеть, что каждый сетевой адаптер должен равномерно распределять нагрузку.
Этот сценарий разработан для демонстрации подключения между рабочей нагрузкой, запущенной в Azure Stack Hub, и массивом внешнего хранилища (целевым объектом iSCSI Windows Server, в нашем случае). Он не предназначался для тестирования производительности и может неточно отражать необходимые шаги, если вы использовали другое устройство на основе iSCSI. Однако здесь представлены основные рекомендации, которым можно следовать при развертывании рабочих нагрузок в Azure Stack Hub и подключении их к системам хранения за пределами среды Azure Stack Hub.