Sanallaştırma dünyasına adım atmak istiyorsanız ya da mevcut VMware veya Hyper-V kurulumunuzdan daha özgür, daha ekonomik bir alternatif arıyorsanız, Proxmox VE tam size göre. Açık kaynak kodlu bu platform, KVM tabanlı sanal makineleri ve LXC konteynerlerini tek bir arayüzden yönetmenizi sağlıyor. Ben bu yazıda size sıfırdan bir Proxmox kurulumu yapıp, production ortamına hazır hale getirmenin adımlarını anlatacağım.
Proxmox VE Nedir, Neden Kullanmalısınız?
Proxmox Virtual Environment, Debian tabanlı bir sanallaştırma platformudur. 2008’den bu yana geliştirilen platform, enterprise seviyesinde özellikler sunmasına rağmen lisans maliyeti açısından oldukça makul. Ücretsiz community sürümünü kullanabilir, isterseniz ücretli destek aboneliği alabilirsiniz.
Temel özellikleri şunlardır:
- KVM (Kernel-based Virtual Machine) ile tam sanallaştırma
- LXC (Linux Containers) ile hafif konteyner yönetimi
- Web tabanlı yönetim arayüzü (port 8006)
- Cluster desteği ve yüksek erişilebilirlik (HA)
- ZFS, Ceph, NFS, iSCSI depolama desteği
- Dahili backup ve snapshot özellikleri
- SDN (Software Defined Networking) desteği
- REST API ile otomasyon imkanı
Bir home lab kuruyorsanız, küçük bir işletmenin altyapısını yönetiyorsanız ya da test ortamı oluşturuyorsanız Proxmox, VMware’e ödeyeceğiniz binlerce dolarlık lisans ücretini cebinizde bırakır.
Donanım Gereksinimleri
Proxmox’u kurmadan önce donanımınızın yeterliliğini kontrol etmeniz gerekiyor. Minimum gereksinimler kağıt üzerinde düşük görünse de, gerçek kullanım senaryolarında biraz daha fazlasına ihtiyaç duyarsınız.
Minimum gereksinimler:
- CPU: 64-bit işlemci, Intel VT-x veya AMD-V sanallaştırma desteği
- RAM: 2 GB (pratik kullanım için minimum 8 GB önerilir)
- Disk: 32 GB (sistem için, VM’ler ayrı)
- Ağ: En az bir ağ kartı
Önerilen production gereksinimler:
- CPU: 8+ çekirdek, ECC RAM desteği olan bir platform
- RAM: 32 GB ve üzeri
- Sistem Diski: SSD veya NVMe, 120 GB
- VM Depolama: Ayrı bir disk veya RAID dizisi
- Ağ: Birden fazla NIC (management, VM traffic, storage için ayrı)
BIOS/UEFI ayarlarınızda Intel VT-x/AMD-V ve Intel VT-d/AMD IOMMU özelliklerinin etkinleştirildiğinden emin olun. GPU passthrough veya PCI device passthrough yapacaksanız IOMMU şart.
ISO İndirme ve Kurulum Medyası Hazırlama
Proxmox’un resmi sitesinden en güncel ISO’yu indirin. Bu yazıyı hazırladığım sırada 8.x sürümü günceldi.
# ISO'yu wget ile de indirebilirsiniz
wget https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso/proxmox-ve-8-2-iso-installer
# SHA256 doğrulaması yapmayı unutmayın
sha256sum proxmox-ve-8-2-iso-installer.iso
ISO’yu USB’ye yazmak için birkaç yöntem var. Linux kullanıcıları için dd komutu en güvenilir yol:
# /dev/sdX yerine kendi USB disk adınızı yazın (lsblk ile kontrol edin)
sudo dd if=proxmox-ve-8-2-iso-installer.iso of=/dev/sdX bs=4M status=progress oflag=sync
# Yazma tamamlandıktan sonra sync yapın
sync
Windows kullanıcıları Rufus veya Balena Etcher kullanabilir. Dikkat: Rufus kullanırken “DD Image” modunu seçin, “ISO Image” değil.
Kurulum Adımları
USB’den boot ettikten sonra karşınıza Proxmox installer gelir. Grafik tabanlı kurulum oldukça sezgisel ama birkaç kritik nokta var.
Kurulum aşamaları:
- Target Harddisk: VM’lerinizi saklayacağınız diski buradan seçmeyin, sadece sistem diskini seçin. Options kısmından filesystem olarak ZFS seçebilirsiniz, özellikle birden fazla disk varsa.
- Country/Timezone: Türkiye için Europe/Istanbul
- Root Password: Güçlü bir şifre belirleyin, bu şifreyi not alın
- Network Configuration: Statik IP adresi vermek zorundasınız. DHCP ile kurulum yapılmaz.
- Hostname:
proxmox.domain.localformatında FQDN girin
Ben genellikle kurulum sırasında ZFS RAID-1 tercih ederim, iki disk varsa. Sistem diski bozulduğunda mirror sayesinde direkt boot etmeye devam edersiniz.
Kurulum 5-10 dakika sürer. Tamamlandıktan sonra USB’yi çıkarıp sistemi yeniden başlatın. Browser’dan https://IP_ADRESINIZ:8006 adresine gidin. Self-signed sertifika uyarısını geçin ve root kullanıcısıyla login olun.
İlk Oturum Sonrası Yapılacaklar
Web arayüzüne girdiğinizde “No valid subscription” uyarısıyla karşılaşacaksınız. Bu uyarıyı kapatmak için veya enterprise repo’yu devre dışı bırakmak için terminal üzerinden birkaç düzenleme yapmanız gerekiyor.
Web arayüzünden Shell açabilir ya da SSH ile bağlanabilirsiniz:
# SSH ile bağlantı
ssh [email protected]
# Önce sistemi güncelleyin
apt update && apt full-upgrade -y
Repository Yapılandırması
Proxmox, enterprise ve community (no-subscription) olmak üzere iki repo sunar. Ücretli aboneliğiniz yoksa enterprise repo’yu devre dışı bırakmanız gerekir:
# Enterprise repo'yu devre dışı bırak
echo "# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
# Community repo'yu aktif et
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Ceph repo (kullanacaksanız)
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
# Tekrar güncelleme yapın
apt update && apt full-upgrade -y
Subscription Uyarısını Kaldırma
Her login’de çıkan uyarı popup’ını kaldırmak için:
# Proxmox 8.x için
sed -i.backup "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
# Web servisini yeniden başlatın
systemctl restart pveproxy
Bu değişiklik Proxmox güncellemelerinde sıfırlanabilir. Güncellemeden sonra tekrar uygulamanız gerekebilir.
Ağ Yapılandırması
Proxmox ağ yapılandırması /etc/network/interfaces dosyasından yönetilir. Web arayüzünde de düzenleyebilirsiniz ama terminal üzerinden yapmayı tercih ederim, daha fazla kontrol sağlar.
Varsayılan kurulumda tek bir Linux bridge olan vmbr0 oluşturulur ve fiziksel NIC’e bağlanır. Bu bridge üzerinden VM’ler ağa çıkar.
# Mevcut ağ yapılandırmasını görüntüleyin
cat /etc/network/interfaces
# Örnek çıktı ve temel yapılandırma
Birden fazla NIC’iniz varsa, ayrı bridge’ler oluşturmak iyi bir pratik:
# /etc/network/interfaces dosyasını düzenleyin
nano /etc/network/interfaces
Örnek çoklu NIC yapılandırması:
auto lo
iface lo inet loopback
# Management interface
auto eno1
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
dns-nameservers 8.8.8.8 8.8.4.4
# VM traffic interface (ayrı NIC)
auto eno2
iface eno2 inet manual
auto vmbr1
iface vmbr1 inet manual
bridge-ports eno2
bridge-stp off
bridge-fd 0
# Ağ değişikliklerini uygulayın
# ifreload -a (reboot gerektirmeden)
Değişiklikleri uygulamak için:
# Ağı yeniden yükle (bağlantıyı kesmeden)
ifreload -a
# Veya servislerini yeniden başlatın
systemctl restart networking
Depolama Yapılandırması
Proxmox varsayılan olarak iki depolama alanı tanımlar: local (ISO dosyaları, backup, template için) ve local-lvm (VM disk imajları için). Ek disk veya NAS ekleyecekseniz bu adımları takip edin.
Ek disk eklemek için:
# Diskleri listeleyin
lsblk
fdisk -l
# Yeni diski LVM olarak hazırlayın
pvcreate /dev/sdb
vgcreate vmdata /dev/sdb
lvcreate -l 100%FREE -n vmstore vmdata
# Ext4 formatlayın
mkfs.ext4 /dev/vmdata/vmstore
# Mount noktası oluşturun
mkdir -p /mnt/vmstore
mount /dev/vmdata/vmstore /mnt/vmstore
# fstab'a ekleyin
echo '/dev/vmdata/vmstore /mnt/vmstore ext4 defaults 0 2' >> /etc/fstab
Depolamayı Proxmox’a tanıttıktan sonra web arayüzünden Datacenter > Storage > Add yolunu izleyin. Directory tipini seçip /mnt/vmstore path’ini girin.
NFS depolama eklemek:
# NFS client kurulumu
apt install nfs-common -y
# NFS mount testi
mount -t nfs 192.168.1.200:/export/proxmox /mnt/nfs-test
# Web arayüzünden: Datacenter > Storage > Add > NFS
# Server: 192.168.1.200
# Export: /export/proxmox
İlk Sanal Makine Oluşturma
Teorik kısımdan sonra biraz pratik yapalım. Web arayüzünden Create VM butonuna tıklayın ya da CLI ile oluşturun:
# CLI ile Ubuntu 22.04 VM oluşturma
qm create 100
--name ubuntu-server
--memory 2048
--cores 2
--net0 virtio,bridge=vmbr0
--cdrom local:iso/ubuntu-22.04.3-live-server-amd64.iso
--scsihw virtio-scsi-pci
--scsi0 local-lvm:32
--bootdisk scsi0
--ostype l26
--agent enabled=1
# VM'i başlatın
qm start 100
# VM durumunu kontrol edin
qm status 100
# VM listesini görün
qm list
Bu komutlardaki parametreleri açıklayayım:
- 100: VM ID numarası, 100-999 arası kullanabilirsiniz
- –memory 2048: 2 GB RAM (MB cinsinden)
- –cores 2: 2 sanal CPU çekirdeği
- –net0 virtio: VirtIO ağ sürücüsü, performans açısından en iyi seçenek
- –scsihw virtio-scsi-pci: VirtIO SCSI kontrolcüsü
- –scsi0 local-lvm:32: 32 GB disk
- –agent enabled=1: QEMU Guest Agent desteği, bu özelliği kullanmak için VM içine
qemu-guest-agentpaketini kurmanız gerekir
LXC Konteyner Oluşturma
VM’ler kaynak yoğunsa ve Linux çalıştırıyorsanız LXC konteynerleri çok daha verimli bir alternatif sunar. Önce template indirmemiz gerekiyor:
# Mevcut template'leri listeleyin
pveam available
# Ubuntu 22.04 template'i indirin
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst
# İndirilen template'leri görün
pveam list local
# CLI ile konteyner oluşturma
pct create 200 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst
--hostname web-server
--memory 512
--swap 512
--rootfs local-lvm:8
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.201/24,gw=192.168.1.1
--password SecurePass123
--unprivileged 1
--features nesting=1
# Konteyneri başlatın
pct start 200
# Konteynerin içine girin
pct enter 200
LXC konteynerler için unprivileged modunu tercih edin. Bu mod güvenlik açısından daha iyi izolasyon sağlar. Docker çalıştıracaksanız --features nesting=1 parametresi gerekli.
Güvenlik Sertleştirmesi
Production ortamına almadan önce birkaç önemli güvenlik adımı atmanız şart.
SSH güvenliği:
# Root SSH girişini devre dışı bırakın
# Önce ayrı bir admin kullanıcı oluşturun!
useradd -m -s /bin/bash sysadmin
passwd sysadmin
usermod -aG sudo sysadmin
# SSH key oluşturun ve kopyalayın (kendi bilgisayarınızda)
# ssh-keygen -t ed25519 -C "proxmox-admin"
# ssh-copy-id [email protected]
# SSH yapılandırmasını güncelleyin
nano /etc/ssh/sshd_config
/etc/ssh/sshd_config içinde şu değişiklikleri yapın:
# Port değiştirme (opsiyonel ama önerilen)
Port 2222
# Root girişini kapat
PermitRootLogin no
# Şifre ile girişi kapat (SSH key kullandıktan sonra)
PasswordAuthentication no
# Boş şifreye izin verme
PermitEmptyPasswords no
# X11 forwarding kapalı
X11Forwarding no
# SSH servisini yeniden başlatın
systemctl restart sshd
Firewall yapılandırması:
Proxmox’un dahili firewall’ını aktif edin. Web arayüzünde Datacenter > Firewall bölümünden yönetebilirsiniz. Temel kurallar:
# Proxmox firewall'ını aktif edin (web arayüzünden veya CLI)
# Datacenter seviyesinde Input Policy: DROP
# Sonra izin verilecek portları ekleyin:
# - Port 22 (SSH) veya özel port
# - Port 8006 (Web UI)
# - Port 3128 (SPICE proxy, gerekiyorsa)
# Ek olarak UFW da kullanabilirsiniz
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp comment 'SSH'
ufw allow 8006/tcp comment 'Proxmox Web UI'
ufw enable
Fail2ban kurulumu:
# Fail2ban kurulumu
apt install fail2ban -y
# Proxmox için jail yapılandırması
cat > /etc/fail2ban/jail.d/proxmox.conf << 'EOF'
[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
backend = systemd
maxretry = 3
findtime = 2m
bantime = 1h
EOF
# Filter dosyası
cat > /etc/fail2ban/filter.d/proxmox.conf << 'EOF'
[Definition]
failregex = pvedaemon[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
journalmatch = _SYSTEMD_UNIT=pvedaemon.service
EOF
systemctl enable fail2ban
systemctl restart fail2ban
Backup Yapılandırması
Backup olmayan bir ortam, ortam değildir. Proxmox’un dahili backup özelliğini kullanın:
# Manuel backup alma
vzdump 100 --mode snapshot --compress zstd --storage local
# Tüm VM'leri backup almak için
vzdump --all --mode snapshot --compress zstd --storage local --maxfiles 3
# Backup durumunu kontrol etmek
ls -la /var/lib/vz/dump/
Web arayüzünden Datacenter > Backup bölümünde zamanlanmış backup işi oluşturabilirsiniz. Ben genellikle şu konfigürasyonu kullanırım:
- Schedule: Gece 02:00
- Mode: Snapshot (VM kapatmadan)
- Compression: ZSTD (hız/sıkıştırma dengesi iyi)
- Max Backups: 7 (haftalık rotasyon)
- Email notification: Başarı ve başarısızlık için
İzleme ve Log Yönetimi
Sisteminizi takip etmek için birkaç pratik komut:
# Kaynak kullanımını izleme
pvesh get /nodes/proxmox/status
# VM kaynak kullanımı
qm monitor 100
# vm_info komutu ile detay alabilirsiniz
# Sistem logları
journalctl -u pvedaemon -f
journalctl -u pveproxy -f
# Task logları
pvesh get /nodes/proxmox/tasks
# Disk durumu (SMART)
smartctl -a /dev/sda
smartctl -a /dev/sdb
# ZFS havuz durumu (ZFS kullanıyorsanız)
zpool status
zfs list
Güncelleme Stratejisi
Proxmox güncellemelerini dikkatli yönetmek gerekir, özellikle kernel güncellemeleri:
# Güncellemeleri kontrol edin
apt update
apt list --upgradable
# Kernel dahil full upgrade
apt full-upgrade -y
# Sadece güvenlik güncellemeleri için unattended-upgrades
apt install unattended-upgrades -y
# Güncellemeden sonra reboot gerekip gerekmediğini kontrol
cat /var/run/reboot-required 2>/dev/null && echo "Reboot gerekli" || echo "Reboot gerekmiyor"
# Eski kernel'ları temizleyin
apt autoremove -y
Production ortamında kernel güncellemelerini hemen uygulamayın. Önce test ortamında deneyin, cluster yapınız varsa rolling update stratejisi kullanın.
Performans Optimizasyonu
Birkaç ince ayarla Proxmox performansını artırabilirsiniz:
# Swappiness değerini düşürün (RAM yeterliyse)
echo "vm.swappiness=10" >> /etc/sysctl.conf
# Dirty ratio ayarları
echo "vm.dirty_ratio=15" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio=5" >> /etc/sysctl.conf
# Sysctl değişikliklerini uygulayın
sysctl -p
# Huge pages (yoğun VM workload için)
echo "vm.nr_hugepages=1024" >> /etc/sysctl.conf
# CPU governor ayarı (performance modu)
apt install cpufrequtils -y
echo 'GOVERNOR="performance"' > /etc/default/cpufrequtils
systemctl restart cpufrequtils
Sonuç
Proxmox VE, doğru yapılandırıldığında enterprise seviyesinde bir sanallaştırma platformu olarak görev yapabiliyor. Bu yazıda temel kurulumdan güvenlik sertleştirmesine, ağ yapılandırmasından backup stratejisine kadar bir production ortamı için ihtiyaç duyduğunuz temel adımları anlattım.
Hatırlatmak istediğim birkaç kritik nokta var: İlk kurulumdan sonra mutlaka repo yapılandırmasını düzenleyin, fail2ban ve SSH güvenlik ayarlarını atlamamaya özen gösterin, düzenli backup testleri yapın, sadece backup almak yetmez restore edilebilir olması şart.
Sonraki adım olarak Proxmox Cluster kurulumu, Ceph dağıtık depolama yapılandırması veya Cloud-Init ile otomatik VM provisioning konularına göz atabilirsiniz. Sorularınız için yorum bırakın, elimden geldiğince yanıtlamaya çalışırım.