11.2. Creating a virtual machine from a KVM guest image


Create a new VM from a KVM Guest Image by using the .qcow2 image that you created by using RHEL image builder. The customized image already has cloud-init installed and enabled.

Prerequisites

  • You created a .qcow2 image by using RHEL image builder.
  • You have the qemu-kvm package installed on your system. You can check if the /dev/kvm device is available on your system, and if virtualization features are enabled in the firmware.
  • You have the libvirt and virt-install packages installed on your system.
  • You have the genisoimage utility, which is provided by the xorriso package, installed on your system.

Procedure

  1. Move the .qcow2 image that you created by using RHEL image builder to the /var/lib/libvirt/images/ directory.
  2. Create a directory, for example, cloudinitiso, and navigate to this newly created directory:

    $ mkdir cloudinitiso
    $ cd cloudinitiso
  3. Create a file named meta-data. Add the following information to this file:

    instance-id: citest
    local-hostname: vmname
  4. Create a file named user-data. Add the following information to the file:

    # cloud-config
    user: admin
    password: password
    chpasswd: {expire: False}
    ssh_pwauth: True
    ssh_authorized_keys:
      - ssh-rsa AAA...fhHQ== your.email@example.com

    ssh_authorized_keys is your SSH public key. You can find your SSH public key in ~/.ssh/id_rsa.pub\.

  5. Use the genisoimage utility to create an ISO image that includes the user-data and meta-data files.

    # genisoimage -output cloud-init.iso -volid cidata -joliet -rock user-data meta-data
    
    I: -input-charset not specified, using utf-8 (detected in locale settings)
    Total translation table size: 0
    Total rockridge attributes bytes: 331
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 0
    183 extents written (0 MB)
  6. Create a new VM from the KVM Guest Image by using the virt-install command. Include the ISO image you created in step 4 as an attachment to the VM image.

    # virt-install \
        --memory 4096 \
        --vcpus 4 \
        --name myvm \
        --disk rhel-10-x86_64-kvm.qcow2,device=disk,bus=virtio,format=qcow2 \
        --disk cloud-init.iso,device=cdrom \
        --os-variant rhel 10 \
        --virt-type kvm \
        --graphics none \
        --import
    • --graphics none means it is a headless RHEL 10 VM.
    • --vcpus 4 means that it uses 4 virtual CPUs.
    • --memory 4096 means it uses 4096 MB RAM.
  7. The VM installation starts:

    Starting install...
    Connected to domain mytestcivm
    ...
    [  OK  ] Started Execute cloud user/final scripts.
    [  OK  ] Reached target Cloud-init target.
    
    Red Hat Enterprise Linux 10 (Ootpa)
    Kernel 4.18.0-221.el8.x86_64 on an x86_64

Verification

After the boot is complete, the VM shows a text login interface. To log in to the local console of the VM, you can use user the details from the user-data file:

  1. Enter admin as a username and press Enter.
  2. Enter password as password and press Enter.

    After the login authentication is complete, you have access to the VM by using the CLI.

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部