例: Fedora イメージ

例: Fedora イメージ

This example shows you how to install a Fedora image and focuses mainly on Fedora 25. Because the Fedora installation process might differ across versions, the installation steps might differ if you use a different version of Fedora.

Download a Fedora install ISO

  1. Visit the Fedora download site.

  2. Navigate to the Download Fedora Server page for a Fedora Server ISO image.

  3. Choose the ISO image you want to download.

    For example, the Netinstall Image is a good choice because it is a smaller image that downloads missing packages from the Internet during installation.


Start the installation process using either the virt-manager or the virt-install command as described previously. If you use the virt-install command, do not forget to connect your VNC client to the virtual machine.


  • The name of your virtual machine image is fedora; you need this name when you use virsh commands to manipulate the state of the image.
  • You saved the netinstall ISO image to the /tmp directory.

virt-install をコマンド使用する場合、このコマンドは以下のようになるでしょう。

# qemu-img create -f qcow2 /tmp/fedora.qcow2 10G
# virt-install --virt-type kvm --name fedora --ram 1024 \
  --disk /tmp/fedora.qcow2,format=qcow2 \
  --network network=default \
  --graphics vnc,listen= --noautoconsole \
  --os-type=linux --os-variant=fedora23 \


After the installation program starts, choose your preferred language and click Continue to get to the installation summary. Accept the defaults.

Review the Ethernet status

Ensure that the Ethernet setting is ON. Additionally, make sure that IPv4 Settings' Method is Automatic (DHCP), which is the default.


The installer allows you to choose a host name. The default (localhost.localdomain) is fine. You install the cloud-init package later, which sets the host name on boot when a new instance is provisioned using this image.


ディスクのパーティションは、さまざまな選択肢があります。デフォルトでは、LVM パーティションが使用され、3 つのパーティション (/boot/swap) が作成されます。これでうまく動作します。この代わりに、単一の ext4 パーティション を作成し、 / にマウントしたい場合もあるでしょう。これもうまく動作します。


Select software to install

デフォルトのオプションを使用して、インストールをステップ実行します。最も簡単な方法は、「最小インストール (Minimal Install)」インストールを選択することです。SSH サーバーがインストールされます。

Set the root password

During the installation, remember to set the root password when prompted.

CD-ROM の取り出しと再起動

Wait until the installation is complete.

To eject a disk by using the virsh command, libvirt requires that you attach an empty disk at the same target that the CD-ROM was previously attached, which may be hda. You can confirm the appropriate target using the virsh dumpxml vm-image command.

# virsh dumpxml fedora
<domain type='kvm' id='30'>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/tmp/Fedora-Server-netinst-x86_64-25-1.3.iso'/>
      <target dev='hda' bus='ide'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>

virsh を使用して、ディスクを取り出し、再起動するために、ホストから root として以下のコマンドを実行します。 virt-manager を使用している場合、以下のコマンドを使用することもできますが、GUI を使用して、ディスクを切断し、手動で停止および起動を実行することもできます。

# virsh attach-disk --type cdrom --mode readonly fedora "" hda
# virsh reboot fedora

ACPI サービスのインストール

ハイパーバイザーがインスタンスを再起動やシャットダウンできるようにするために、ゲストシステムに acpid サービスをインストールし実行しておく必要があります。

Log in as root to the Fedora guest and run the following commands to install the ACPI service and configure it to start when the system boots:

# dnf install acpid
# systemctl enable acpid

Configure cloud-init to fetch metadata

An instance must interact with the metadata service to perform several tasks on start up. For example, the instance must get the ssh public key and run the user data script. To ensure that the instance performs these tasks, use the cloud-init package.

The cloud-init package automatically fetches the public key from the metadata server and places the key in an account. Install cloud-init inside the Fedora guest by running:

# yum install cloud-init

The account varies by distribution. On Fedora-based virtual machines, the account is called fedora.

You can change the name of the account used by cloud-init by editing the /etc/cloud/cloud.cfg file and adding a line with a different user. For example, to configure cloud-init to put the key in an account named admin, use the following syntax in the configuration file:

  - name: admin

パーティションのリサイズをサポートするための cloud-utils-growpart のインストール

In order for the root partition to properly resize, install the cloud-utils-growpart package, which contains the proper tools to allow the disk to resize using cloud-init.

# dnf install cloud-utils-growpart

zeroconf ルートの無効化

インスタンスがメタデータサービスにアクセスできるようにするために、デフォルトの zeroconf ルートを無効化する必要があります。

# echo "NOZEROCONF=yes" >> /etc/sysconfig/network


For the nova console-log command to work properly on Fedora, you might need to do the following steps:

  1. Edit the /etc/default/grub file and configure the GRUB_CMDLINE_LINUX option. Delete the rhgb quiet and add console=tty0 console=ttyS0,115200n8 to the option. For example:

    GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap console=tty0 console=ttyS0,115200n8"
  2. 以下のコマンドを実行し、設定を反映します。

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-4.10.10-200.fc25.x86_64
    Found initrd image: /boot/initramfs-4.10.10-200.fc25.x86_64.img
    Found linux image: /boot/vmlinuz-0-rescue-c613978614c7426ea3e550527f63710c
    Found initrd image: /boot/initramfs-0-rescue-c613978614c7426ea3e550527f63710c.img


From inside the instance, run as root:

# poweroff

クリーンアップ (MAC アドレスの詳細の削除)

The operating system records the MAC address of the virtual Ethernet card in locations such as /etc/sysconfig/network-scripts/ifcfg-eth0 during the instance process. However, each time the image boots up, the virtual Ethernet card will have a different MAC address, so this information must be deleted from the configuration file.

virt-sysprep というユーティリティーがあります。これは、MAC アドレス参照の削除など、さまざまなクリーンアップ作業を実行します。決まった場所にある仮想マシンイメージをクリーンアップします。

# virt-sysprep -d fedora

libvirt ドメインの定義削除

これで、イメージを Image service にアップロードできます。今後は、この仮想マシンイメージは libvirt により管理する必要がありません。virsh undefine vm-image コマンドを使用して libvirt に通知します。

# virsh undefine fedora


The underlying image file that you created with the qemu-img create command is ready to be uploaded. For example, you can upload the /tmp/fedora.qcow2 image to the Image service by using the openstack image create command. For more information, see the Create or update an image.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.