简述systemd的新特性及unit常见类型分析

简述systemd的新特性及unit常见类型分析

简述systemd的新特性及unit常见类型分析

systemd由来

  • Linux一直以来采用init进程但是init有两个缺点:

    1、启动时间长。Init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。(这也是CentOS5的主要特征)
    2、启动脚本复杂。Init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这使得脚本变得很长而且复杂。

  • Init:

    CentOS5: Sys init 是启动速度最慢的,串行启动过程,无论进程相互之间有无依赖关系。
    CentOS6: Upstart init 相对启动速度快一点有所改进。有依赖的进程之间依次启动而其他与之没有依赖关系的则并行同步启动。
    CentOS7: Systemd 与以上都不同。所有进程无论有无依赖关系则都是并行启动(当然很多时候进程没有真正启动而是只有一个信号或者说是标记而已,在真正利用的时候才会真正启动)。

systemd新特性

  • 系统引导时实现服务并行启动;
  • 按需激活进程;
  • 系统状态快照;
  • 基于依赖关系定义服务控制逻辑;

unit

Systemd可以管理系统中所有资源。不同的资源统称为unit(单位)。Unit表示不同类型的systemd对象,通过配置文件进程标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息。

  • unit配置文件
  • unit类型

    Unit一共分为12种。Sysstemctl –t help 查看unit类型,常见类型如下:

    • Service unit:文件扩展名为.service,用于定义系统服务;
    • Target unit:文件扩展为.target,用于模拟实现“运行级别”;
    • Device unit: .device,用于定义内核识别的设备;
    • Mount unit: .mount,定义文件系统挂载点;
    • Socket unit: .socket,用于标识进程间通信用到的socket文件;
    • Snapshot unit: .snapshot, 管理系统快照;
    • Swap unit: .swap, 用于标识swap设备;
    • Automount unit: .automount,文件系统自动点设备;
    • Path unit: .path, 用于定义文件系统中的一文件或目录;

systemd关键特性

  • 基于socket的激活机制:socket与程序分离;
  • 基于bus的激活机制;
  • 基于device的激活机制;
  • 基于Path的激活机制;
  • 系统快照:保存各unit的当前状态信息于持久存储设备中;
  • 向后兼容sysv init脚本:/etc/init.d/

systemd的不兼容性

  • systemctl的命令是固定不变的;
  • 非由systemd启动的服务,systemctl无法与之通信;

systemctl命令

systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。

语法

旧指令和新指令对比

设置运行级别

语法

命令

运行级别:

实例:

其他命令

Unit 的配置文件

1.配置目录

2.文件组成

3.Unit段的常用选项

4.Service段的常用选项

5.Install段的常用选项:

6.新创建、修改unit文件需重载此配置文件

实例:编译安装的nginx并通过systemd来管理

  • 安装工具
  • 下载nginx
  • 解压编译
  • 安装
  • 创建nginx.service文件
  • 检查nginx是否启动

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101092

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code