Bu runbook Proxmox VE + Ceph HCI cluster ortamında node shrink işlemini güvenli şekilde yapmak için hazırlanmıştır.
Örnek Operasyon:
10 node → 5 node shrink
Operasyon Mantık Sırası
1️⃣ Operasyon planı
2️⃣ VM / HA cleanup
3️⃣ Ceph OSD removal
4️⃣ Proxmox node removal
5️⃣ Ceph rebalance & PG planning
6️⃣ CRUSH rule doğrulama
Örnek Cluster Ortamı
Proxmox Cluster: 10 node
Storage: Ceph HCI
Replica size: 3
OSD per node: 12 NVMe
Toplam: 120 OSD
Shrink hedefi: 10 → 5 node
1-Operasyon Öncesi Kontroller
Proxmox Cluster Health
pvecm status
Beklenen çıktı:
Quorate: Yes
Nodes: 10Node Listesi
pvecm nodesCeph Cluster Health
ceph -s
Beklenen:
HEALTH_OK
Eğer cluster HEALTH_WARN / DEGRADED ise node removal yapılmamalıdır.2-Node Üzerindeki VM ve Container’ları Taşı
Node tamamen boş olmalıdır.
Kontrol:
qm list
pct list
VM Migration
qm migrate VMID TARGETNODE --online
Container Migration
pct migrate CTID TARGETNODE
GUI
VM → Migrate3-HA Kaynaklarını Temizle
HA kontrolü:
ha-manager status
HA resource taşıma:
ha-manager migrate vm:101 node024-Node Üzerindeki Ceph OSD’leri Tespit Et
ceph osd tree
Örnek:
host r1-prx-test-06
osd.61
osd.62
osd.63
osd.64
osd.655-OSD’leri OUT Yap
ceph osd out 61
ceph osd out 62
ceph osd out 63
ceph osd out 64
ceph osd out 65
Kontrol:
ceph -s
Cluster aşağıdaki aktiviteleri başlatır:
recovery
backfill
rebalancing
⚠️ Bu işlemler bitmeden devam edilmez6-OSD’leri STOP Et
systemctl stop ceph-osd@61
systemctl stop ceph-osd@62
systemctl stop ceph-osd@63
systemctl stop ceph-osd@64
systemctl stop ceph-osd@65
Kontrol:
systemctl status ceph-osd@61
systemctl status ceph-osd@62
systemctl status ceph-osd@63
systemctl status ceph-osd@64
systemctl status ceph-osd@65
👉 inactive olmalı7-OSD’leri Cluster’dan Tamamen Sil
ceph osd purge 61 --yes-i-really-mean-it
ceph osd purge 62 --yes-i-really-mean-it
ceph osd purge 63 --yes-i-really-mean-it
ceph osd purge 64 --yes-i-really-mean-it
ceph osd purge 65 --yes-i-really-mean-it
Bu işlem temizler:
• OSD map
• CRUSH map
• auth keys
• metadata8-Ceph MON Kontrol
ceph mon dump
Eğer node üzerinde MON varsa:
ceph mon remove r1-prx-test-06
MON sayısı tek sayı olmalıdır
3 / 5 / 79-Ceph MGR Kontrol
ceph mgr dump
Node üzerindeki mgr varsa kaldırılabilir.10-CRUSH Host Entry Temizliği
ceph osd crush remove r1-prx-test-0111-Disklerin Wipe ve Destroy Edilmesi
ceph-volume lvm zap /dev/nvme0n1 --destroy
ceph-volume lvm zap /dev/nvme1n1 --destroy
ceph-volume lvm zap /dev/nvme2n1 --destroy
ceph-volume lvm zap /dev/nvme3n1 --destroy
ceph-volume lvm zap /dev/nvme4n1 --destroy
ceph-volume lvm zap /dev/nvme5n1 --destroy
ceph-volume lvm zap /dev/nvme6n1 --destroy
ceph-volume lvm zap /dev/nvme7n1 --destroy
ceph-volume lvm zap /dev/nvme9n1 --destroy
ceph-volume lvm zap /dev/nvme10n1 --destroy
ceph-volume lvm zap /dev/nvme11n1 --destroy
ceph-volume lvm zap /dev/nvme12n1 --destroy12-Node’u Power Off Et
shutdown -h now
⚠️ Node cluster networkünde tekrar açılmamalıdır.13-Proxmox Cluster’dan Node Çıkarma
Başka bir node üzerinden çalıştırılır.
pvecm delnode r1-prx-test-06
Kontrol:
pvecm nodes
Node listeden silinmiş olmalıdır.14-Eğer Quorum Hatası Oluşursa
pvecm expected 1
Sonra tekrar:
pvecm delnode r1-prx-test-0615-Node Directory Temizliği
Bazı durumlarda şu klasör kalabilir:
/etc/pve/nodes/r1-prx-test-06
Temizleme:
rm -rf /etc/pve/nodes/r1-prx-test-0616-Ceph Cluster Health Kontrol
ceph -s
Beklenen:
HEALTH_OK17-Ceph HCI Node Shrink Planning
Örnek pool:
pool: r1_c01_artuklu
size: 3
PG: 4096
autoscaler: off18-Ceph PG Dağılım Mantığı
Ceph veri dağılımı:
Object
↓
PG
↓
OSD
Replica:
size=319-PG Hesaplama Formülü
PG = (OSD × 100) / replica20-Mevcut Cluster
10 node
12 OSD per node
Toplam: 120 OSD
PG hesap: (120 × 100) / 3 = 4000
Mevcut: 4096 PG
Bu ideal.21-Shrik Sonrası
5 node
12 OSD
Toplam: 60 OSD22-Yeni PG Hesabı
(60 × 100) / 3 = 2000
İdeal: 2048 PG
Ama mevcut: 4096 PG23-PG Fazla Olursa
Etki Sebep
OSD RAM Artar PG state
CPU Artar Metadata
Peering Süresi Artar Recovery
Production Cluster'larda Genelde Kritik Problem Yaratmaz.24—Node Removal Data Movement
Node Removal Sırasında:
OSD OUT
↓
PG remap
↓
backfill
↓
recovery25—Veri Hareketi Hesabı
Shrink: 10 → 5 node
Cluster kapasitesinin yaklaşık: %50
Yani Ceph yaklaşık: cluster data × 50% veri taşır.26—Shrink Strategy
⚠️ 10 → 5 shrink tek seferde yapılmaz
Önerilen sıra:
10 → 9
recovery finish
9 → 8
recovery finish
8 → 7
recovery finish
7 → 6
recovery finish
6 → 5
Her adımda kontrol:
ceph -s27-OSD Utilization Kontrol (Opsiyonel)
ceph osd df
Düzeltme: ceph osd reweight-by-utilization28—CRUSH Failure Domain Kontrolü
Replica dağılımı şu şekilde olmalıdır:
replica1 → r1-prx-test-10
replica2 → r1-prx-test-09
replica3 → r1-prx-test-08
replica3 → r1-prx-test-07
replica3 → r1-prx-test-06
Kontrol:
ceph osd crush rule dump
Beklenen:
step chooseleaf firstn 0 type host
Bu sayede replica’lar farklı node’lara dağıtılır.29—Final Health Check
ceph -s
ceph osd tree
ceph osd df
pvecm status
Beklenen:
HEALTH_OK
cluster stable
node removedFinal Operasyon Sırası
VM migrate
↓
HA cleanup
↓
OSD out
↓
OSD purge
↓
MON remove
↓
Node shutdown
↓
pvecm delnode
↓
Ceph rebalanceBir sonraki yazımızda görüşmek üzere. Faydalı olması dileğiyle.
