Назад | Перейти на главную страницу

Как копировать шаблоны виртуальных машин между центрами обработки данных vSphere?

Предпосылки / Архитектура окружающей среды:

Моя текущая среда для $corp_overlords$ настроен по схеме «концентратор и спица» с технологически хорошо оснащенным концентратором домашнего офиса (SAN, кластер Bladecenter / Bladesystem ESXi, оптоволоконное подключение к Интернету и т. д.), подключенным к ряду периферийных устройств удаленного сайта, которые находятся в не очень хорошем состоянии , и обычно содержат один хост-сервер ESXi и подключаются к концентратору домашнего офиса через T1. Весь трафик, исходящий с любого удаленного сайта, направляется обратно в домашний офис по «сети MPLS» (которая на самом деле является просто T1, соединяющим удаленный сайт с домашним офисом).

В домашнем офисе в сети SAN у нас есть несколько шаблонов виртуальных машин, которые я создал для развертывания виртуальных машин. Они хранятся в томе NFS, который является хранилищем данных vSphere, подключенным к объекту центра обработки данных домашнего офиса в vSphere.

У каждого удаленного сайта есть соответствующий объект центра обработки данных vSphere, содержащий объект хранилища данных, подключенный к локально подключенному хранилищу на хост-сервере ESXi, физически расположенном на удаленном сайте.

Поскольку эти шаблоны виртуальных машин существуют на томе NFS, они занимают ~ 40 ГиБ (тонкое предоставление). Как файлы в NTFS (или Linux FS) они занимают ~ 100 ГиБ.

Вопрос:

Как мне скопировать эти 40 гигабайт данных с тонким предоставлением (которые занимают 100 гигабайт пространства файловой системы) между моими сайтами?

У меня есть на это примерно 5 дней, и я не могу (заметно) вмешиваться в «нормальный сетевой трафик».

Как насчет использования ovftool для копирования шаблонов напрямую между хостами?

Раньше я использовал это для виртуальных машин, и он работает очень хорошо. Не уверен, что это также работает для шаблонов, но если нет, то вы можете просто временно скрыть шаблоны на виртуальных машинах для их копирования.

Инструкции с примером здесь.

Вы также можете использовать ovftool для преобразования ваших шаблонов в .ovf пакеты, которые должны быть очень компактными, а затем передавать пакеты между центрами обработки данных с помощью BITS, FTP или SCP или любого другого протокола, который вы хотите.

Параметры:

На мой взгляд, у меня есть три возможных подхода, хотя я очень надеюсь, что мне не хватает лучшего, на который кто-то может указать мне. (В идеале я должен перемещать только 40 ГиБ актуальный data, а также в возобновляемом, "фоновом" методе или методе с ограничением скорости.)

  1. Скопируйте файлы между хранилищами данных через клиент vSphere.
    • Преимущество: перемещается только ~ 40 ГиБ, а не ~ 100 ГиБ.
    • Недостаток: все остальное - не возобновляется, не фон / скорость, интерфейс Сосет.

  2. Скопируйте файл между гостями Windows с помощью BITS
    • Преимущество: возобновляемый, фоновый перенос.
    • Недостаток: перемещение ~ 60 ГиБ данных, которые на самом деле не существуют.
    • Бонус: использует PowerShell. <3
    • Двойной секрет Испытательный срок Бонус: удаленное взаимодействие PowerShell позволяет сделать это одной командой.

  3. Скопируйте файл между хостами ESXi через SCP
    • Преимущество: ограниченная скорость и возможность возобновления.
    • Недостаток: перемещение ~ 60 ГиБ данных, которые на самом деле не существуют. Не фоновый перенос.
    • Бонус: борода на шее. Дополнительная борода на шее для возобновляемости.

  4. Лучший вариант предлагается при сбое сервера.
    • Преимущество: возобновляемая фоновая передача с ограничением скорости, которая перемещает только ~ 40 ГиБ существующих данных.
    • Недостаток: присуждение награды стоит респ.
    • Бонус: узнайте что-то новое, попробуйте сыграть в ServerFault на работе.

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

FedEx или UPS, с изюминкой ...

Я знаю, что используются серверы HP ProLiant и Dell PowerEdge. VMware не поддерживает съемные устройства (например, USB) как целевые хранилища данных. Однако при использовании одного логического диска RAID 0 (на языке HP) на основном сайте жестяная банка работай. Вы можете добавлять и удалять локально подключенные диски в системах HP и Dell и использовать их как средство для переноса хранилищ данных.

Будучи шаблонами, вы можете перемещать / копировать их на свой локальный диск через vCenter. Отправьте диски. Вставьте в принимающий автономный сервер. Массив и хранилище данных будут распознаны при повторном сканировании системы хранения. Скопируйте данные. Прибыль.

Я также использовал это как средство для заполнения копий для репликации vSphere, поскольку 24-часовыми дельтами намного легче управлять, чем несколькими полными синхронизациями.

Вот вам несколько интересная идея. Это не поможет вам с начальным заполнением, но мне интересно, поможет ли вам использование чего-то вроде бесплатного продукта Crashplan с вашими шаблонами.

https://www.code42.com/store/

Он выполняет дедупликацию и блокировку дифференциалов уровней, поэтому вы можете установить его на одном локальном сервере в штаб-квартире в качестве «сеялки» и на каждом распределенном сервере (в виртуальной машине, я думаю) в качестве «приемника». Настройте резервные копии так, чтобы они включали только папку, в которой будут храниться шаблоны на сервере HQ. Он также может выполнять резервное копирование в несколько мест назначения (например, в каждое «луче») https://support.code42.com/CrashPlan/Latest/Getting_Started/Choosing_Destinations

Действия (после настройки приложения Crashplan на каждой стороне) будут работать примерно так:

  1. Скопируйте шаблоны из хранилищ данных на «начальный» сервер в каталог на нем, который отслеживает Crashplan. В гигабитной сети это может занять немного времени, но не должно быть так уж плохо.
  2. Crashplan должен отслеживать и начинать резервное копирование файлов на периферийные устройства / получатели. Очевидно, это займет некоторое время.
  3. После первоначального заполнения / резервного копирования, когда будущие шаблоны изменятся, скопируйте их из фактического хранилища данных в каталог исходного сервера, который отслеживает Crashplan, перезаписывая исходную копию шаблона. Затем Crashplan выполнит дедупликацию и только реплицирует изменения уровня блока на периферийные устройства.

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

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

  • Используйте WinRAR или 7Zip, чтобы разбить шаблон на фрагменты размером 1–2 ГБ.
  • Создайте виртуальную машину на сервере ESXi на каждом удаленном сайте. Требуется минимум ресурсов, это всего лишь плацдарм.
  • Подключите VMDK к каждой из этих виртуальных машин, достаточно большой для хранения передаваемых данных.
  • Установите ОС и инструмент переноса по вашему выбору (для этого я использую SFTP-сервер).
  • Загрузите шаблон RAR на промежуточную виртуальную машину.
  • Распакуйте шаблон RAR'd.
  • Используйте vSphere или веб-интерфейс, чтобы загрузить шаблон с промежуточной виртуальной машины в хранилище данных ESXI. (это будет БЫСТРЫЙ перевод).

Плюсы:

Разбивая шаблон на более мелкие части, вы снижаете риск повреждения данных во время передачи. (Если файл поврежден, вам нужно повторно загрузить только этот фрагмент RAR, а не весь файл размером 40 ГБ.)

Вы передаете только 40 ГБ (возможно, меньше, поскольку RAR будет сжиматься дальше).

Вы можете выбрать утилит для передачи, когда выполняете перенос в выбранной ОС.

Минусы:

Вам необходимо создать промежуточную виртуальную машину. Я делаю это проще, имея предварительно созданный шаблон размером <1 ГБ с простой установкой ОС + сервером SFTP.

Сжатие / распаковка шаблона 40 ГБ займет ~ 4-6 часов в зависимости от ресурсов вашего процессора.

Я сталкивался с этой же проблемой довольно много раз, и примерно в половине случаев я обнаружил, что мне гораздо лучше просто создавать новые машины в удаленном месте. Это особенно верно для того, что я называю «шаблонными» машинами. Моя версия - довольно простая машина. Ваша версия может немного отличаться.