не удалось импортировать виртуальную машину как AMI из-за ClientError: ошибка проверки диска [Ошибка синтаксического анализа файла OVF]

#amazon-web-services #amazon-ec2 #virtual-machine #vmware #vcenter

#amazon-web-services #amazon-ec2 #виртуальная машина #vmware #vcenter

Вопрос:

Мне нужно запустить vsca 6.7 (для небольшого проекта, касающегося самого vCenter, и на самом деле не требуется устанавливать на него какую-либо виртуальную машину).

Я попытался установить VCSA6.7 в качестве виртуальной машины на своей VMworkstation, но на моем домашнем компьютере не хватает ресурсов, необходимых для его правильной работы, и всякий раз, когда я пытаюсь его запустить, мой компьютер выходит из строя.(Я следовал этим инструкциям для установки vcsa 6.7 в моей VMworksation:https://masteringvmware.com/how-to-install-vcsa-6-7-in-vmware-workstation-step-by-step /)

На этом этапе я решил попробовать установить VSCA на AWS в качестве виртуальной машины и импортировать файл OVA в качестве AMI. Я следовал инструкциям здесь:https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html , https://aws.amazon.com/premiumsupport/knowledge-center/import-server-ec2-instance / и удалось загрузить файл OVA, но не удалось импортировать его как виртуальную машину из-за ошибки: «ClientError: ошибка проверки диска [Ошибка синтаксического анализа файла OVF: найден диск в разделе дисков OVF, но без соответствующей записи в ссылках.]».

Возможно ли импортировать файл VCSA6.7 OVA как AMI? Если да, то какие шаги я пропускаю?

Более подробная информация о шагах, которые я прошел:

  • В моей учетной записи AWS была создана корзина s3.
  • Успешно установлен и настроен AWSCLI.
  • Создана роль IAM с именем vmimport.
  • Прикрепил политику IAM с именем «vmimport» к роли IAM для предоставления разрешений.
  • Изображение было успешно загружено в корзину s3.
  • использовалась команда EC2 import-image со следующими параметрами: aws ec2 import-image --description "vcsa6.7" --disk-containers file://"...containers.json" . команда не возвращает ошибку (и допустимый вывод)
  • при запуске describe-import-image-tasks с параметром: aws ec2 describe-import-image-tasks --import-task-ids import-ami-xxxxxxxxxxx вывод:
     "ImportImageTasks": [
        {
            "Description": "vcsa6.7",
            "ImportTaskId": "import-ami-xxxxxxxxxxx",
            "SnapshotDetails": [],
            "Status": "deleted",
            "StatusMessage": "ClientError: Disk validation failed [OVF file parsing error: Found a disk  in DiskSection of OVF but without corresponding entry in References.]",
            "Tags": []
        }
    ]
}
  

(идентификатор задачи подвергнут цензуре намеренно)

Ответ №1:

Я столкнулся с этим на другом ova, но получил то же самое «Ошибка ClientError: ошибка проверки диска [Ошибка синтаксического анализа файла OVF: найден диск в разделе дисков OVF, но без соответствующей записи в ссылках.]»..

Попробуйте это:

  1. Разархивируйте файл .ova, чтобы получить доступ к файлам внутри (tar xf <filename.ova>)
  2. Измените .ovf и удалите все «Диски» в «разделе дисков», которые вам не нужны. Это параметры при развертывании в VMware — вы получаете приятный интерактивный сеанс в VMware для выбора размера диска, но в мире AWS это не имеет смысла. «Диск» в «DiskSection» должен указывать на «Файл» в вашем разделе «Ссылки». Я не открывал VCSA ova в течение нескольких лет, но я помню, что раньше они использовали один диск. Поэтому измените свой выбор здесь, в XML-файле .ovf, и это размер диска, который будет иметь ваш AMI после преобразования.
  3. Используйте sha1sum для пересчета контрольной суммы в вашем файле .ovf, который вы только что изменили
  4. Замените контрольную сумму .ovf в файле .mf контрольной суммой, которую вы только что сгенерировали
  5. Перенесите все ваши файлы в новый .ova (tar cf Newfile.ova *.vmdk *.mf *.ovf) — AWS, похоже, не заботился о формате tar и принял параметры tar по умолчанию для моей OSx.
  6. Отправьте Newfile.ova на S3
  7. Обновите containers.json с помощью Newfile.ova