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单元文件

  • 相关阅读:
    react中useContext实现父子组件传值
    react中异步action的使用
    react中redux原理图
    react中antd按需引入+自定义主题
    react中修改antd主题色?
    程序员哀叹工资低:二本计算机毕业,四年前端开发,年包才四十万!薪资真的和学历挂钩吗?
    C++学到什么程度可以面试找工作?
    一个风骚的C语言操作引起的轩然大波!
    如何比较两种截然不同的编程语言的性能!路人甲:这怎么比较?
    为啥码了十年代码,做到了高级工程师,但还是单身?
  • 原文地址:https://www.cnblogs.com/linerbaby/p/11917022.html
Copyright © 2011-2022 走看看