KVM Desteklenmeyen Sistemlerde GNS3'e Ubuntu 24.04 QEMU VM Ekleme Rehberi
Erenalp Tekşen

Erenalp Tekşen @erenalpteksen

About: Junior Backend Developer

Joined:
Mar 15, 2024

KVM Desteklenmeyen Sistemlerde GNS3'e Ubuntu 24.04 QEMU VM Ekleme Rehberi

Publish Date: Jul 12
1 0

Bu doküman, KVM (Kernel-based Virtual Machine) desteği olmayan sistemlerde GNS3 üzerine Ubuntu 24.04 LTS (Noble Numbat) işletim sistemini QEMU ile kurmak isteyen kullanıcılar için hazırlanmıştır.

Genel Bakış

Ubuntu'nun cloud-init destekli “cloud image” sürümleri kullanılarak, parolası ve ağ ayarları tanımlanabilen hafif bir QEMU VM oluşturulabilir. Bu yöntem, sisteminiz donanımsal sanallaştırma desteklemiyorsa (KVM yoksa) da sorunsuz çalışır.


1. Gerekli Dosyaları Hazırlama

Ubuntu Cloud Image (QCOW2)

wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img -O ubuntu-24.04.qcow2
Enter fullscreen mode Exit fullscreen mode

QCOW2 Disk Boyutunu GNS3'e Eklenmeden Önce Büyütme

Varsayılan olarak indirilen Ubuntu QCOW2 imajı oldukça küçük bir disk alanı içerir. Eğer daha fazla alan gerekiyorsa, GNS3'e eklemeden önce aşağıdaki komutla boyutunu artırabilirsiniz:

qemu-img resize ubuntu-24.04.qcow2 30G
Enter fullscreen mode Exit fullscreen mode

Bu komut, disk imajının maksimum kapasitesini artırır. Gerçek kullanılabilir alanın genişlemesi için cloud-init yapılandırmasında uygun ayarların yapılması gerekir (aşağıdaki growpart ve resize_rootfs adımları gibi).


2. cloud-init dosyaları (user-data & meta-data)

mkdir -p ~/cloudinit-ubuntu && cd ~/cloudinit-ubuntu
Enter fullscreen mode Exit fullscreen mode

user-data (disk genişletme destekli)

nano user-data
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki içeriği user-data dosyasına kopyalayın

#cloud-config
hostname: ubuntu-24
users:
  - name: ubuntu
    groups: sudo
    shell: /bin/bash
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    lock_passwd: false
    plain_text_passwd: "ubuntu"
    ssh_pwauth: true
disable_root: false
chpasswd:
  list: |
    ubuntu:ubuntu
  expire: false

growpart:
  mode: auto
  devices: ['/']
  ignore_growroot_disabled: false

resize_rootfs: true
Enter fullscreen mode Exit fullscreen mode

meta-data

nano meta-data
Enter fullscreen mode Exit fullscreen mode

Aşağıdaki içeriği meta-data dosyasına kopyalayın

instance-id: ubuntu24
local-hostname: ubuntu-24
Enter fullscreen mode Exit fullscreen mode

ISO Oluşturma

genisoimage -output cidata.iso -volid cidata -joliet -rock user-data meta-data
Enter fullscreen mode Exit fullscreen mode

Not: genisoimage kurulu değilse sudo apt install genisoimage ile kurabilirsiniz.


3. GNS3 Üzerinde QEMU VM Tanımlama

1. Preferences İçinde QEMU VM Tanımlama

  • Edit → Preferences → QEMU VMs
  • New → Name: Ubuntu-24.04-Cloud
  • QEMU binary: /usr/bin/qemu-system-x86_64
  • Use KVM: İşaretlenmemeli (KVM yoksa)
  • RAM: 1024 MB
  • CPU: 1

2. Disk ve ISO Seçimi

  • HDA Disk: ubuntu-24.04.qcow2
  • CD-ROM (optional drive): cidata.iso
  • HDA Interface: ide

3. Network Ayarları

  • Adapter: 1 veya daha fazla
  • Adapter Type: e1000

4. VM'i Projeye Ekleyip Başlatma

  1. Oluşturulan QEMU VM'i projeye sürükleyin.
  2. VM'i başlatın.
  3. cloud-init çalışacak ve ubuntu kullanıcısı ubuntu parolasıyla otomatik tanımlanacaktır.
  4. Ayrıca ilk açılışta kök disk otomatik olarak genişletilecektir (örneğin 30GB’a).

Giriş Bilgileri

  • Kullanıcı: ubuntu
  • Parola: ubuntu

5. Otomatik Genişleme Çalışmazsa Manuel Disk Genişletme

Eğer cloud-init ile otomatik genişleme gerçekleşmezse, sanal makineye giriş yaptıktan sonra aşağıdaki komutları çalıştırarak manuel olarak genişletebilirsiniz:

sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1
Enter fullscreen mode Exit fullscreen mode

Sorun Giderme

  • Giriş olmuyorsa cidata.iso dosyası bağlanmamış olabilir.
  • cloud-init loglarını kontrol edin:

    cat /var/log/cloud-init-output.log
    
  • user-data dosyasında girinti hataları (YAML syntax) varsa config uygulanmaz.


Alternatif: SSH Anahtar ile Giriş

user-data içine ssh_authorized_keys ile kendi public key’inizi tanımlayarak parola yerine SSH ile de bağlanabilirsiniz.

Comments 0 total

    Add comment