Dünyanın en detaylı ücretsiz FDE + DevOps kütüphanesi: 140 üzeri ders, 70 üzeri lab ve 80 uzun yazı, İngilizce ve Türkçe. Öğrenmeye başla →

Çıkış yaptıktan sonra ayakta kalan systemd servisleri

Güncelleme

Sunucu odasında dizüstü bilgisayarla sunucuları izleyen mühendis

Enable ve start farkı, yeniden başlatma politikaları ve journal: her DevOps yeni başlayanın asgari systemd bilgisi.

Her yeni başlayan aynı hayaletle tanışır: servis sen bakarken çalışır, gece ya da yeniden başlatmadan sonra ölür. Neden neredeyse hiçbir zaman uygulama değildir. Süreç başlatmakla servis kurmak arasındaki farktır.

Start şimdi, enable kalıcı

start birimi bu açılışta hemen çalıştırır. enable açılışa bağlar, her yeniden başlatmadan sonra geri gelir. Üretim ikisini de ister: şimdi başlat, sonrası için enable et. Devraldığın makinede iki durumu da kontrol et, çünkü start edilmiş ama enable edilmemiş servis bir yeniden başlatma uzağında kesintidir.

Limitli yeniden başlatma

Always ya da on-failure politikası çökmeleri kısa hıçkırıklara çevirir. Ama kontrolsüz yeniden başlatma döngüsü kırık yapılandırmada binlerce log satırı yazar, gerçek hatayı saklar. Politikayı patlama limitiyle eşle: kısa pencerede birkaç yeniden başlatma, sonra dur ve insan bakana kadar durmuş kal.

Çalışılmış örnek: kurgusal bir gece kesintisi

Aşağıdaki bağlam kurgusaldır. Kurgusal ParcelTrack servisi sanal makinede el yordamı başlatılmış süreçle çalışır. Haftalarca çalışır, sonra host 03.00 yamasıyla yeniden başlar, servis geri gelmez. Kimse uyanmaz, çünkü ayakta olmanın tanımı yoktur.

Sabah teşhisi on dakika sürer: süreç start edilmiş, hiç enable edilmemiş, birim dosyası yoktur. Düzeltme küçük bir birim dosyasıdır: çalışma dizini, çalıştıran kullanıcı, arızada limitli yeniden başlatma, enable artı start. Doğrulama bilerek yeniden başlatma testidir: yeniden başlat, servisin tek başına döndüğünü doğrula, kontrolü yaz.

Kontrol listesi: başıboş bırakılabilir servis

  1. Birim dosyası var, çalıştıran kullanıcı ve çalışma dizini ayarlı.
  2. Hem şimdi başlamış hem açılışa enable edilmiş.
  3. Arızada limitli yeniden başlatma.
  4. Yeniden başlatma testi tek başına döndüğünü kanıtlamış.

İlgili okuma

Net yanıtlar

Sık sorulan sorular

Enable ile start farkı nedir?

Start servisi şimdi çalıştırır. Enable açılışta başlamasını sağlar. Start edilmiş ama enable edilmemiş servis ilk yeniden başlatmada ölür.

Servisler hep yeniden başlamalı mı?

Genelde evet, Restart=on-failure ile ve kırık yapılandırmanın sonsuz dönmemesi için patlama limitiyle.

Loglarım nereye gitti?

Journal'a. Yapılandırmaya dokunmadan önce birim durumuna, sonra o birimin son journal satırlarına bak.

Read this page in English

Okumayı sertifikaya dönüştürün

Bu yazı ücretsiz saha notudur. Sınavlar tarihli oturumlarda, 15 kişilik sınıflarda yapılır; tek fiyat tek denemeyi kapsar. Derslerin tamamı ücretsizdir.