Управление емкостью хранилища для Azure Stack Hub
Эту статью можно использовать в качестве оператора облака Azure Stack Hub, чтобы узнать, как отслеживать емкость хранилища развертывания Azure Stack Hub и управлять ими. Инструкции можно использовать для понимания памяти, доступной для виртуальных машин пользователя. Инфраструктура хранилища Azure Stack Hub выделяет для развертывания Azure Stack Hub часть общей емкости хранилища в качестве служб хранения. Службы хранения сохраняют данные арендатора в общих ресурсах на томах, которые соответствуют узлам развертывания.
Как у оператора облака, у вас есть ограниченный объем хранилища для работы. Объем хранилища определяется реализуемым решением. Решение предоставляется поставщиком изготовителя оборудования при использовании решения с несколькими узлами или обеспечивается оборудованием, на котором устанавливается Пакет средств разработки Azure Stack (ASDK).
Azure Stack Hub поддерживает только расширение емкости хранилища путем добавления дополнительных узлов единиц масштабирования. Дополнительные сведения см. в статье о добавлении узлов единиц масштабирования в Azure Stack Hub. Добавление физических дисков на узлы не расширяет емкость хранилища.
Важно отслеживать доступное хранилище, чтобы обеспечить эффективное обслуживание операций. Когда остающаяся свободная емкость тома становится ограниченной, запланируйте управление доступным пространством, чтобы предотвратить нехватку емкости в общих ресурсах.
Ниже перечислены возможные варианты управления емкостью:
- освобождение емкости;
- миграция объектов хранилища.
Если том хранилища объекта используется на 100 %, служба хранения больше не используется для него. Чтобы получить помощь в восстановлении операций для этого тома, обратитесь в службу поддержки Майкрософт.
Общие сведения о дисках, контейнерах и томах
Пользователь клиента создает диски, большие двоичные объекты, таблицы и очереди в службах хранилища Azure Stack Hub. Эти данные клиента помещаются на томах поверх доступного хранилища.
Диски
Виртуальная машина хранит данные на виртуальных дисках и управляет ими. Каждая виртуальная машина начинается с диска ОС, созданного на основе образа Marketplace или частного образа. Виртуальная машина может подключить ноль или больше дисков данных. Существует два типа дисков, предлагаемых в Azure Stack:
Управляемые диски упрощают управление дисками виртуальных машин Azure IaaS. Они управляют учетными записями хранения, связанными с этими дисками. Вам нужно только выбрать размер диска, а Azure Stack Hub самостоятельно создаст диск и будет управлять им. Дополнительные сведения см. в статье Обзор управляемых дисков.
Неуправляемые диски — это VHD-файлы, которые хранятся в виде страничных BLOB-объектов в контейнерах хранилища в учетных записях хранения Azure Stack. Созданные клиентами страничные BLOB-объекты называются дисками виртуальной машины и хранятся в контейнерах в учетных записях хранения. Мы рекомендуем использовать неуправляемые диски только для виртуальных машин, которые должны быть совместимы со сторонними средствами, которые поддерживают только неуправляемые диски Azure.
Клиенты должны размещать каждый диск в отдельном контейнере для повышения производительности виртуальной машины.
- Каждый контейнер, хранящий диск виртуальной машины (страничный BLOB-объект), считается контейнером, подключенным к виртуальной машине, которой принадлежит диск.
- Контейнер, который не содержит дисков виртуальных машин, считается свободным контейнером.
Варианты освобождения места в подключенном контейнере ограничены. Дополнительные сведения см. в разделе Распределение неуправляемых дисков.
Важно!
Мы рекомендуем использовать только управляемые диски на виртуальных машинах для упрощения управления. Перед использованием управляемых дисков не нужно подготавливать учетные записи хранения и контейнеры. Управляемые диски обеспечивают эквивалентную или лучшую функциональность и производительность по сравнению с неуправляемыми дисками. Нет никаких преимуществ использования неуправляемых дисков, и они предоставляются только для обратной совместимости.
Управляемые диски оптимизированы для лучшего размещения в инфраструктуре хранилища и значительно сокращают затраты на управление. Но из-за тонкой подготовки управляемых дисков и окончательного использования непредсказуемого при создании, существуют возможности чрезмерного использования тома, вызванного несбалансированное размещение диска. Операторы отвечают за мониторинг использования емкости хранилища и избежать такой проблемы.
Для пользователей, использующих шаблоны ARM для подготовки новых виртуальных машин, используйте следующий документ, чтобы понять, как изменить шаблоны для использования управляемых дисков: используйте шаблоны управляемых дисков виртуальной машины.
Диски виртуальных машин хранятся в виде разреженных файлов в инфраструктуре хранилища. Диски подготовили размер, который пользователь запрашивает во время создания диска. Однако только ненулевые страницы, записанные на диск, занимают место в базовой инфраструктуре хранения.

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

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

Большие двоичные объекты и контейнеры
Пользователи клиента хранят большие объемы неструктурированных данных с помощью БОЛЬШОго двоичного объекта Azure. Azure Stack Hub поддерживает три типа больших двоичных объектов: блочные BLOB-объекты, добавочные BLOB-объекты и страничные BLOB-объекты. Дополнительные сведения о различных больших двоичных объектах см. в статье Understanding Block Blobs, Append Blobs, and Page Blobs (Основные сведения о блочных, добавочных и страничных BLOB-объектах).
Пользователи клиента создают контейнеры, которые затем используются для хранения данных больших двоичных объектов. Хотя пользователь решает, в каком контейнере размещать большие двоичные объекты, служба хранения использует специальный алгоритм, чтобы определить, в каком томе разместить контейнер. Алгоритм обычно выбирает том с наибольшим количеством свободного места.
Большой двоичный объект после размещения в контейнере может увеличиться и занимать больше места. По мере добавления новых больших двоичных объектов и увеличения имеющихся доступное пространство в томе, который содержит этот контейнер, уменьшается.
Контейнеры не ограничены одним томом. Когда объединенные данные большого двоичного объекта в контейнере растут и используют 80 % свободного места и более, контейнер переходит в режим переполнения. В режиме переполнения все большие двоичные объекты, созданные в этом контейнере, выделяются на другой том, где есть достаточно места. Со временем контейнер в режиме переполнения сможет иметь большие двоичные объекты, распределенные между несколькими томами.
Если используется 90 % (а затем 95 %) доступного пространства в томе, система создает оповещения на портале администрирования Azure Stack Hub. Операторам облака необходимо просмотреть доступную емкость хранилища и запланировать перераспределение содержимого. Служба хранения перестает работать, когда диск используется на 100 %. Никакие дополнительные оповещения не поступают.
Тома
Служба хранения разделяет доступное хранилище на отдельные тома, которые выделены для хранения данных клиента и системы. Тома объединяют диски в пул хранения, чтобы обеспечить отказоустойчивость, масштабируемость и производительность локальных дисковых пространств. Дополнительные сведения о томах в Azure Stack Hub см. в статье Управление инфраструктурой хранилища для Azure Stack Hub.
Тома хранилища объектов хранят данные арендатора. К данным клиента относятся страничные BLOB-объекты, блочные BLOB-объекты, добавочные большие двоичные объекты, таблицы, очереди, базы данных и связанные хранилища метаданных. Количество томов хранилища объектов равно количеству узлов в развертывании Azure Stack Hub:
- В развертывании с четырьмя узлами находятся четыре тома хранилища объектов. В развертывании с несколькими узлами количество томов не уменьшается, если узел удален или неисправен.
- При использовании ASDK существует один том с одной общей папкой.
Тома хранилища объектов предназначены для эксклюзивного использования служб хранилища. Не следует изменять, добавлять или удалять файлы напрямую в томах. Только службы хранения должны работать с файлами, хранящимися в этих томах.
Так как объекты хранилища (BLOB-объекты и т. д.) содержатся в одном томе по отдельности, максимальный размер каждого объекта не может превышать размер тома. Максимальный размер новых объектов зависит от емкости, которая остается в томе в качестве неиспользуемого пространства при создании нового объекта.
Если в томе хранилища объектов недостаточно свободного пространства, а вам не удалось освободить место или этот вариант недоступен, оператор облака Azure Stack Hub может перенести объекты хранилища из одного тома в другой.
См. дополнительные сведения о том, как пользователи клиента взаимодействуют с хранилищем BLOB-объектов в Azure Stack Hub.
Мониторинг хранилища
Используйте Azure PowerShell или портал администратора для отслеживания общих ресурсов, чтобы знать, когда свободное пространство ограничено. При использовании портала можно получать оповещения об общих ресурсах, в которых мало места.
Использование PowerShell
Оператор облака может отслеживать емкость хранилища в общем ресурсе с помощью командлета PowerShell Get-AzsStorageShare. Этот командлет возвращает общее, выделенное и свободное место в байтах для каждого общего ресурса.

- Общая емкость. Это общая емкость в байтах, доступная в общем ресурсе. Это пространство используется для данных и метаданных, обрабатываемых службами хранения.
- Используемая емкость. Это объем данных в байтах, используемый всеми экстентами из файлов, в которых хранятся данные клиента и связанные метаданные.
Использование портала администрирования
Облачный оператор может использовать портал администрирования для просмотра емкости всех общих ресурсов.
Войдите на портал администрирования:
https://adminportal.local.azurestack.external.Выберите "Все службы> служба хранилища Файлы">, чтобы открыть список общих папок, где можно просмотреть сведения об использовании.

- Total: Это общая емкость в байтах, доступная в общем ресурсе. Это пространство используется для данных и метаданных, обрабатываемых службами хранения.
- Используется. Это объем данных в байтах, используемый всеми экстентами из файлов, в которых хранятся данные клиента и связанные метаданные.
Используйте Azure PowerShell или портал администрирования для мониторинга подготовленной и используемой емкости и планирования миграции, чтобы обеспечить непрерывную нормальную работу системы.
Существует три средства мониторинга емкости томов:
- Портал и PowerShell для текущей емкости тома.
- служба хранилища оповещения о пространстве.
- Метрики емкости тома.
В этом разделе мы рассмотрим, как использовать эти средства для мониторинга емкости системы.
Использование PowerShell
Как оператор облака вы можете отслеживать емкость хранилища в томе с помощью командлета PowerShell Get-AzsVolume. Этот командлет возвращает объем общего и свободного пространства в гигабайтах (ГБ) для каждого тома.

- Общая емкость: Общее пространство в ГБ, доступное в общей папке. Это пространство используется для данных и метаданных, обрабатываемых службами хранения.
- Оставшаяся емкость: Объем свободного места в ГБ для хранения данных клиента и связанных метаданных.
Использование портала администрирования
Как оператор облака вы можете использовать портал администрирования для просмотра емкости всех томов.
Войдите на портал администрирования Azure Stack Hub (
https://adminportal.local.azurestack.external).Выберите все службы>служба хранилища>Volumes, чтобы открыть список томов, где можно просмотреть сведения об использовании.

- Total: Общее доступное пространство в томе. Это пространство используется для данных и метаданных, обрабатываемых службами хранения.
- Используется. Объем данных, используемый всеми экстентами из файлов, в которых хранятся данные арендатора и связанные метаданные.
Оповещения о дисковом пространстве
Если вы используете портал администрирования, вы получаете оповещения о томах, в которых мало свободного пространства.
Важно!
Оператору облака следует предотвращать полное использование емкости общих ресурсов. Если общий ресурс используется полностью, служба хранения больше не функционирует для него. Чтобы освободить пространство и восстановить операции в общем ресурсе, который используется на 100 %, обратитесь в службу поддержки Майкрософт.
Предупреждение. Если общая папка используется более чем на 90 %, вы получите предупреждение на портале администрирования:
Критическое: если общая папка используется более чем на 95 %, на портале администрирования появится критическое оповещение:
Просмотр сведений. На портале администрирования можно открыть сведения об оповещении, чтобы просмотреть варианты устранения его причины.
Метрики емкости тома
Метрики емкости тома предоставляют более подробные сведения о подготовленной емкости и используемой емкости для различных типов объектов. Данные метрик сохраняются в течение 30 дней. Служба фонового мониторинга обновляет данные метрик емкости тома почасово.
Необходимо понять использование ресурсов тома, проверив отчет о метриках емкости. Оператор облака может проанализировать распределение типов ресурсов, когда том приближается к полному выбору соответствующего действия для свободного места. Оператор также может предотвратить превышение использования тома, если размер подготовленного диска указывает, что том слишком много подготовлен.
Azure Monitor предоставляет следующие метрики для отображения использования емкости тома:
- Общая емкость тома показывает общую емкость хранилища тома.
- Оставшаяся емкость тома показывает оставшуюся емкость хранилища тома.
- Емкость используемого диска виртуальной машины тома показывает общее количество дисковых пространств, занятых объектами, связанными с диском виртуальной машины (включая страничные BLOB-объекты, управляемые диски и моментальные снимки, управляемые образы и образы платформы). Базовый VHD-файл дисков виртуальных машин может совместно использовать один и тот же экстент (ссылаться на диски) с образами, моментальными снимками или другими дисками. Это число может быть меньше суммы используемой емкости всех объектов, связанных с диском виртуальной машины.
- Общая используемая емкость тома — это общий размер объектов, отличных от дисков, включая блочные BLOB-объекты, добавочные BLOB-объекты, таблицы, очереди и метаданные BLOB-объектов.
- Емкость подготовленного диска виртуальной машины тома — это общий размер страничных BLOB-объектов и управляемых дисков и моментальных снимков. Этот размер является максимальным значением общей емкости диска всех управляемых дисков и страничных BLOB-объектов на определенном томе.

Чтобы просмотреть метрики емкости томов в Azure Monitor, выполните приведенные далее действия.
Проверьте, установлена и настроена ли среда Azure PowerShell. Инструкции по настройке среды PowerShell приведены в статье Установка PowerShell для Azure Stack Hub. Сведения о том, как войти в Azure Stack Hub, см. в статье Подключение к Azure Stack с помощью PowerShell.
Скачайте средства Azure Stack Hub из репозитория GitHub. Подробные инструкции см. в статье "Скачивание средств Azure Stack Hub" из GitHub.
Создайте json панели мониторинга емкости, запустив DashboardGenerator в разделе CapacityManagement.
.\CapacityManagement\DashboardGenerator\Create-AzSStorageDashboard.ps1 -capacityOnly $true -volumeType objectВ папке DashboardGenerator будет создан JSON-файл с именем DashboardVolumeObjStore .
Войдите на портал администрирования Azure Stack Hub (
https://adminportal.local.azurestack.external).На странице панели мониторинга нажмите кнопку "Отправить" и выберите json-файл, созданный на шаге 3.

После отправки json вы будете перенаправлены на новую панель мониторинга емкости. Каждый том имеет соответствующую диаграмму на панели мониторинга. Количество диаграмм, равное количеству томов:

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

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

Недостаточно подготовленная резервная емкость: на томе достаточно доступной емкости, а общая подготовленная емкость всех дисков, расположенных на этом томе, меньше общей доступной емкости. Том доступен для дополнительных объектов хранилища, включая диски и другие объекты (блочные и добавочные BLOB-объекты, таблицы и очереди). Для работы тома не нужно предпринимать никаких действий.
Чрезмерно подготовленная резервная емкость: оставшаяся емкость тома высока, но подготовленная емкость диска виртуальной машины уже превышает общую емкость тома. Этот том по-прежнему имеет место для большего количества объектов хранилища. Однако он может быть заполнен данными на дисках виртуальных машин, расположенных на этом томе. Следует внимательно следить за тенденцией использования этого тома. Если он изменится на слишком подготовленный шаблон с низкой емкостью, может потребоваться принять меры, чтобы освободить место.
Недостаточно подготовленной, низкой емкости: оставшаяся емкость тома низкая, и как подготовленная емкость диска виртуальной машины, так и используемая емкость диска виртуальной машины высока.
Низкая оставшаяся емкость указывает, что объем достигает полного использования. Операторы должны принять немедленные меры, чтобы освободить место, чтобы предотвратить использование тома 100 %, что заблокировало службу хранилища. Высокая используемая емкость диска виртуальной машины показывает, что большая часть использования тома — это диски виртуальных машин. Обратитесь к инструкциям по переносу дисков с полного тома на другие доступные тома для свободного места.
Недостаточно подготовленная, низкая емкость, большие блочные BLOB-объекты: оставшаяся емкость тома низкая, и как подготовленная емкость диска виртуальной машины, так и используемая емкость диска виртуальной машины низкая, но другая используемая емкость высока.
Объем имеет риск полного использования, что оператор должен принять немедленные меры для освобождения места. Высокая другая используемая емкость указывает, что большая часть емкости тома принимается блочных и добавочных BLOB-объектов или таблиц или очередей. Если доступная емкость тома меньше 20 %, переполнение контейнера будет включено, а новый объект большого двоичного объекта не будет помещен на этот почти полный том. Но существующие большие двоичные объекты все еще могут расти. Чтобы предотвратить чрезмерное использование емкости постоянно растущих больших двоичных объектов, можно обратиться к служба поддержки Майкрософт, чтобы запросить контейнеры, занимающие место на определенном томе, и решить, нужно ли очистить эти контейнеры клиентами, чтобы освободить место.
Недостаточно подготовленных, низких емкостей, больших блочных BLOB-объектов: оставшаяся емкость тома низка, а используемая или подготовленная емкость диска и другая используемая емкость высока. Этот том имеет высокую загрузку места как дисками, так и другими объектами хранилища. Вы должны освободить место, чтобы избежать полного заполнения тома. Сначала рекомендуется выполнить инструкции по переносу дисков с полного тома на другие доступные тома. В других случаях вы можете обратиться к служба поддержки Майкрософт, чтобы запросить контейнеры, занимающие место на определенном томе, и решить, нужно ли очистить эти контейнеры клиентами, чтобы освободить место.
Управление доступным местом
Когда необходимо освободить пространство в томе, сначала используйте наименее агрессивные методы. Например, попробуйте освободить пространство, прежде чем переносить управляемый диск.
Освобождение емкости
Можно освободить емкость, используемую учетными записями арендатора, которые были удалены. Эта емкость автоматически освобождается при истечении срока хранения данных (или же вы можете немедленно освободить ее).
Дополнительные сведения см. в подразделе "Освобождение емкости" раздела Управление учетными записями хранения Azure Stack Hub.
Перенос контейнера между томами
Этот параметр применяется только к интегрированным системам Azure Stack Hub.
Из-за шаблонов использования клиентами некоторые клиентские общие ресурсы используют больше места, чем другие. В результате в одних общих ресурсах может заканчиваться свободное пространство, тогда как другие общие ресурсы практически не используются.
Можно попробовать освободить место в общих ресурсах с большой нагрузкой вручную, перенеся некоторые контейнеры больших двоичных объектов в другой общий ресурс. Несколько контейнеров меньшего размера можно перенести в один общий ресурс, где достаточно места, чтобы хранить их все. Используйте миграцию для перемещения свободных контейнеров. Свободные контейнеры — это контейнеры, которые не содержат диски виртуальных машин.
Миграция объединяет все большие двоичные объекты контейнера в новом общем ресурсе.
Если контейнер вошел в режим переполнения и разместил большие двоичные объекты на других томах, новая общая папка должна иметь достаточную емкость для хранения всех больших двоичных объектов, принадлежащих переносимому контейнеру, включая переполненные большие двоичные объекты.
Командлет PowerShell
Get-AzsStorageContainerопределяет только пространство, используемое в изначальном томе контейнера. Командлет не определяет пространство, используемое большими двоичными объектами, которые переполнены на дополнительные тома. Поэтому полный размер контейнера может быть не очевиден. Консолидация контейнера в новом общем ресурсе может вызвать состояние переполнения ресурса, и данные будут помещаться в дополнительные общие ресурсы. В результате может потребоваться повторно перераспределить общие ресурсы.Если разрешения на использование определенных групп ресурсов отсутствуют и вы не можете использовать PowerShell, чтобы запросить дополнительные тома для избытка данных, обратитесь к владельцу этих групп ресурсов и контейнеров, чтобы оценить общий объем данных для переноса, прежде чем переносить их.
Важно!
Перенос больших двоичных объектов для контейнера является автономной операцией, требующей использования PowerShell. До завершения переноса все большие двоичные объекты для переносимого контейнера остаются вне сети и не могут использоваться. Также не следует обновлять Azure Stack Hub до завершения всей текущей миграции.
Перенос контейнеров с помощью PowerShell
Проверьте, установлена и настроена ли среда Azure PowerShell. Дополнительные сведения см. в разделе Управление ресурсами Azure с помощью Azure PowerShell.
Изучите контейнер, чтобы понять, какие данные находятся в общем ресурсе, который планируется перенести. Чтобы определить наиболее подходящие для переноса контейнеры в томе, используйте командлет
Get-AzsStorageContainer.$farm_name = (Get-AzsStorageFarm)[0].name $shares = Get-AzsStorageShare -FarmName $farm_name $containers = Get-AzsStorageContainer -ShareName $shares[0].ShareName -FarmName $farm_nameЗатем проверьте значение $containers:
$containers
Определите наиболее подходящие общие ресурсы назначения для хранения контейнера, который переносится.
$destinationshare = ($shares | Sort-Object FreeCapacity -Descending)[0]Затем проверьте значение $destinationshares:
$destinationshares
Запустите перенос контейнера. Перенос выполняется асинхронно. Если вы начинаете миграцию другого контейнера до завершения первой миграции, используйте идентификатор задания для отслеживания состояния каждого из них.
$job_id = Start-AzsStorageContainerMigration -StorageAccountName $containers[0].Accountname -ContainerName $containers[0].Containername -ShareName $containers[0].Sharename -DestinationShareUncPath $destinationshares[0].UncPath -FarmName $farm_nameЗатем проверьте значение $jobId. В следующем примере замените d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0 идентификатором задания, которое нужно просмотреть:
$jobId d62f8f7a-8b46-4f59-a8aa-5db96db4ebb0Используйте идентификатор задания, чтобы проверить состояние задания переноса. По завершении переноса параметру MigrationStatus присваивается значение Complete.
Get-AzsStorageContainerMigrationStatus -JobId $job_id -FarmName $farm_name
Вы можете отменить выполняющиеся задания переноса. Отмененные задания переноса обрабатываются асинхронно. Отслеживать отмену можно с помощью $jobid.
Stop-AzsStorageContainerMigration -JobId $job_id -FarmName $farm_name
Вы можете выполнить команду из шага 6 еще раз, пока состояние задания переноса не получит значение Canceled (Отменено).

Перемещение дисков виртуальной машины
Этот параметр применяется только к интегрированным системам Azure Stack Hub.
Самый крайний способ управления пространством заключается в перемещении дисков виртуальной машины. Так как перемещение вложенного контейнера (содержащего диск виртуальной машины) является сложной задачей, обратитесь в службу поддержки Майкрософт, чтобы выполнить это действие.
Миграция управляемого диска между томами
Этот параметр применяется только к интегрированным системам Azure Stack Hub.
Из-за шаблонов использования арендаторов некоторые тома арендаторов используют больше пространства, чем другие. Результатом может быть том, который выполняется с низким пространством до относительно неиспользуемых других томов.
Вы можете освободить пространство в томе с большой нагрузкой, вручную перенеся некоторые управляемые диски в другой том. Несколько управляемых дисков можно перенести в один том, где достаточно пространства, чтобы хранить их все. Для перемещения автономных управляемых дисков используйте миграцию. Автономные управляемые диски — это диски, которые не подключены к виртуальной машине.
Важно!
Миграция управляемых дисков — это автономная операция, для выполнения которой нужно использовать PowerShell. Перед запуском задания миграции необходимо освободить виртуальные машины владельца диска-кандидата или отключить их для миграции с виртуальной машины владельца (после завершения задания миграции можно перераспределить виртуальные машины или повторно подключить диски). Пока миграция не завершится, все управляемые диски, которые вы переносите, должны оставаться зарезервированными или автономными и не могут использоваться, в противном случае задание миграции прервется, а все неигрированные диски по-прежнему находятся на исходных томах. Также не следует обновлять Azure Stack Hub до завершения всей текущей миграции.
Миграция управляемых дисков с помощью PowerShell
Проверьте, установлена и настроена ли среда Azure PowerShell. Инструкции по настройке среды PowerShell приведены в статье Установка PowerShell для Azure Stack Hub. Сведения о том, как войти в Azure Stack Hub, см. в статье Подключение к Azure Stack с помощью PowerShell.
Проверьте управляемые диски, чтобы понять, какие из них находятся в томе, который вы планируете перенести. Чтобы определить наиболее подходящие для переноса диски в томе, используйте командлет
Get-AzsDisk.$ScaleUnit = (Get-AzsScaleUnit)[0] $StorageSubSystem = (Get-AzsStorageSubSystem -ScaleUnit $ScaleUnit.Name)[0] $Volumes = (Get-AzsVolume -ScaleUnit $ScaleUnit.Name -StorageSubSystem $StorageSubSystem.Name | Where-Object {$_.VolumeLabel -Like "ObjStore_*"}) $SourceVolume = ($Volumes | Sort-Object RemainingCapacityGB)[0] $VolumeName = $SourceVolume.Name.Split("/")[2] $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1) $MigrationSource = "\\SU1FileServer."+$VolumeName+"\SU1_"+$SourceVolume.VolumeLabel $Disks = Get-AzsDisk -Status OfflineMigration -SharePath $MigrationSource | Select-Object -First 10Затем проверьте значение $disks.
$Disks
Определите наиболее подходящие целевые тома для хранения переносимых дисков.
$DestinationVolume = ($Volumes | Sort-Object RemainingCapacityGB -Descending)[0] $VolumeName = $DestinationVolume.Name.Split("/")[2] $VolumeName = $VolumeName.Substring($VolumeName.IndexOf(".")+1) $MigrationTarget = "\\SU1FileServer."+$VolumeName+"\SU1_"+$DestinationVolume.VolumeLabelНачните миграцию управляемых дисков. Перенос выполняется асинхронно. Если вы начнете миграцию других дисков до завершения первой миграции, используйте имя задания для отслеживания состояния каждого из них.
$jobName = "MigratingDisk" Start-AzsDiskMigrationJob -Disks $Disks -TargetShare $MigrationTarget -Name $jobNameИспользуйте имя задания, чтобы проверить состояние задания миграции. По завершении миграции диска состояние MigrationStatus отобразится как Complete.
$job = Get-AzsDiskMigrationJob -Name $jobName
Если в одном задании миграции выполняется миграция нескольких управляемых дисков, можно также проверить подзадачи задания.
$job.Subtasks
Вы можете отменить выполняющиеся задания переноса. Отмененные задания переноса обрабатываются асинхронно. Вы можете отслеживать отмену по имени задания, пока состояние задания миграции не отобразится как Canceled.
Stop-AzsDiskMigrationJob -Name $jobName
Распределение неуправляемых дисков
Этот параметр применяется только к интегрированным системам Azure Stack Hub.
Самый агрессивный способ управления пространством предусматривает перемещение неуправляемых дисков. Если клиент добавляет число неуправляемых дисков в один контейнер, общая используемая емкость контейнера может превысить доступную емкость тома, который содержит его до того, как контейнер входит в режим переполнения . Чтобы избежать ситуации, когда из-за одного контейнера пространство в томе заканчивается, арендатор может распределить существующие неуправляемые диски из одного контейнера в другие контейнеры. Так как распределение подключенного контейнера (содержащего диск виртуальной машины) является сложной задачей, обратитесь в службу поддержки Майкрософт, чтобы выполнить это действие.
Память, доступная для виртуальных машин
Azure Stack Hub создается как гиперконвергентный кластер вычислительных ресурсов и хранилища. Конвергенция позволяет совместно использовать оборудование, которое называется единицей масштабирования. В Azure Stack Hub единицы масштабирования обеспечивают доступность и масштабируемость ресурсов. Единица масштабирования состоит из набора серверов Azure Stack Hub, называемых узлами или узлами. Программное обеспечение инфраструктуры размещается в наборе виртуальных машин на тех же физических серверах, что и виртуальные машины клиента. Управление всеми виртуальными машинами Azure Stack Hub осуществляется с помощью технологий кластеризации серверов Windows единиц масштабирования и отдельных экземпляров Hyper-V. Использование единиц масштабирования упрощает получение и администрирование ресурсов Azure Stack Hub. Единица масштабирования также обеспечивает перемещение и масштабируемость всех служб в Azure Stack Hub, клиенте и инфраструктуре.
Вы можете просмотреть круговую диаграмму на портале администрирования, где отображается свободная и используемая память в Azure Stack Hub, как показано ниже:

Следующие компоненты используют память в используемом разделе круговой диаграммы:
- Использование ос узла или резервирование Это память, используемая операционной системой (ОС) на узле, таблицами страниц виртуальной памяти, процессами, выполняющимися в ОС узла, и кэшем прямой памяти пробелов. Так как это значение зависит от памяти, используемой другими работающими на узле процессами Hyper-V, оно может меняться.
- Службы инфраструктуры Это виртуальные машины инфраструктуры, составляющие Azure Stack Hub. Это влечет за собой приблизительно 31 виртуальные машины, которые занимают 242 ГБ + (4 ГБ x число узлов) памяти. Объем памяти, используемый компонентом служб инфраструктуры, может измениться, так как мы работаем над улучшением масштабируемости и устойчивости служб инфраструктуры.
- Резерв устойчивости Azure Stack Hub резервирует часть памяти, чтобы обеспечить доступность клиента во время сбоя одного узла, а также во время исправления и обновления, чтобы обеспечить успешную динамическую миграцию виртуальных машин.
- Виртуальные машины клиента Это виртуальные машины, созданные пользователями Azure Stack Hub. Наряду с работающими виртуальными машинами память также потребляют виртуальные машины, которые работают в структуре. Это означает, что виртуальные машины, которые находятся в состоянии Создание или Сбой, либо работа которых завершена из гостевой ОС, также будут потреблять памяти. Однако виртуальные машины, которые были освобождены с помощью варианта прекращения освобождения, с пользовательского портала Azure Stack Hub, PowerShell и Azure CLI не будут использовать память из Azure Stack Hub.
- Поставщики ресурсов надстройки Виртуальные машины, развернутые для поставщиков ресурсов надстройки, таких как SQL, MySQL и Служба приложений.

Доступная память для размещения виртуальной машины
Как оператор облака для Azure Stack Hub не существует автоматизированного способа проверки выделенной памяти для каждой виртуальной машины. Вы можете получить доступ к виртуальным машинам пользователей и вычислить выделенную память вручную. Однако выделенная память не будет отражать реальное использование. Это значение может быть меньше выделенного значения.
Для тренировки доступной памяти для виртуальных машин используется следующая формула:
Доступная память для размещения виртуальной машины = Total Host Memory--Resiliency Reserve--Memory used by running tenant VMs - Azure Stack Hub Infrastructure Overhead
Резерв устойчивости = H + R * ((N-1) * H) + V * (N-2)
Где:
H = размер памяти с одним узлом
N = размер единицы масштабирования (количество узлов)
R = резервная или память операционной системы, используемая ОС узла, которая в этой формуле имеет значение 15.
V = самая большая виртуальная машина (мудрая память) в единице масштабирования
Затраты на инфраструктуру Azure Stack Hub = 242 ГБ + (4 ГБ x # узлов). Эти учетные записи для примерно 31 виртуальных машин используются для размещения инфраструктуры Azure Stack Hub.
Память, используемая ОС узла = 15 процентов (0,15) памяти узла. Резервное значение операционной системы — это оценка и зависит от физической емкости памяти узла и общих затрат на операционную систему.
Значение V, крупнейшая виртуальная машина в единице масштабирования, динамически основана на развернутой виртуальной машине самого большого клиента. Например, это значение может быть равно 7 ГБ, 112 ГБ или соответствовать другому размеру памяти виртуальной машины, поддерживаемому решением Azure Stack Hub. Мы выбрали размер самой крупной виртуальной машины, чтобы иметь достаточно памяти, чтобы динамическая миграция этой крупной виртуальной машины не завершилась ошибкой. Изменение самой большой виртуальной машины в структуре Azure Stack приведет к увеличению резерва для устойчивости, а также увеличению объема памяти самой виртуальной машины.
Например, с единицей масштабирования 12 узлов:
| Сведения о метки | Значения |
|---|---|
| sts (N) | 12 |
| Память на узел (H) | 384 |
| Общая память единицы масштабирования | 4608 |
| Резерв ОС (R) | 15 % |
| Самая большая виртуальная машина (V) | 112 |
| Резерв устойчивости = | H + R * ((N-1) * H) + V * (N-2) |
| Резерв устойчивости = | 2137.6 |
Таким образом, используя приведенные выше сведения, можно вычислить, что Azure Stack с 12 узлами размером 384 ГБ на узел (всего 4608 ГБ) имеет 2137 ГБ, зарезервированных для обеспечения устойчивости, если самая большая виртуальная машина имеет 112 ГБ памяти.
Когда вы обратитесь к колонке емкости для физической памяти, как показано ниже, используемое значение включает резерв устойчивости. Граф находится из четырех узлов экземпляра Azure Stack Hub.

При планировании емкости Для Azure Stack Hub учитывайте эти рекомендации. Кроме того, можно использовать планировщик емкости Azure Stack Hub.
Дальнейшие действия
Дополнительные сведения о предложениях виртуальных машин для пользователей см. в статье Управление емкостью хранилища для Azure Stack Hub.


