Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:Use uma imagem do Alibaba Cloud Linux em uma máquina virtual local

Última atualização: Jun 29, 2026

O Alibaba Cloud Linux fornece imagens VHD e QCOW2 com cloud-init integrado para máquinas virtuais baseadas em kernel (KVMs) locais. Este tópico descreve como usar imagens do Alibaba Cloud Linux 2 ou 3 em KVMs locais.

Informações preliminares

Este tópico usa o Anolis OS como sistema operacional host e a fonte de dados NoCloud para gerar arquivos de configuração do cloud-init. Esses arquivos são anexados à KVM como discos virtuais para inicializar as configurações do sistema durante a inicialização. Baixe o Anolis OS na página de download do Anolis OS. Pressupõe-se familiaridade com o gerenciamento de KVM.

Etapa 1: Baixar uma imagem do Alibaba Cloud Linux

Baixe uma imagem VHD ou QCOW2 em uma das seguintes URLs:

Etapa 2: Obter a imagem de inicialização seed.img

As imagens do Alibaba Cloud Linux exigem uma imagem de inicialização seed.img contendo configurações de rede, conta e repositório yum para o cloud-init.

Importante
  • A imagem de inicialização geralmente se chama seed.img. Você pode renomeá-la, mas recomendamos manter o nome padrão.

  • A imagem de inicialização seed.img contém apenas arquivos de configuração do cloud-init, não os arquivos de sistema do Alibaba Cloud Linux.

Use um dos métodos a seguir para obter a imagem de inicialização seed.img:

  • Método 1: Baixar a imagem de inicialização seed.img

    Baixe a imagem de inicialização seed.img em uma das seguintes URLs:

    Nota

    A imagem pré-construída possui configurações fixas que não podem ser modificadas. Verifique se as configurações atendem aos seus requisitos antes de usá-la.

  • Método 2: Usar a fonte de dados NoCloud para gerar manualmente a imagem de inicialização seed.img

    Nota

    NoCloud é uma fonte de dados do cloud-init que fornece arquivos de configuração em ambientes locais para leitura pela máquina virtual durante a inicialização.

    1. Crie dois arquivos de configuração chamados meta-data e user-data em um diretório local.

      Esses arquivos fazem parte da imagem de inicialização seed.img. Durante a inicialização, o cloud-init lê esses arquivos e configura a máquina virtual adequadamente.

      1. Crie um diretório chamado seed e acesse-o.

        sudo mkdir seed
        sudo cd seed/
      2. Crie um arquivo de configuração chamado meta-data.

        Exemplo de conteúdo. O nome da máquina virtual é alinux-host. Altere conforme necessário.

        #cloud-config
        #vim:syntax=yaml
        
        local-hostname: alinux-host                 
      3. Crie um arquivo de configuração chamado user-data.

        Exemplo de conteúdo. Modifique conforme necessário. Se usar este exemplo diretamente, certifique-se de compreender a configuração.

        • Cria uma conta de usuário alinux com a senha aliyun e privilégios de sudo.

        • Adiciona o repositório yum do Alibaba Cloud Linux.

          Alibaba Cloud Linux 3

          #cloud-config
          #vim:syntax=yaml
          
          # Create an account named alinux and grant the account the permissions to run sudo commands. 
          users:
            - default
            - name: alinux
              sudo: ['ALL=(ALL)   ALL']
              plain_text_passwd: aliyun
              lock_passwd: false
          
          # Create a YUM repository for Alibaba Cloud Linux 3. 
          yum_repos:
              alinux3-module:
                  name: alinux3-module
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/module/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-updates:
                  name: alinux3-updates
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-plus:
                  name: alinux3-plus
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/
                  enabled: 1
                  gpgcheck: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-powertools:
                  name: alinux3-powertools
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/powertools/$basearch/
                  gpgcheck: 1
                  enabled: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3
              alinux3-os:
                  name: alinux3-os
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/
                  gpgcheck: 1
                  enabled: 1
                  gpgkey: https://mirrors.aliyun.com/alinux/$releasever/RPM-GPG-KEY-ALINUX-3

          Alibaba Cloud Linux 2

          #cloud-config
          #vim:syntax=yaml
          
          # Create an account named alinux and grant the account the permissions to run sudo commands. 
          users:
            - default
            - name: alinux
              sudo: ['ALL=(ALL)   ALL']
              plain_text_passwd: aliyun
              lock_passwd: false
          
          # Create a YUM repository for Alibaba Cloud Linux 2. 
          yum_repos:
              base:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/os/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Base - mirrors.aliyun.com
              updates:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/updates/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Updates - mirrors.aliyun.com
              extras:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/extras/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Extras - mirrors.aliyun.com
              plus:
                  baseurl: https://mirrors.aliyun.com/alinux/$releasever/plus/$basearch/
                  enabled: true
                  gpgcheck: true
                  gpgkey: https://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN
                  name: Aliyun Linux - $releasever - Plus - mirrors.aliyun.com
    2. (Opcional) Se usar o Alibaba Cloud Linux 3, ative o repositório epel-testing.

      1. Abra o arquivo epel-testing.repo.

        sudo vim /etc/yum.repos.d/epel-testing.repo
      2. Pressione i para entrar no modo de edição e substitua enabled=0 por enabled=1.

        [epel-testing]
        name=Extra Packages for Enterprise Linux 8 - Testing - $basearch
        baseurl=http://mirrors.cloud.aliyuncs.com/epel/testing/8/Everything/$basearch
        enabled=0
        gpgcheck=1
        countme=1
        gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
      3. Pressione Esc e insira :wq para salvar e sair.

    3. Instale o pacote cloud-utils:

      sudo yum install -y cloud-utils
    4. Gere a imagem de inicialização seed.img:

      sudo cloud-localds seed.img user-data meta-data

Etapa 3: Iniciar sua máquina virtual local

Inicie uma KVM usando um dos seguintes métodos:

Use libvirt to start the KVM

  1. Crie um arquivo de configuração XML no seu computador local.

    Arquivo de exemplo: alinux3.xml para Alibaba Cloud Linux 3 ou alinux2.xml para Alibaba Cloud Linux 2. Modifique conforme necessário.

    Alibaba Cloud Linux 3

    <domain type='kvm'>
        <name>alinux3</name>
        <memory>1048576</memory><!-- Set the memory size to 1 GB.  -->
        <vcpu>1</vcpu>
        cpu mode='host-passthrough'><!-- Start the KVM on the server of the corresponding architecture.  -->
        </cpu>
        <os>
            <type arch='x86_64'>hvm</type><!-- If the architecture of the server is ARM 64-bit, set arch to aarch64.  -->
            <boot dev='hd'/>
        </os>
        <clock sync="localtime"/>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>restart</on_crash>
        <devices>
            <emulator>/usr/bin/qemu-kvm</emulator><!-- Configure a KVM path based on the operating system. For example, the KVM path for Ubuntu is /usr/bin/kvm.  -->
            <disk type='file' device='disk'><!-- Specify the type parameter based on the image format. Set type to qcow2 if the image is in the QCOW2 format, and set type to vpc if the image is in the VHD format.  -->
                <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- If you want to create a snapshot in the QCOW2 format, disable dataplane.  -->
                <source file='path'/> <!-- Enter the absolute path of the Alibaba Cloud Linux 3 image.  -->
                <target dev='vda' bus='virtio'/>
            </disk>
            <!-- Add information about the seed.img boot image.  -->
            <disk type='file' device='disk'>
                <driver name='qemu' type='raw'/>
                <source file='/path/to/your/seed.img'/> <!-- Enter the absolute path of the seed.img boot image.  -->
                <target dev='vdb' bus='virtio'/>
            </disk>
            <interface type='network'>
                <source network='default'/>
                <model type='virtio'/>
            </interface>
            <console type='pty'>
                <target type='virtio' port='0'/>
            </console>
            <video>
                <model type='cirrus' vram='9216' heads='1'/>
                <alias name='video0'/>
            </video>
            <input type='tablet' bus='usb'/>
            <input type='mouse' bus='ps2'/>
            <graphics type='vnc' port='-1' autoport='yes'/>
        </devices>
    </domain>

    Alibaba Cloud Linux 2

    <domain type='kvm'>
        <name>alinux2</name>
        <memory>1048576</memory> <!-- Set the memory size to 1 GB.  -->
        <vcpu>1</vcpu>
        <os>
            <type arch='x86_64'>hvm</type>
            <boot dev='hd'/>
        </os>
        <clock sync="localtime"/>
        <on_poweroff>destroy</on_poweroff>
        <on_reboot>restart</on_reboot>
        <on_crash>restart</on_crash>
        <devices>
            <emulator>/usr/bin/qemu-kvm</emulator><!-- Configure a KVM path based on the operating system. For example, the KVM path for Ubuntu is /usr/bin/kvm. -->
            <disk type='file' device='disk'><!-- Specify the type parameter based on the image format. Set type to qcow2 if the image is in the QCOW2 format, and set type to vpc if the image is in the VHD format.  -->
                <driver name='qemu' type='qcow2' cache='none' dataplane='on' io='native'/> <!-- If you want to create a snapshot in the QCOW2 format, disable dataplane.  -->
                <source file='path'/> <!-- Enter the absolute path of the Alibaba Cloud Linux 2 image.  -->
                <target dev='vda' bus='virtio'/>
            </disk>
            <!-- Add information about the seed.img boot image.  -->
            <disk type='file' device='disk'>
                <driver name='qemu' type='raw'/>
                <source file='/path/to/your/seed.img'/> <!-- Enter the absolute path of the seed.img boot image.  -->
                <target dev='vdb' bus='virtio'/>
            </disk>
            <interface type='network'>
                <source network='default'/>
                <model type='virtio'/>
            </interface>
            <console type='pty'>
                <target type='virtio' port='0'/>
            </console>
            <video>
                <model type='cirrus' vram='9216' heads='1'/>
                <alias name='video0'/>
            </video>
            <input type='tablet' bus='usb'/>
            <input type='mouse' bus='ps2'/>
            <graphics type='vnc' port='-1' autoport='yes'/>
        </devices>
    </domain>
  2. Execute o comando virsh para iniciar a KVM.

    Nota

    Por padrão, o libvirt é executado como um usuário não root. Certifique-se de que esse usuário tenha permissões para gerenciar os arquivos de imagem e seus diretórios pai.

    Alibaba Cloud Linux 3

    sudo virsh define alinux3.xml
    virsh start <KVMName>   # Enter the name of the KVM. You can run the sudo virsh list --name command to query the name of the KVM.

    Alibaba Cloud Linux 2

    sudo virsh define alinux2.xml
    sudo virsh start <KVMName>    # Enter the name of the KVM. You can run the sudo virsh list --name command to query the name of the KVM.

Execute o comando qemu-kvm para iniciar a KVM

Anexe o seguinte parâmetro ao comando qemu-kvm:

-drive file=/path/to/your/seed.img,if=virtio,format=raw
  • /path/to/your/seed.img: Substitua pelo caminho real do seu arquivo seed.img.

  • if=virtio: Usa a interface virtio para o disco virtual.

  • format=raw: Especifica o formato de imagem de disco RAW.

Exemplo:

sudo /usr/libexec/qemu-kvm -drive file=/home/ecs-user/seed/seed.img,if=virtio,format=raw

Use the virt-manager graphical interface to start the KVM

Adicione o caminho absoluto da sua imagem de inicialização seed.img ao arquivo de configuração da KVM antes de iniciá-la.

Próximos passos

Após a inicialização da KVM, faça login com o nome de usuário e a senha especificados no arquivo de configuração user-data.

Nota

Para fazer login com um par de chaves SSH, adicione a chave pública ao arquivo de configuração do cloud-init.

Referências

  • O cloud-init inicializa automaticamente máquinas virtuais Linux na inicialização, configurando o nome do host, a rede e os pacotes de software.

  • libvirt, qemu-kvm e virt-manager são ferramentas comuns de gerenciamento de KVM. Consulte a documentação da Red Hat.