tr | en
5
Dec
2016
RHEL7 ve systemd
Category: Red Hat
RHEL 7. sürümü ile birlikte SysVinit yerine systemd geldi. Böylelikle Linux işletmenlerinin bu yeni Sistem ve Servis Yönetimi altyapısına aşina olmaları gereği doğdu. Bu makale systemd ve ilgili konular için bir giriş niteliğindedir.

Modern Linux işletim sisteminde başlama (startup) ve sunucu (server) süreçlerini yöneten sistem olarak systemd  sistem kaynaklarının, arkaplan (daemon) ve diğer süreçlerin (process) etkinleştirilmesi için bir mekanizma sağlar.

Arkaplan süreçleri (daemons) adından da anlaşılabileceği gibi başlatıldıklarında görevlerini yürütmek üzere arka planda bekler veya çalışırlar. Bu süreçler tipik olarak işletim sistemi yüklenirken (boot) başlatılırlar ve sistem kapatılana ya da manuel olarak durdurulana kadar arkaplanda (background) çalışmayı sürdürürler. Genel bir ilke olarak arkaplan süreç adları genellikle d harfi ile sonlanır (sshd - ssd deamon gibi).

Systemd, halefi init'e kıyasla işletim sisteminin çok daha hızlı yüklenmesini sağlar. Bunun nedeni daha az betik kullanmanın yanısıra bağımsız görevleri paralel çalıtırma yeteneğidir. Systemd bu tür bağımsız görevleri units (birimler) olarak adlandırmaktadır.

Systemd ortamında aşağıdaki kavramlar yaygın olarak kullanılır:

  • Daemon: başlatıldıklarında görevlerini yürütmek üzere arka planda bekleyen veya çalışan süreçler.
  • Socket: Bağlantıları dnlemek için arkaplan süreçleri tarafından kullanılır. Yerel ve uzak istemciler için ana iletişim kanalıdır. Süreçler tarafından yaratılırlar.
  • Service: Genellikle bir ya da daha çok sayıda arkapan sürecine işaret eder Servisi başlatma/durdurma işlemi genellikle sistem durumunda (state) kalıcı bir değişikliğe neden olur..

Systemd Tarihçesi

Alışageldiğimiz init sürecinin yerini RHEL 7 sürümünde systemd aldı. Diğer bir deyişle birinci (1 ID'li) süreçin (process) adı artık systemd.

Özelliklerinden birkaçı:

  • Paralelleştirme yeteneği
  • Arkaplan süreçlerin gerektiğinde (on-demand) başlatılabilmesi
  • Otomatik servis bağımlılık yönetimi
  • İlgili süreçlerin birlikte izlenebilme yöntemi

init'in aksine systemd sh-tabanlı (shell based) servis betiklerini sadece birkeç kalıtsal (eskiden gelen) süreç için kullanmaktadır. Yeni süreçler artık sh betiği olarak geliştirilmiyor.

systemctl ve systemd Birimleri (Units)

Çeşitli türdeki sistem nesnelerini yönetmek için systemctl kullanılır.

Mevcut unit tiplerini listelemek için aşağıdaki komutu kullanın:

# systemctl -t help
Available unit types:
service
socket
busname
target
snapshot
device
mount
automount
swap
timer
path
slice
scope

 

Sıklıkla kullanılan unit tipleri:

Unit Tipi Dosya Uzantısı Açıklama
Service .service Sistem servislerini belirler

Sıklıkla erişilen arkaplan süreçlerini (daemons) başlatmak için kullanılır. Örneğin web sunucusu.

Socket .socket Süreçler Arası İletişim (IPC-Inter Process Communication) soketlerini belirler.

Arkaplan sürecine geçirilen socket ya da istemci bağlantısı yapıldığında yeni başlatılacak servisi kontrol etmek içindir.

Boot sırasında servisin başlatılmasını ertelemek ve sıklıkla kullanılmayan servislerin talep geldiğinde başlatılması için kullanılır.

xinetd sunucusunu kullanan servislere benzer yapıdadır.

Path .path

Path (yol) servisin başlatılmasını belirli bir dosya sistemi değişikliği oluşana dek ertelemek için kullanılır.

Genellikle spool izinleri kullanan serviisler için kullanılır. Örneğin yazıcı çıktı sistemi gibi.

 

 

 




Add Comment (please login)