日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 系统服务管理和控制程序(初始化系统/Init System) -- systemd 介绍

發(fā)布時間:2023/12/3 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 系统服务管理和控制程序(初始化系统/Init System) -- systemd 介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • systemd 簡介
  • systemd 啟動過程概述
  • Systemd的爭議

systemd 簡介

開發(fā)systemd的主要目的就是減少系統(tǒng)引導(dǎo)時間和計(jì)算開銷。systemd(系統(tǒng)管理守護(hù)進(jìn)程),最開始以GNU GPL協(xié)議授權(quán)開發(fā),現(xiàn)在已轉(zhuǎn)為使用GNU LGPL協(xié)議,它是如今討論最熱烈的引導(dǎo)和服務(wù)管理程序。如果你的Linux系統(tǒng)配置為使用systemd引導(dǎo)程序,它取替?zhèn)鹘y(tǒng)的SysV init,啟動過程將交給systemd處理。systemd的一個核心功能是它同時支持SysV init的后開機(jī)啟動腳本。

systemd引入了并行啟動的概念,它會為每個需要啟動的守護(hù)進(jìn)程建立一個套接字,這些套接字對于使用它們的進(jìn)程來說是抽象的,這樣它們可以允許不同守護(hù)進(jìn)程之間進(jìn)行交互。systemd會創(chuàng)建新進(jìn)程并為每個進(jìn)程分配一個控制組(cgroup)。處于不同控制組的進(jìn)程之間可以通過內(nèi)核來互相通信。systemd處理開機(jī)啟動進(jìn)程的方式非常漂亮,和傳統(tǒng)基于init的系統(tǒng)比起來優(yōu)化了太多。讓我們看下systemd的一些核心亮點(diǎn)。

  • systemd支持并發(fā)引導(dǎo)過程從而可以更快啟動
  • 通過控制組來追蹤進(jìn)程,而不是PID
  • 優(yōu)化了處理引導(dǎo)過程和服務(wù)之間依賴的方式
  • 支持系統(tǒng)快照和恢復(fù)
  • 監(jiān)控已啟動的服務(wù);也支持重啟已崩潰服務(wù)
  • 包含了systemd-login模塊用于控制用戶登錄
  • 支持加載和卸載組件
  • 低內(nèi)存使用痕跡以及任務(wù)調(diào)度能力
  • 記錄事件的Journald模塊和記錄系統(tǒng)日志的syslogd模塊
  • systemd同時也清晰地處理了系統(tǒng)關(guān)機(jī)過程。它在/usr/lib/systemd/目錄下有三個腳本,分別叫systemd-halt.service,systemd-poweroff.service,systemd-reboot.service。這幾個腳本會在用戶選擇關(guān)機(jī),重啟或待機(jī)時執(zhí)行。在接收到關(guān)機(jī)事件時,systemd首先卸載所有文件系統(tǒng)并停止所有內(nèi)存交換設(shè)備,斷開存儲設(shè)備,之后停止所有剩下的進(jìn)程。

    systemd 啟動過程概述

    讓我們看一下Linux系統(tǒng)在使用systemd作為引導(dǎo)程序時的開機(jī)啟動過程的結(jié)構(gòu)性細(xì)節(jié)。為了簡單,我們將在下面按步驟列出來這個過程:

  • 當(dāng)你打開電源后電腦所做的第一件事情就是BIOS初始化。BIOS會讀取引導(dǎo)設(shè)備設(shè)定,定位并傳遞系統(tǒng)控制權(quán)給MBR(假設(shè)硬盤是第一引導(dǎo)設(shè)備)。

  • MBR從Grub或LILO引導(dǎo)程序讀取相關(guān)信息并初始化內(nèi)核。接下來將由Grub或LILO繼續(xù)引導(dǎo)系統(tǒng)。如果你在grub配置文件里指定了systemd作為引導(dǎo)管理程序,之后的引導(dǎo)過程將由systemd完成。systemd使用“target”來處理引導(dǎo)和服務(wù)管理過程。這些systemd里的“target”文件被用于分組不同的引導(dǎo)單元以及啟動同步進(jìn)程。

  • systemd執(zhí)行的第一個目標(biāo)是default.target。但實(shí)際上default.target是指向graphical.target的軟鏈接。Linux里的軟鏈接用起來和Windows下的快捷方式一樣。文件Graphical.target的實(shí)際位置是/usr/lib/systemd/system/graphical.target。在下面的截圖里顯示了graphical.target文件的內(nèi)容。

  • 在這個階段,會啟動multi-user.target而這個target將自己的子單元放在目錄“/etc/systemd/system/multi-user.target.wants”里。這個target為多用戶支持設(shè)定系統(tǒng)環(huán)境。非root用戶會在這個階段的引導(dǎo)過程中啟用。防火墻相關(guān)的服務(wù)也會在這個階段啟動。
  • "multi-user.target"會將控制權(quán)交給另一層“basic.target”。

  • "basic.target"單元用于啟動普通服務(wù)特別是圖形管理服務(wù)。它通過/etc/systemd/system/basic.target.wants目錄來決定哪些服務(wù)會被啟動,basic.target之后將控制權(quán)交給sysinit.target.
  • "sysinit.target"會啟動重要的系統(tǒng)服務(wù)例如系統(tǒng)掛載,內(nèi)存交換空間和設(shè)備,內(nèi)核補(bǔ)充選項(xiàng)等等。sysinit.target在啟動過程中會傳遞給local-fs.target。這個target單元的內(nèi)容如下面截圖里所展示。
  • local-fs.target,這個target單元不會啟動用戶相關(guān)的服務(wù),它只處理底層核心服務(wù)。這個target會根據(jù)/etc/fstab和/etc/inittab來執(zhí)行相關(guān)操作。
    系統(tǒng)引導(dǎo)性能分析
  • systemd 提供了工具用于識別和定位引導(dǎo)相關(guān)的問題或性能影響。systemd-analyze是一個內(nèi)建的命令,可以用來檢測引導(dǎo)過程。你可以找出在啟動過程中出錯的單元,然后跟蹤并改正引導(dǎo)組件的問題。在下面列出一些常用的systemd-analyze命令。

    systemd-analyze time 用于顯示內(nèi)核和普通用戶空間啟動時所花的時間。

    $ systemd-analyze time Startup finished in 1440ms (kernel) + 3444ms (userspace)

    systemd-analyze blame 會列出所有正在運(yùn)行的單元,按從初始化開始到當(dāng)前所花的時間排序,通過這種方式你就知道哪些服務(wù)在引導(dǎo)過程中要花較長時間來啟動。

    $ systemd-analyze blame 2001ms mysqld.service 234ms httpd.service 191ms vmms.service

    systemd-analyze verify 顯示在所有系統(tǒng)單元中是否有語法錯誤。

    systemd-analyze plot 可以用來把整個引導(dǎo)過程寫入一個SVG格式文件里。整個引導(dǎo)過程非常長不方便閱讀,所以通過這個命令我們可以把輸出寫入一個文件,之后再查看和分析。下面這個命令就是做這個。

    systemd-analyze plot > boot.svg

    Systemd的爭議

    Systemd并沒有幸運(yùn)地獲得所有人的青睞,一些專家和管理員對于它的工作方式和開發(fā)有不同意見。根據(jù)對于Systemd的批評,它不是“類Unix”方式因?yàn)樗囍鎿Q一些系統(tǒng)服務(wù)。一些專家也不喜歡使用二進(jìn)制配置文件的想法。據(jù)說編輯systemd配置非常困難而且沒有一個可用的圖形工具。

    總結(jié)

    以上是生活随笔為你收集整理的Linux 系统服务管理和控制程序(初始化系统/Init System) -- systemd 介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。