2016-10-12 2 views
1

Резюме
Я подобрал поддержку довольно старого веб-сайта, в котором хранится куча капель в Azure. То, что я хотел бы сделать, - это дублировать все мои капли из живых в тестовую среду, чтобы я мог использовать их, не затрагивая пользователей.Как клонировать контейнер с контейнером и его содержимое

Архитектура
Сайт представляет собой смесь VB WebForms и MVC, смежно с Azure Blob службы (например https://x.blob.core.windows.net/LiveBlobs).

Испытательная площадка зеркала живой установки, за исключением того, что указывает на другой двоичных объектов контейнера в счет же хранения (например https://x.blob.core.windows.net/TestBlobs)

Вопросы

  • Могу ли я скопировать все сгустки из жить, чтобы проверить, не загружая их? Им нужно будет поддерживать одни и те же имена.
  • Как мне решить, что это будет стоить для этого? Живое пятно составляет примерно 130 ГБ, но нужно просто скопировать данные в одном центре данных прямо?

Вещей я исследовал
Я провел некоторое время в поисках ответа, но то, что я нашел сделки с copying between storage accounts или copying single blobs.

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

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

ответ

2

Могу ли я скопировать все капли из живых в тестовые без скачивания ? Им нужно будет поддерживать одни и те же имена.

Да, вы можете. Копирование blob - это операция asynchronous server-side. Вы просто скажите blob-сервису, чтобы капли скопировали & детали адресата, и он выполнит эту работу за вас. Не нужно сначала загружать и загружать их в пункт назначения.

Как я могу решить, что это будет стоить для этого? Живое хранилище blob составляет примерно 130 ГБ, но оно должно просто копировать данные в пределах того же центра обработки данных вправо?

Так есть 3 вещи, которые необходимо учитывать, когда речь идет о калькуляции: 1) Storage costs, 2) transaction costs и 3) data egress costs.

Поскольку скопированные капли будут храниться где-то, они будут потреблять хранилище, и вы понесете расходы на хранение.

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

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

Вы можете использовать Azure Storage Pricing Calculator, чтобы получить представление о том, сколько он будет стоить.

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

Blobs всегда копируются один за другим. Копирование между учетными записями в хранилище всегда выполняется на стороне асинхронного сервера, поэтому вы не можете предсказать, сколько времени потребуется для завершения операции копирования, но по моему опыту это довольно быстро. Если вы хотите контролировать, когда капли скопированы, вам необходимо сначала загрузить их и загрузить их. AzCopy supports this mode as well.

Что касается затрат, я думаю, что это относительный термин, когда вы говорите, что это будет стоить дорого. Но в целом Azure Storage очень дешево, а 130 ГБ - не очень много данных.

+0

Спасибо за ответ Gaurav, это действительно полезно :) – Joey

Смежные вопросы