Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Image Management Service/ Referência de API/ Exemplos/ Criação de uma imagem a partir de um arquivo ISO
Atualizado em 2022-11-16 GMT+08:00

Criação de uma imagem a partir de um arquivo ISO

Cenários

Um arquivo ISO é uma imagem de disco de um disco óptico. Um grande número de arquivos de dados pode ser compactado em um único arquivo ISO. Da mesma forma, para acessar os arquivos armazenados em uma ISO, o arquivo ISO precisa ser descompactado. Por exemplo, você pode usar um CD-ROM virtual para abrir um arquivo ISO ou gravar o arquivo ISO em um CD ou DVD e, em seguida, usar o CD-ROM para ler a imagem.

Esta seção descreve como usar as API para criar uma imagem privada a partir de um arquivo ISO.

As API envolvidas

If you use a token for authentication, you must obtain the token and add X-Auth-Token to the request header of the IMS API when making an API call.

  • IAM API used to obtain the token

    Formato URI: POST https://IAM endpoint/v3/auth/tokens

  • API do IMS usada para criar uma imagem privada usando um arquivo de imagem carregado no bucket do OBS

    Formato URI: POST https://IMS endpoint/v2/cloudimages/action

  • API ECS usada para criar um ECS (pagar-por-uso)

    Formato URI: POST https://ECS endpoint/v1/project_id/cloudservers

  • API IMS usada para criar uma imagem de disco do sistema a partir de um disco de dados

    Formato URI: POST https://IMS endpoint/v2/cloudimages/action

Procedimento

  1. Obter o token referindo-se a Autenticação.
  2. Crie uma imagem privada usando um arquivo de imagem ISO carregado no bucket do OBS.
    1. Enviar POST https://IMS endpoint/v2/cloudimages/action.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Defina os seguintes parâmetros no corpo da solicitação:

      Para obter detalhes sobre os parâmetros, consulte Criação de uma imagem.

      {
          "name": "ims_test_file",  //Image name (mandatory, string)
          "description": "Image creation using an image file uploaded to the OBS bucket",  //Image description (optional, string)
          "image_url": "ims-image:centos70.iso",  //Image file address (mandatory, string)
          "os_type": "Linux", //OS type (optional, string)
          "os_version": "CentOS 7.0 64bit",  //OS version (mandatory, string)
          "type": "IsoImage", //Image type (mandatory, string)
          "min_disk": 40,  //Minimum system disk space (mandatory, integer)
          "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}]  //Image tags (optional, array of objects)
      }
    4. Obtenha o ID da imagem consultando os detalhes do trabalho com base no job_id retornado. Para mais detalhes, consulte Consulta dos trabalhos assíncronos.
  3. Crie um ECS temporário a partir da imagem ISO.
    • Você pode selecionar apenas uma variação de computação geral com 2 vCPUs, 4 GB ou mais de memória e tipo de virtualização KVM.
    • Você precisa criar um disco do sistema e um disco de dados para o ECS. O SO será instalado no disco de dados por padrão.
    1. Enviar POST https://ECS endpoint/v1/project_id/cloudservers.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Defina os seguintes parâmetros no corpo da solicitação:

      Os seguintes parâmetros são todos obrigatórios. Para obter detalhes sobre os parâmetros, consulte Criação de um ECS (Pagar-por-uso).

      {
          "server": {
              "imageRef": "fac42d61-ea1e-4271-94ba-6543a852d2c6", //Image ID
              "flavorRef": "rc6.large.2_manage",
              "name": "instance-test",
              "vpcid": "18ec99f0-7159-4d7b-ad27-f32315d5af61",
              "nics": [{
                  "subnet_id": "81a4ecb0-0451-4c60-8373-8b923238ec40"
              }],
              "root_volume": {
                  "volumetype": "SATA",
                  "size": "40"
              },
              "data_volumes": [{
                  "volumetype": "SATA",
                  "size": "40"
              }],
              "availability_zone": "az-1a",
              "metadata": {
                  "virtual_env_type": "IsoImage"
              },
              "extendparam": {
                  "diskPrior": "true"
              }
          }
      }
    4. Obtenha o ID do ECS consultando os detalhes do trabalho com base no job_id retornado. Para detalhes, consulte Consulta do status da execução da tarefa.
    5. Consulte os detalhes do ECS com base no ID do ECS para obter o ID do disco de dados (volume_id) necessário em 4. Para obter detalhes, consulte Consulta dos detalhes sobre um ECS.
  4. Use o ECS temporário para criar uma imagem privada padrão.
    1. Enviar POST https://IMS endpoint/v2/cloudimages/action.
    2. Adicione X-Auth-Token ao cabeçalho da solicitação.
    3. Defina os seguintes parâmetros no corpo da solicitação:

      Para obter detalhes sobre os parâmetros, consulte Criação de uma imagem.

      {
          "name": "ims_test",  //Image name (a mandatory string)
          "description": "Creating a system disk image from a data disk", //Image description (optional, string)
          "volume_id": "877a2cda-ba63-4e1e-b95f-e67e48b6129a", //Data disk ID (mandatory, string)
          "type": "ECS", //Image type (mandatory, string)
          "os_version": "CentOS 7.0 64bit",  //OS version (mandatory, string)
          "image_tags": [{"key":"key2","value":"value2"},{"key":"key1","value":"value1"}]  //Image tags (optional, array of objects)
      }
    4. Obtenha o ID da imagem consultando os detalhes do trabalho com base no job_id retornado. Para mais detalhes, consulte Consulta dos trabalhos assíncronos.