systemd管理
systemd是为改进传统系统启动方式而退出的Linux系统管理工具,现已成为大多数Linux发行版的标准配置
systemd与系统初始化
Linux系统启动过程中,当内核启动并完成装载跟文件系统后,就开始用户空间的系统初始化工作。Linux由三种系统初始化方式:
来源于UNIX的system V initialization
UpStart方式(SysV)
systemd方式
sysVinit初始化方式
传统的SysVinit是基于运行级别的系统。运行级别就是操作系统当前正在运行的功能级别,用来设定不同环境下所运行的程序和服务
SysVinit初始化原理简单,易于理解,可以依靠shell叫不能控制服务启动,服务脚本编写比较容易
SysV启动是线性,顺序的,启动过程比较慢。
Upstart初始化方式
Upstart是基事件机制的启动系统,它使用事件来启动和关闭系统服务。
系统服务的启动,停止等均是有事件触发的,他同时又能作为事件源触发其他服务。事件可以由内部产生,也可以由用户提供。运行级别的改变也可以被看作是事件。Upstart更加灵活,不仅能够在运行级别改变的时候启动或停止服务,也能在接收到系统发生其他改变的信息时启动或者停止服务
Upstart 使用/etc/init/目录中的系统服务配置文件决定系统服务何时启动,何时停止。
系统的所有服务和任务都是由事件驱动的。Upstart是并存的,Upstart主要解决服务的即插即用。针对服务顺序启动慢的问题。Upstart将相关的服务分组,让组内的服务顺序启动,组与组之间服务并行启动
systemd初始化方式
前两种系统初始化方式都需要由init进程来启动其他用户级别进程或服务,最终shi完成系统启动的全部过程。init始终是第一进程,其PID始终是1,他是系统所有进程额父进程。systemd初始化使用systemd取代init,作为系统的第一个进程。systemd不通过init脚本来启动服务,而是采用一种并行启动服务的机制。
systemd采用单元文件替换之前的初始化脚本呢。Linux以前的服务管理是分布式的。由SysV或Upstart通过/etc/rc.d/init.d/目录下的脚本进行管理。允许管理员控制服务的状态。采用Systemd,这些脚本就被单元文件所替代。单元有多种类型不限于服务,还包括挂载点,文件路径等。systemd的但源文件主要被放在/usr/lib/systemd/system和/etc/systemd/system/目录中。
systemd使用启动目标(Target)替代运行级别。前两种系统初始化方式使用运行级别代表特定的操作模式,每个级别可以启动特定的一些服务。启动目标类似于运行级别,又比运行级别更为灵活,它本身是一个目标类单元,可以更为灵活的为特定的启动目标组织要启动的单元,如启动服务,装载挂载点等。
systemd式Linux系统中最新的系统初始化方式,主要设计目标是刻骨SysVinit固有的缺点,尽可能的快速启动服务,减少系统资源的占用,为此实现了并改姓启动的模式,并行启动的最大的难点就在于解决服务之间的依赖性,systemd使用类似缓冲池的办法加以解决。
与Upstart相比,systemd更进一步提高了并行启动的能力,极大的缩短了系统启动的时间,Upstart采用时间驱动机制,服务可以暂不启动,但是有依赖关系的服务还是必须先启动的,这还是一种串行执行。systemd能够进一步提高并发性,即便对那些Upstart认为存在相互依赖而必须运行的服务。也可以并发启动
systemd与SysVinit兼容,支持并行化任务。按需启动守护进程,基于是事务依赖性关系精密控制各种服务,非常有助于标准化的Linux的管理。systemd提供超时机制,所有的服务有5分钟的超时限制,防止系统被卡。
____本文摘自《centos Linux系统管理与运维》
systemd管理的更多相关文章
- CentOs7下systemd管理知识要点
centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...
- Ubuntu 18.04 使用Systemd管理MySQL 5.6
转自:https://blog.csdn.net/skykingf/article/details/45225981 如何用Systemd管理 general 包安装的MySQL呢? 首先看看yum安 ...
- dockerd启动配置_修改IP和systemd管理
docker采用CS架构,dockerd是管理后台进程,默认的配置文件为/etc/docker/daemon.json(--config-file可以指定非默认位置). 一个完整的daemon.jso ...
- linux任务计划 chkconfig工具 systemd管理服务 unit介绍 target介绍
linux任务计划 任务计划:特定时间备份数据,重启服务,shell脚本,单独的命令等等. 任务计划配置文件:cat /etc/crontab [root@centos7 ~]# cat /etc/c ...
- 简述systemd的新特性及unit常见类型分析、使用systemd管理编译安装的nginx
1. systemd新特性 并行处理(同时启动)所有服务. 基于依赖关系定义的服务控制逻辑 系统状态快照 按需激活进程,只有第一次被访问时才会真正启动: 2. systemd的常见unit类型 Ser ...
- linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍
第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...
- Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍
一.linux任务计划cron crontab -u -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...
- Linux 使用 Systemd 管理进程服务
转载自:https://mp.weixin.qq.com/s/e-_PUNolUm22-Uy_ZjpuEA systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于i ...
- systemd管理网络应用
采用systemd-networkd管理网卡 主网卡eth0的配置文件/etc/systemd/network/20-eth0.network,静态配置时内容示例如下: [Match] Name=et ...
- systemd管理进程
systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...
随机推荐
- java源码解析
String深入解析 String具有不变性的原因: String被final修饰,它不可能被继承,也就是任何对String的操作方法,都不会被继承覆写 String中保存数据的是一个char数组的v ...
- VSCode 安装 code 命令
VSCode 提供 code 命令直接从命令行中打开文件目录,此时需要先安装 code 命令. 1.首先打开 VSCode 2.使用 command + shift + p (注意window 下使用 ...
- FastDFS集群-安装说明
一.简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线 ...
- 阿里巴巴开源故障注入工具_chaosblade
chaosblade是阿里巴巴最近开源的一款故障注入的工具,因为我最近在做公司的虚拟化平台的可靠性测试工具,无意中发现这个工具,个人感觉比较有用,用起来也比较简单,所以拿出来分享一下,期望对大家的工作 ...
- Java 异常(二) 自定义异常
上篇文章介绍了java中异常机制,本文来演示一下自定义异常 上篇文章讲到非运行时异常和运行时异常,下面我们来看一下简单实现代码. 首先,先来看下演示目录 非运行时异常 也称 检查时异常 public ...
- 使用animate.css
今天有个一前辈来看了一下我的小程序啊,说写的还行就是可以不用只按照ui给的图写界面,自己可以添加一些动态的炫酷效果,不用不知道一用吓一跳啊,用之前觉得好好一个界面为什么要搞那些花里胡哨的东西,单纯一点 ...
- 基于SEER的区块链版赛亚麻将游戏Pre alpha版本内测啦!
游戏基于SEER测试网络文体平台模块(Culture and Sports Platform,CSP),正在进行数据调试等工作,大家可以尝鲜体验. 此游戏账户和资金等核心系统完全基于区块链,但目前运行 ...
- 《Effective Java》 读书笔记(八)避免使用Finalizer和Cleaner机制
Finalizer和Cleaner并不等同于C++中的析构函数,是不确定多久会被调用的,甚至有时候可能不会被调用,因此除了作为一个安全网或者终止非关键的本地资源,不应该在Finalizer或Clean ...
- 【XSY1986】【BZOJ1455】罗马游戏
就是一模板题. 合并就直接merge. pop就是将自己的值设为一,再将自己的左右儿子合并即可. 查询直接找到堆顶,输出. 模板左偏树 代码: #include<bits/stdc++.h> ...
- 学习笔记49_Redis
Redis和memcache区别: 1 . mm是通过客户端驱动实现集群化,Redis是通过服务器配置文件集群 2. redis是可以进行持久化的存储 3. redis提供高级的数据结构,队列,栈都提 ...