ここに題名を入れる

2024年6月18日17寺23分に期限が切れます。

トップ ブレボ 製作者 技術紹介



< 戻る

QEMU × Ubuntu Cloud Image 環境構築ガイド

このページでは,QEMUとUbuntu Cloud Imageを使って,軽量な仮想環境を構築し,SSH接続まで行う手順をまとめます.

0. 必要なツール

.IMGファイルのダウンロードは以下のボタンから

Ubuntu Cloud Imageをダウンロード

各パッケージのインストール
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients virt-manager bridge-utils
quittta

1. Cloud-Init 用ファイルを作成

①パスワードハッシュの生成(SHA-512パスワードハッシュ)

openssl passwd -6 'yourpassword'
”yourpassword”に実際にログインするときに使用するパスワードを入力する

user-data

#cloud-config
users:
  - name: username # ユーザ名を登録
    passwd: "$6$...(生成したSHA-512パスワードハッシュ)"
    lock_passwd: false
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    shell: /bin/bash
ssh_pwauth: true

meta-data

instance-id: ubuntu
local-hostname: ubuntu
上記の2つのファイルを.imgファイルを保存したところに保存する

2. ISOの作成

sudo apt install genisoimage # インストールされていない場合
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data

3. Ubuntuイメージの準備

cp ubuntu-24.04-server-cloudimg-amd64.img fresh.img

4. 仮想マシンを起動

qemu-system-x86_64 \
    -enable-kvm \
    -m 2048 \
    -drive file=fresh.img,format=qcow2,if=virtio \
    -cdrom seed.iso \
    -netdev user,id=net0,hostfwd=tcp::2222-:22 \
    -device virtio-net,netdev=net0 \
    -nographic

5. 別シェルからSSHでログイン

ssh -p 2222 username@localhost
または
ssh -p 2222 username@(リモートマシンのIPアドレス)

パスワードを聞かれるので, ハッシュを作るときに使ったパスワード を入力してください

結果

無事ログインできれば,次のような画面が表示されます:

Welcome to Ubuntu XX.XX.X LTS 
.
.
.
username@ubuntu:~$

おまけ

これでクラウド仮想マシンのローカル実行が可能になります🎉


📖🖋️ 7/8追記:インターン後復習

QEMU&KVM 仮想マシン

user-dataは同じです.新しくネットワーク接続用YAMLファイルを作成します.

1. network-configを作成

version: 2
ethernets:
  enp1s0:
    dhcp4: false
    optional: false
    addresses: [192.168.122.100/24] # なんでもいいですが,192.168.122.*の形で
    gateway4: 192.168.122.1 # virtのデフォルトゲートウェイ
    nameservers:
      addresses: [8.8.8.8, 1.1.1.1]

2. ISOの作成

sudo apt install cloud-image-utils # インストールされていない場合
cloud-localds -N network-config seed.iso user-data

3. Ubuntuイメージの準備

cp noble-server-cloudimg-amd64.img fresh.img

3. Ubuntuイメージの容量変更

ここで設定した容量が直接仮想マシンのディスク容量となります.

 qemu-img resize -f qcow2 ./fresh.img 8G

4. 仮想マシンを起動

この仮想マシンは2コア,メモリ3GB(最低限)です.

virt-install \
  --import --nographics --noautoconsole --osinfo ubuntu24.04 \
  --name step001 --memory 3072 --vcpus 2 \
  --disk path=seed.iso,device=cdrom \
  --disk path=fresh.img,bus=virtio \
  --network default,model=virtio --virt-type kvm

❗ポイント❗

イメージファイル(.img,.qcow2,.raw)が配布されているOS(一部)

配布されていないOS

え?slackwareも配布されていないのかよって?
しょうがないなぁ,はいこれ

slackwareのイメージファイル