Proxmox VE üzerinde LXC konteyner yönetimi

📅 30 Ocak 2026Emre Karabulut
⏱️ Yaklaşık 7 dakikalık okuma süresi

Proxmox VE, sanallaştırma dünyasında hem KVM tabanlı tam sanal makineler (VM) hem de LXC tabanlı hafif konteynerler için kapsamlı bir çözüm sunar. Sistem yöneticileri için, LXC konteynerleri, düşük kaynak tüketimi ve hızlı başlatma süreleri sayesinde özellikle uygulama çalıştırmak veya izole edilmiş hizmetler sunmak için cazip bir seçenektir. Bu blog yazısında, Proxmox VE üzerinde LXC konteynerlerini etkili bir şekilde nasıl yöneteceğinizi adım adım inceleyeceğiz.

LXC Konteynerleri Neden Tercih Edilmeli?

LXC (Linux Containers), sanal makinelere kıyasla işletim sistemi seviyesinde sanallaştırma sunar. Bu, LXC’nin ana makinenin (Proxmox sunucusunun) çekirdeğini paylaşması anlamına gelir. Bu mimari, aşağıdaki avantajları beraberinde getirir:

  • **Daha Az Kaynak Tüketimi:** Tam bir işletim sistemi çekirdeğine ihtiyaç duymadığı için RAM ve CPU tüketimi düşüktür.
  • **Hızlı Başlatma:** Saniyeler içinde başlar, VM’lere göre çok daha hızlıdır.
  • **Daha Yüksek Yoğunluk:** Bir fiziksel sunucu üzerinde daha fazla LXC konteyneri barındırılabilir.
  • **Kolay Yönetim:** Proxmox’un arayüzü veya komut satırı araçları ile entegre bir yönetim sunar.

LXC Şablonlarını Hazırlama

Bir LXC konteyneri oluşturmadan önce, kullanacağınız işletim sistemi için bir şablona ihtiyacınız vardır. Proxmox, çeşitli dağıtımlar için önceden hazırlanmış şablonlar sunar.

Mevcut şablonları listelemek ve indirmek için Proxmox kabuğunu kullanabilirsiniz:

pveam update
pveam available --section system

Örneğin, Debian 12 (Bookworm) standart şablonunu indirmek için:

pveam download local debian-12-standard_12.0-1_amd64.tar.zst

Bu komut, şablonu “local” adlı depolama alanınıza indirecektir. Web arayüzünden “Datacenter -> Storage -> local -> CT Templates” yolunu izleyerek de indirebilirsiniz.

Yeni Bir LXC Konteyneri Oluşturma

LXC konteynerleri hem Proxmox Web UI üzerinden hem de komut satırından oluşturulabilir. Komut satırı (CLI) yönetimi, otomasyon ve hızlı işlemler için daha esnektir.

Aşağıdaki komut, 101 ID’li, ayrıcalıksız (unprivileged) bir Debian 12 LXC konteyneri oluşturur:

pct create 101 local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst \
    --hostname myapp-container \
    --memory 512 \
    --cores 1 \
    --rootfs local-lvm:8G \
    --unprivileged 1 \
    --password securepass123 \
    --net0 name=eth0,bridge=vmbr0,ip=dhcp,ip6=auto \
    --features nesting=1

Yukarıdaki komutta kullanılan önemli parametreler:

  • `101`: Konteyner ID’si (benzersiz olmalı).
  • `local:vztmpl/…`: Kullanılacak şablonun yolu.
  • `–hostname`: Konteynerin ana bilgisayar adı.
  • `–memory`: Ayrılacak RAM miktarı (MB).
  • `–cores`: Ayrılacak CPU çekirdeği sayısı.
  • `–rootfs`: Kök dosya sistemi boyutu ve depolama alanı. (`local-lvm` yerine kendi depolama adınızı kullanın.)
  • `–unprivileged 1`: Konteyneri ayrıcalıksız olarak oluşturur (güvenlik için önerilir).
  • `–password`: Konteynerin kök kullanıcısı için başlangıç şifresi.
  • `–net0`: Ağ ayarları. `vmbr0` varsayılan köprüdür, `ip=dhcp` ile otomatik IP alabilir veya statik IP (`ip=192.168.1.100/24,gw=192.168.1.1`) atayabilirsiniz.
  • `–features nesting=1`: Konteyner içinde Docker gibi başka konteyner teknolojilerini çalıştırmak için gerekli olabilir.

Konteyneri Başlatma, Durdurma ve Yeniden Başlatma

Konteynerlerin temel yaşam döngüsü yönetim komutları oldukça basittir:

# Konteyneri başlat
pct start 101

# Konteyneri graceful bir şekilde kapat
pct shutdown 101

# Konteyneri anında durdur (graceful değil)
pct stop 101

# Konteyneri yeniden başlat
pct reboot 101

# Tüm konteynerleri listele
pct list

Konteynere Erişim

Oluşturduğunuz konteynere farklı yollarla erişebilirsiniz:

Proxmox Kabuğundan Erişim (pct enter)

Bu yöntem, Proxmox ana bilgisayarından doğrudan konteynerin içine “girmek” gibidir. En hızlı ve en yaygın kullanılan yöntemdir.

pct enter 101

Bu komut sizi doğrudan konteynerin kabuk ortamına atacaktır. Çıkmak için `exit` yazmanız yeterlidir.

Konsol Erişimi (pct console)

Bu, sanal bir makinenin konsoluna erişmek gibidir. Bir kullanıcı adı ve şifre ile giriş yapmanız gerekir.

pct console 101

SSH ile Erişim

Eğer konteynerinize bir IP adresi atadıysanız ve içinde SSH sunucusu kuruluysa, dışarıdan SSH ile bağlanabilirsiniz.

# Konteyner içinde (pct enter ile girdikten sonra)
apt update && apt install -y openssh-server
systemctl enable ssh --now

# Konteyner dışından
ssh root@<konteyner-ip-adresi>

Depolama Yönetimi

LXC konteynerlerine ek depolama alanları bağlamak veya ana makineden dizinleri paylaşmak mümkündür.

Bağlantı Noktaları (Bind Mounts) Ekleme

Ana makinedeki bir dizini konteynerin içine bağlamak için `pct set` komutunu kullanabilirsiniz. Bu, verileri ana makinede tutarken konteyner içinde erişmenizi sağlar.

# Ana makinedeki /mnt/data/myshare dizinini 101 ID'li konteynerin /var/www/html içine bağla
pct set 101 -mp0 /mnt/data/myshare,mp=/var/www/html

Birden fazla bind mount için `-mp1`, `-mp2` vb. kullanabilirsiniz.

Kaynak Yönetimi (CPU, RAM)

Konteynerlerin CPU ve RAM gibi kaynakları çalışır durumdayken veya kapalıyken değiştirilebilir.

# Konteynerin RAM'ini 2GB'a ayarla
pct set 101 --memory 2048

# Konteynerin çekirdek sayısını 2'ye ayarla
pct set 101 --cores 2

# CPU kullanımı için ağırlık ayarla (daha yüksek değer, daha fazla CPU süresi)
pct set 101 --cpuunits 2048

Konteyneri Güncelleme

LXC konteynerlerini güncellemek, içindeki işletim sistemini güncellemek anlamına gelir. Proxmox ana bilgisayarından şablon güncellemeleri almak, konteynerin içindeki işletim sistemini güncellemez.

# Konteyner içine girin
pct enter 101

# İşletim sistemini güncelleyin (örneğin Debian/Ubuntu için)
apt update && apt upgrade -y

Yedekleme ve Geri Yükleme

Proxmox, LXC konteynerleri için kolay yedekleme ve geri yükleme özellikleri sunar.

Yedekleme

Web UI üzerinden yedekleme yapabileceğiniz gibi, komut satırından da yapabilirsiniz:

# 101 ID'li konteyneri snapshot modunda "local" depolama alanına yedekle
vzdump 101 --mode snapshot --storage local

`–mode snapshot` konteyner çalışırken yedekleme yapar. `–mode suspend` ise kısa bir süreliğine konteyneri durdurur.

Geri Yükleme

Yedeklenmiş bir konteyneri geri yüklemek için:

# Yedeği (örneğin, vzdump-lxc-101-2023_10_26-10_00_00.vma.zst) yeni bir ID'ye (örneğin 102) geri yükle
pct restore 102 /var/lib/vz/dump/vzdump-lxc-101-2023_10_26-10_00_00.vma.zst --storage local-lvm

Eğer orijinal ID’ye geri yükleyecekseniz, önce eski konteyneri silmeniz gerekir.

Konteyneri Silme

Bir konteyneri tamamen kaldırmak için:

# Konteyneri durdur
pct stop 101

# Konteyneri sil
pct destroy 101

Bu işlem, konteynerin tüm verilerini ve yapılandırmasını kalıcı olarak silecektir.

Gelişmiş Konulara Kısa Bir Bakış

  • **Ayrıcalıklı (Privileged) vs. Ayrıcalıksız (Unprivileged) Konteynerler:** Ayrıcalıksız konteynerler, ana makine üzerinde daha az yetkiye sahip oldukları için güvenlik açısından tercih edilir. Varsayılan olarak Proxmox, ayrıcalıksız konteynerler oluşturur ve UID/GID eşlemesi (mapping) kullanır.
  • **Ağ Köprüleri ve VLAN’lar:** Birden fazla ağ kartı veya VLAN kullanıyorsanız, konteynerlerinizi belirli ağ köprülerine (`vmbrX`) bağlayarak ağ izolasyonu ve yönetimi sağlayabilirsiniz.
  • **Otomatik Başlatma:** Konteynerlerin Proxmox ana bilgisayarı başlatıldığında otomatik olarak başlamasını sağlamak için Web UI’da veya `pct set 101 –onboot 1` komutu ile “Start at boot” seçeneğini etkinleştirebilirsiniz.

Proxmox VE üzerinde LXC konteyner yönetimi, sunulan bu araçlar sayesinde oldukça esnek ve güçlüdür. Doğru planlama ve yönetim ile uygulamalarınızı hafif, hızlı ve güvenli bir şekilde barındırabilirsiniz. İyi bir sistem yöneticisi olarak, bu komutlara ve konseptlere hakim olmak, altyapınızdan en iyi şekilde yararlanmanızı sağlayacaktır.

155f52c7e9c3ea8a325b44ff056acd50611fa5e706241e72fc0165362c08111b?s=64&d=mm&r=g
Emre Karabulut
📊 Bu yazı 9 kez okundu.