systemd ile kaynak denetimi ve servis yalıtımı
cgroups v2 ile işlemci, bellek ve G/Ç sınırları koyar; DynamicUser ve ProtectSystem gibi seçeneklerle servisleri yalıtır, etkisini ölçerek sıkılaştırırsın.
Seviye 401 · 17 ders · 15 pratik lab
Dersler
cgroups v2
- cgroups v2: hiyerarşi, denetleyiciler ve dilimler
- systemd-cgls ve systemd-cgtop ile gözlem
- Dilimler ve kapsamlar: kaynakları gruplamak
- Kısa görev: hangi servisin hangi dilimde olduğunu haritala
Sınırlar
- İşlemci: CPUQuota ve CPUWeight
- Bellek: MemoryMax, MemoryHigh ve OOM davranışı
- G/Ç sınırları: IOWeight ve IOReadBandwidthMax
- TasksMax: çatal bombasına karşı
- systemd-run ile geçici ve sınırlı işler
- Kısa görev: gürültülü komşu servisi diğerlerini ezmeyecek şekilde sınırla
Yalıtım
- DynamicUser: her çalışmada geçici kullanıcı
- ProtectSystem, ProtectHome ve ReadWritePaths
- PrivateTmp, PrivateDevices ve PrivateNetwork
- Yetenekler ve sistem çağrısı süzgeci
- systemd-analyze security ile puanlamak
- Kısa görev: bir web servisinin açıklık puanını işlevini bozmadan düşür
Kapanış
- Bitirme görevi: paylaşılan bir sunucuda beş servisi adil ve yalıtılmış çalıştır
Pratik lablar
- Bir sürecin hangi denetim grubunda olduğunu bul: Verilen PID'nin cgroup yolunu ve ait olduğu dilimi bul, grup ağacında yerini göster.
- En çok kaynak tüketen birimi grup görünümünden bul: Süreç yerine birim düzeyinde bakarak işlemci, bellek ve G/Ç tüketiminde başı çeken servisi belirle.
- Denetleyicileri alt gruba devret: Bir servisin kendi alt gruplarını yönetebilmesi için devri aç, etkin denetleyicileri doğrula ve alt grupta sınır koy.
- Servise bellek üst sınırı koy: Bellek sızdıran servise üst sınır tanımla ve sınıra ulaştığında yalnızca o servisin sonlandırıldığını göster.
- İşlemci kotası ve ağırlığıyla servisleri dengele: Toplu iş servisini yüzde elli kotayla sınırla, web servisine yüksek ağırlık ver ve yük altında paylaşımı ölç.
- Yedek işinin disk G/Ç'sini sınırla: Yedek servisine aygıt bazında okuma ve yazma hızı sınırı koy; veritabanı gecikmesinin düzeldiğini ölçümle göster.
- Servisleri özel bir dilime yerleştir: Rapor servisleri için yeni bir dilim oluştur, iki servisi içine al ve dilime ortak bellek sınırı koy.
- Kullanıcı oturumlarına kaynak sınırı koy: Ortak sunucuda her kullanıcının oturumuna süreç sayısı ve bellek sınırı tanımla; bir kullanıcının diğerlerini etkilemediğini göster.
- Kiracılar için iki düzeyli kaynak sıradüzeni kur: Üç kiracı için iç içe dilimler tasarla; kiracı toplamı ve kiracı içi servis sınırlarını ayrı ayrı uygula ve yük testiyle doğrula.
- Servisin dosya sistemini salt okunur yap: Servise sistem dizinlerini salt okunur gösteren ve yalnızca veri dizinine yazma izni veren ayarları ekle.
- Servisi ayrı kullanıcı ve özel /tmp ile yalıt: Kök olarak çalışan servisi dinamik kullanıcıya, özel geçici dizine ve gereken tek yeteneğe indir.
- Sistem çağrısı süzgeciyle servisi daralt: Servise sistem çağrısı süzgeci ve adres ailesi kısıtı uygula; reddedilen çağrıyı denetim kaydından bulup kuralı ayarla.
- Bellek bitince hangi servisin korunacağını belirle: Veritabanının OOM puanını düşür, önbellek servisininkini yükselt ve bellek baskısında beklenen servisin sonlandığını göster.
- Yumuşak bellek sınırıyla baskıyı gözlemle: Servise yumuşak sınır koy, baskı bilgisinden yavaşlamayı oku ve sert sınırla davranış farkını raporla.
- Gürültülü komşu sorununu sınırlar ve erken müdahaleyle çöz: Göktaşı Yazılım'ın derleme sunucusunda diğer servisleri boğan işi baskı ölçümleriyle bul; dilim sınırları ve erken OOM müdahalesiyle dengele.
Kurs hakkında
cgroups v2 ile işlemci, bellek ve G/Ç sınırları koyar; DynamicUser ve ProtectSystem gibi seçeneklerle servisleri yalıtır, etkisini ölçerek sıkılaştırırsın.
Ne öğreneceksin
- cgroups v2
- Sınırlar
- Yalıtım
- Kapanış
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.