Proxmox + Ceph HCI Cluster Node Decommission v9.x

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: 10

Node Listesi

pvecm nodes

Ceph 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  Migrate

3-HA Kaynaklarını Temizle

HA kontrolü:
ha-manager status

HA resource taşıma:
ha-manager migrate vm:101 node02

4-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.65

5-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 edilmez

6-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
   metadata

8-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 / 7

9-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-01

11-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 --destroy

12-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-06

15-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-06

16-Ceph Cluster Health Kontrol

ceph -s

Beklenen:
HEALTH_OK

17-Ceph HCI Node Shrink Planning

Örnek pool:
pool: r1_c01_artuklu
size: 3
PG: 4096
autoscaler: off

18-Ceph PG Dağılım Mantığı

Ceph veri dağılımı:

Object
 
PG
 
OSD

Replica:
size=3

19-PG Hesaplama Formülü

PG = (OSD × 100) / replica

20-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 OSD

22-Yeni PG Hesabı

(60 × 100) / 3 = 2000

İdeal: 2048 PG

Ama mevcut: 4096 PG

23-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
 
recovery

25—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 -s

27-OSD Utilization Kontrol (Opsiyonel)

ceph osd df

Düzeltme: ceph osd reweight-by-utilization

28—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 removed

Final Operasyon Sırası

VM migrate

HA cleanup

OSD out

OSD purge

MON remove

Node shutdown

pvecm delnode

Ceph rebalance

Bir sonraki yazımızda görüşmek üzere. Faydalı olması dileğiyle.