הגדרת וירטואליזציה עם KVM/QEMU על לינוקס

כאשר שרתים פיזיים מגיעים למגבלות עלות או גמישות, והיפרביזורים מסחריים מביאים עמם רישוי ותלות בספק, KVM/QEMU מציע שליטה מלאה. אנחנו מקימים וירטואליזציה במפתח מלא: מהתקנה והגדרה של libvirt ועד גישור רשתות ושילוב עם מחסן האוטומציה שלכם. הצוות שלנו מטפל בכל המחזור—בדיקת מצב, יישום, תמיכה—כך שאתם מקבלים תשתית אמינה וסקלבילית המועברת בזמן.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

התקנת וירטואליזציה עם KVM/QEMU על לינוקס

לפעמים שרתים פיזיים מגיעים למגבלות עלות או גמישות — ואז KVM/QEMU נכנס לתמונה. לקוחות מגיעים לעיתים קרובות עם בעיה: "אנחנו רוצים וירטואליזציה, אבל בלי נעילה לספק ובלי שליטה מלאה." אנו מגדירים KVM/QEMU כפתרון מוכן, ומשלבים אותו במערכת שלכם: Terraform, Ansible, GitOps, Prometheus. ללא GUI, רק CLI ו-API — ביצועים מקסימליים ועלויות רישוי אפסיות. במהלך 5 השנים האחרונות, יישמנו יותר מ-50 פרויקטי וירטואליזציה מבוססי KVM — ממעבדות קטנות ועד אשכולות ייצור עם 200+ מכונות וירטואליות. חיסכון ממוצע בתקציב בהשוואה להיפרוויזורים מסחריים — כ-40% הודות להיעדר דמי רישוי.

למה לבחור ב-KVM/QEMU לסביבת ייצור?

Proxmox נוח, אבל העדכונים והרישוי שלו (Community לעומת Enterprise) עשויים שלא להתאים לסביבות קפדניות. KVM/QEMU הוא מודול ליבת לינוקס: אתם מקבלים ביצועים טבעיים, לא שכבת הפשטה. לפי תיעוד Red Hat, עם VirtIO מכונות אורח רצות ב-95–98% מביצועי שרת פיזי. הגירה חיה, איזון CPU דרך virsh vcpupin, SLO מתחת ל-99.9% — כל זה זמין מהקופסה ללא שכבות נוספות. לדוגמה, בפרויקט אחד החלפנו את VMware vSphere ב-KVM — עלויות הרישוי ירדו פי 5, והביצועים עלו ב-12% הודות לגישה ישירה לליבה.

איך להבטיח סבילות לתקלות ב-KVM?

לסביבות זמינות גבוהה, אנו משתמשים בשילוב של הגירה חיה ואחסון משותף (NFS, Ceph). הגדרת נעילה לפי תכנית "2-3 מארחים + Quorum" דרך corosync/pacemaker. זמן שחזור ממוצע (RTO) בעת כשל צומת — לא יותר מ-15 דקות. תכנית גיבוי: snapshots של qcow2 כל 4 שעות, גיבוי מלא פעם ביום לשרת נפרד. למכונות וירטואליות קריטיות, אנו מגדירים הפעלה אוטומטית מחדש על המארח השכן.

מה אנחנו עושים כחלק מהתקנת KVM/QEMU

  1. בדיקת חומרה: בדיקת תמיכה ב-VT-x/AMD-V, IOMMU, NUMA. אופטימיזציה של מיקום vCPU וזיכרון. על שרת טיפוסי עם 2 מעבדים של 16 ליבות כל אחד ו-256 GB RAM, אפשר לארח עד 30 מכונות וירטואליות בעומס בינוני.
  2. התקנה והגדרה: qemu-kvm, libvirt-daemon, bridge-utils, virtinst. הגדרת רשת ברירת מחדל (NAT או bridge).
  3. רשת: יצירת ממשקי bridge, VLANs (bridge לכל VLAN), Open vSwitch אופציונלי. הבטחת NetworkPolicy ובידוד. דוגמה: לארכיטקטורת מיקרוסרוויסים, הגדרנו bridge אחד לכל פרויקט.
  4. אחסון: qcow2 עם kvm_domain_info, LVM thin provisioning. חיבור NFS/Ceph להגירה חיה.
  5. תבניות VM: cloud-init, תמונות של Ubuntu 22.04 LTS, Debian 12, CentOS Stream 9. הכל דרך kvm_domain_cpu_time_seconds או Terraform.
  6. ניטור: Prometheus + libvirt_exporter, לוחות מחוונים של Grafana. מדדים: CPU steal, השהיית דיסק, memory ballooning.
  7. גיבויים: virt-backup או rsync snapshots. RPO — שעה, RTO — 15 דקות.

איך להגדיר ניטור KVM?

התקינו libvirt_exporter, חברו אותו ל-Prometheus. ב-Grafana יש לוחות מחוונים מוכנים. מדדים מרכזיים:

  • kvm_domain_balloon_current_bytes — מצבי מכונות אורח
  • # /etc/netplan/01-bridge.yaml (Ubuntu) network: version: 2 ethernets: enp3s0: dhcp4: false bridges: br0: interfaces: [enp3s0] addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8] parameters: stp: false forward-delay: 0 netplan apply — זמן steal
  • br-vlan300 — דליפות זיכרון

התראות לפי MTTR ו-SLO. Runbook: אם steal עולה על 10% — בדקו CPU pinning או עומס על מכונות וירטואליות שכנות.

רשת Bridge למכונות וירטואליות

צרו bridge לינוקס כך:

# /etc/netplan/01-bridge.yaml (Ubuntu)
network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: false
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]
      parameters:
        stp: false
        forward-delay: 0
netplan apply

לתעבורה עם תגי VLAN, צרו enp3s0.300 מעל # Создание диска ВМ (qcow2 — thin provisioned, поддерживает снапшоты) qemu-img create -f qcow2 /var/lib/libvirt/images/webserver01.qcow2 40G # Установка ВМ из ISO virt-install \ --name webserver01 \ --ram 4096 \ --vcpus 4 \ --cpu host \ --disk path=/var/lib/libvirt/images/webserver01.qcow2,format=qcow2,bus=virtio \ --network bridge=br0,model=virtio \ --os-variant ubuntu22.04 \ --cdrom /tmp/ubuntu-22.04-server.iso \ --graphics none \ --console pty,target_type=serial \ --extra-args 'console=ttyS0,115200n8' — כל VLAN מקבל bridge משלו, מכונות וירטואליות מתחברות למתאים.

יצירת VM דרך qemu-system ו-virt-install

# Создание диска ВМ (qcow2 — thin provisioned, поддерживает снапшоты)
qemu-img create -f qcow2 /var/lib/libvirt/images/webserver01.qcow2 40G
# Установка ВМ из ISO
virt-install \
    --name webserver01 \
    --ram 4096 \
    --vcpus 4 \
    --cpu host \
    --disk path=/var/lib/libvirt/images/webserver01.qcow2,format=qcow2,bus=virtio \
    --network bridge=br0,model=virtio \
    --os-variant ubuntu22.04 \
    --cdrom /tmp/ubuntu-22.04-server.iso \
    --graphics none \
    --console pty,target_type=serial \
    --extra-args 'console=ttyS0,115200n8'

נקודה מרכזית: --cpu host מעביר דגלי מעבד אמיתיים ל-VM — ביצועים מקסימליים. אם מכונות וירטואליות צריכות לנדוד בין מארחים עם מעבדים שונים, השתמשו ב---cpu qemu64 לתאימות.

bus=virtio ו-model=virtio — דרייברים פרא-וירטואליים לדיסק ורשת. הביצועים גבוהים משמעותית מאמולציית IDE/e1000 (פי 3–5). מערכת ההפעלה האורחת חייבת לכלול דרייברי VirtIO (בלינוקס הם מובנים בליבה, ב-Windows נדרשת התקנה נפרדת).

Snapshots ושכפול

# Создание снапшота перед обновлением
virsh snapshot-create-as webserver01 \
    --name "before-update" \
    --description "Before kernel update" \
    --atomic

# Список снапшотов
virsh snapshot-list webserver01

# Откат к снапшоту
virsh snapshot-revert webserver01 before-update

# Клонирование ВМ
virt-clone --original webserver01 \
    --name webserver02 \
    --file /var/lib/libvirt/images/webserver02.qcow2

snapshots של qcow2 מאחסנים רק את ההפרש מתמונת הבסיס. עם שרשרת snapshots עמוקה, ביצועי הדיסק מתדרדרים — מיזגו snapshots ישנים דרך # Создание снапшота перед обновлением virsh snapshot-create-as webserver01 \ --name "before-update" \ --description "Before kernel update" \ --atomic # Список снапшотов virsh snapshot-list webserver01 # Откат к снапшоту virsh snapshot-revert webserver01 before-update # Клонирование ВМ virt-clone --original webserver01 \ --name webserver02 \ --file /var/lib/libvirt/images/webserver02.qcow2 . נהלו snapshots דרך libvirt.

ביצועים וכיוונון

למכונות וירטואליות עם עומס I/O כבד, הפעילו qemu-img commit על דיסקים — מבטל מטמון כפול בין מכונה אורחת למארח. לעומסי רשת — cache=none,io=native על multiqueue: מספר תורים = מספר vCPUs של ה-VM.

CPU pinning לעומסים רגישים לשהייה:

# Привязка vCPU ВМ к конкретным физическим ядрам virsh vcpupin webserver01 0 2 virsh vcpupin webserver01 1 3 
פרמטר ערך בייצור השפעה
virtio-net כן ↑ IOPS ב-20–30%
# Привязка vCPU ВМ к конкретным физическим ядрам virsh vcpupin webserver01 0 2 virsh vcpupin webserver01 1 3 מספר vCPUs ↑ תפוקת רשת
CPU pinning ליבות ייעודיות ↓ שהייה, ↑ יציבות
cache=none,io=native כל הדגלים ביצועים מקסימליים

KVM לעומת חלופות

היפרוויזור רישוי ביצועים חיסכון
KVM/QEMU GPL (חינם) 95–98% משרת פיזי עד 40% תקציב
VMware vSphere בתשלום (לפי CPU/שנה) ~90% -
Hyper-V רישיון Windows ~90% -
Proxmox VE GPL + מנוי ~95% בינוני

מה כלול בשירות התקנת KVM/QEMU שלנו

  • בדיקת תשתית: ניתוח עומסים נוכחיים, בחירת CPU/RAM/דיסקים.
  • התקנה והגדרה: KVM, libvirt, bridge, אחסון, cloud-init.
  • יצירת תבניות VM: Ubuntu, Debian, CentOS, Windows Server (עם דרייברי VirtIO).
  • שילוב ניטור: Prometheus + לוחות מחוונים של Grafana, התראות SLO.
  • תיעוד: דיאגרמת רשת, runbook שחזור, תכנית גיבוי.
  • הדרכת צוות: 2–3 מפגשים על ניהול virsh, virt-manager (אופציונלי).

אנחנו עובדים עם KVM למעלה מ-5 שנים, והעברנו פרויקטים ל-50+ חברות — מסטארטאפים ועד ארגונים.

לוח זמנים להתקנה: מ-3 עד 5 ימי עסקים — פתרון מוכן, עם ערבות SLA 99.9%.

הזמינו בדיקת תשתית — נעריך את הפרויקט ונציע את הפתרון האופטימלי. צרו קשר לייעוץ.

רשימת בדיקה של פרמטרים מרכזיים לפני התחלת VM
  • [ ] תמיכת VT-x/AMD-V אומתה ב-BIOS
  • [ ] IOMMU הופעל ב-GRUB (intel_iommu=on)
  • [ ] Bridge הוגדר לרשת
  • [ ] מודל virtio נבחר לדיסק ורשת
  • [ ] CPU pinning הוקצה למכונות וירטואליות קריטיות
  • [ ] התראות הוגדרו עבור steal ו-ballooning