zoukankan      html  css  js  c++  java
  • systemd概念和运行机制

    systemd概念

    核心概念:单元

    依赖关系

    systemd事务

    启动目标和运行级别

    单元

    早期CentOS版本中的服务管理脚本在CentOS7中被服务但源文件替换。系统初始化需要启动后台服务,需要完成一系列的配置工作(如挂载文件系统),其中每一步或者每一项任务都要被systemd抽象为一个单元,单元由相应的配置文件进行识别和配置,一个单元需要一个对应的单元文件

    依赖关系

    虽然说systemd能够最大限度的并发执行很多有关于依赖的工作,但是一些任务存先后的依赖关系,无法并行执行。为解决这一依赖问题。systemd的单元之间可以彼此定义依赖关系。可以在单元

    文件中使用关键字来描述单元之间的依赖关系。如单元A依赖单元B,可以在单元B的定义中用require A来表示,这样systemd就会保证先启动A再启动B。

    systemd事务

    systemd能够保证事务完整性,此事务于数据库中有所不同,旨在保证多个依赖的单元之间没有循环引用。例如单元A,B,C之间存在依赖,systemd将无法启动任意一个服务,为此systemd将单元之间的依赖分为两种:即强依赖和弱依赖。systemd能够自动修复配置错误,极大的减轻了管理员的排错负担。

    启动目标和运行级别

    systemd可以创建不同的装填,装填提供了灵活的机制来设置启动配置项。这些状态是由多个但源文件组成的,systemd将这些状态称之为启动目标。

    运行级别就是操作系统当前长在运行的功能级别。Linux的标准运行级别为0~6。Centos7使用systemd代替init程序来开始系统初始化的过程,使用启动目标的概念来代替运行级别。

    运行级别之间是相互排斥的,不可能多个级别同时启动,但是多个启动目标可以同时启动,启动目标提供了最大的灵活性,可以继承一个已有的目标,并添加其他服务来创建自己的目标

    systemd启动系统时需要启动大量的单元。每一次启动都是指本次启动需要哪些单元。启动某个目标时,systemd就会启动其中所有的单元。从这个角度上来看,启动目标这个概念类似于一种状态,启动某个目标就好比启动到某种状态

    CentOS预定义了一些启动目标,与之前的版本有所不同,为了向后兼容,systemd也让一些启动目标映射为SysV的运行级别

    systemd单元文件

  • 相关阅读:
    拒绝喝酒理由1
    动态调用事件,事件的方法
    c#发送图片
    c#截屏功能的实现
    devexpress中文讨论论坛
    解析javascript变量
    devexpress_PivotGrid说明
    python学习之老男孩python全栈第九期_day022知识点总结——初识面向对象
    python学习之老男孩python全栈第九期_day022作业
    员工信息表
  • 原文地址:https://www.cnblogs.com/linerbaby/p/11917022.html
Copyright © 2011-2022 走看看