systemd

systemd关机流程 以及 自定义systemd关机脚本和服务

爱⌒轻易说出口 提交于 2020-02-28 04:45:34
systemd关机流程 在使用systemd的linux系统中,reboot,shutdown,halt等命令是指向systemctl的软链接,执行reboot相当于执行 systemctl reboot,systemctl reboot 会切换到 reboot.target. 下面使用systemd进行系统关闭/重启的依赖关系图: (conflicts with (conflicts with all system all file system services) mounts, swaps, | cryptsetup | devices, ...) | | v v shutdown.target umount.target | | \_______ ______/ \ / v (various low-level services) | v final.target | _____________________________________/ \_________________________________ / | | \ | | | | v v v v systemd-reboot.service systemd-poweroff.service systemd-halt.service systemd-kexec.service | | | | v v v v

最简明扼要的 Systemd 教程,只需十分钟

不羁岁月 提交于 2020-02-28 04:14:03
systemctl常用命令介绍~~~ Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。 启动及服务 大多数主流发行版要么已经采用 Systemd,要么即将在下个发布中采用(如 Debian 和 Ubuntu)。在本教程中,我们使用 Fedora 21(该发行版已经是 Systemd 的优秀实验场地)的一个预览版进行演示,但不论您用哪个发行版,要用到的命令和注意事项都应该是一样的。这是 Systemd 的一个加分点:它消除了不同发行版之间许多细微且琐碎的区别。 在终端中输入 ps ax | grep systemd ,看到第一行,其中的数字 1 表示它的进程号是1,也就是说它是 Linux 内核发起的第一个程序。因此,内核一旦检测完硬件并组织好了内存,就会运行 /usr/lib/systemd/systemd 可执行程序,这个程序会按顺序依次发起其他程序。(在还没有 Systemd 的日子里,内核会去运行 /sbin/init ,随后这个程序会在名为 SysVinit 的系统中运行其余的各种启动脚本。) Systemd 的核心是一个叫单元unit的概念,它是一些存有关于服务service

Linux启动时间优化技巧

安稳与你 提交于 2020-02-28 00:47:22
快速启动嵌入式设备或电信设备,对于时间要求紧迫的应用程序是至关重要的,并且在改善用户体验方面也起着非常重要的作用。这个文章给予一些关于如何增强任意设备的启动时间的重要技巧。 快速启动或快速重启在各种情况下起着至关重要的作用。为了保持所有服务的高可用性和更好的性能,嵌入式设备的快速启动至关重要。设想有一台运行着没有启用快速启动的 Linux 操作系统的电信设备,所有依赖于这个特殊嵌入式设备的系统、服务和用户可能会受到影响。这些设备维持其服务的高可用性是非常重要的,为此,快速启动和重启起着至关重要的作用。 一台电信设备的一次小故障或关机,即使只是几秒钟,都可能会对无数互联网上的用户造成破坏。因此,对于很多对时间要求严格的设备和电信设备来说,在它们的设备中加入快速启动的功能以帮助它们快速恢复工作是非常重要的。让我们从图 1 中理解 Linux 启动过程。 图 1:启动过程 监视工具和启动过程 在对机器做出更改之前,用户应注意许多因素。其中包括计算机的当前启动速度,以及占用资源并增加启动时间的服务、进程或应用程序。 启动图 为监视启动速度和在启动期间启动的各种服务,用户可以使用下面的 命令 来安装: sudo apt-get install pybootchartgui 你每次启动时,启动图会在日志中保存一个 png 文件,使用户能够查看该 png 文件来理解系统的启动过程和服务。为此

读懂这一篇,集群节点不下线

做~自己de王妃 提交于 2020-02-27 14:43:09
作者 | 声东 阿里云售后技术专家 导读 :排查完全陌生的问题、完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战。今天借这篇文章,跟大家分析一例这样的问题。排查过程中,需要理解一些自己完全陌生的组件,比如 systemd 和 dbus。但是排查问题的思路和方法基本上还是可以复用了,希望对大家有所帮助。 问题一直在发生 1. I'm NotReady 阿里云有自己的 Kubernetes 容器集群产品。随着 Kubernetes 集群出货量的剧增,线上用户零星的发现,集群会非常低概率地出现节点 NotReady 情况。 据我们观察,这个问题差不多每个月就会有一到两个客户遇到。在节点 NotReady 之后,集群 Master 没有办法对这个节点做任何控制,比如下发新的 Pod,再比如抓取节点上正在运行 Pod 的实时信息。 2. 需要知道的 Kubernetes 知识 这里我稍微补充一点 Kubernetes 集群的基本知识。Kubernetes 集群的“硬件基础”,是以单机形态存在的集群节点。这些节点可以是物理机,也可以是虚拟机。集群节点分为 Master 和 Worker 节点。 Master 节点主要用来负载集群管控组件,比如调度器和控制器; 而 Worker 节点主要用来跑业务。Kubelet 是跑在各个节点上的代理,它负责与管控组件沟通,并按照管控组件的指示

Linux就该这么学 -- 命令 -- systemctl

♀尐吖头ヾ 提交于 2020-02-27 13:38:52
在Centos7之后Linux启动方式已经用systemd取代init了,systemd主要是通过systemctl这个系统服务管理指令来处理 语法格式: systemctl [参数] [服务] 常用参数: -start 启动服务 systemctl start httpd -stop 停止服务 systemctl stop httpd -restart 重启服务 systemctl restart httpd -enable 将服务加入到开机自启中 systemctl enable httpd -disable 将服务移出开机自启 systemctl disable httpd -status 查看该服务的状态 systemctl status httpd -list -units --type=service 列举所有已启动服务 systemctl list-units --type=service 来源: oschina 链接: https://my.oschina.net/u/3199663/blog/3168035

清理systemd日志

只谈情不闲聊 提交于 2020-02-27 09:23:09
转载请注明文章出处: 清理systemd日志 systemd journal 之于 systemd 犹如 syslog 之于 init ,其日志文件保存在 /var/log/journal 目录下。随着时间的流逝,该目录下会积累大量日志文件,占用不少的磁盘空间。如果硬盘容量较小或可用空间紧张,可以考虑清理过期日志释放占用的空间。 本文介绍清理systemd日志的方法。 清理systemd日志 清理之前,可查看一下systemd日志所占用的磁盘空间。既可以用常用的 du 命令: sudo du -sh /var/log/journal/ # 示例输出 # 3.9G /var/log/journal/ 但更推荐使用systemd日志管理专用命令 journalctl : journalctl --disk-usage # 示例输出 # Archived and active journals take up 3.9G on disk. 知道了日志占用的磁盘空间,接下来便可以清理过期日志。开始之前,建议 rotate 当前日志(rotate是日志操作中的一个术语,其归档旧日志,后续日志写入新创建的日志文件中): sudo journalctl --rotate journalctl 提供了三种清理systemd日志的方式。第一种是清理指定时间之前的日志: # 清理7天之前的日志 sudo

如何将node.js应用程序作为后台服务运行?

南楼画角 提交于 2020-02-27 02:25:17
多年来,由于这篇文章引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。 原始帖子 : 我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。 我已经用谷歌搜索并提出了本 教程 ,但是它不能按预期工作。 因此,我没有使用该守护程序脚本,而是以为我只使用了输出重定向( 2>&1 >> file 部分),但这也不会退出-我在终端中出现空白行,就像它在等待输出/错误一样。 我也尝试过将流程置于后台,但是一旦关闭终端,该流程也会被终止。 那么,当我关闭本地计算机时如何使它运行? 最佳解决方案 : Systemd (Linux) 推出 (Mac) 节点窗口 (Windows) PM2 (Node.js) #1楼 对于这个聚会来说,这个答案很晚了,但是我发现最好的解决方案是编写同时使用 screen -dmS 和 nohup 命令的shell脚本。 screen -dmS newScreenName nohup node myserver.js >> logfile.log 我还将在末尾添加 >> logfile 位,以便可以轻松保存节点 console.log() 语句。 为什么要使用Shell脚本? 好吧,我还添加了一条if语句,用于检查 node myserver.js 进程是否已在运行。 这样,我能够创建一个命令行选项

VirtualBox Euleros 虚拟机 安装docker-ce

喜欢而已 提交于 2020-02-26 22:08:24
一、安装: sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo sudo yum makecache fast sudo yum install docker-ce sudo rpm -ivh https://mirrors.huaweicloud.com/epel/epel-release-latest-7.noarch.rpm sudo cp -a /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup sudo mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup sudo sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/epel.repo sudo sed -i "s

Linux学习第二天

本小妞迷上赌 提交于 2020-02-26 19:20:31
第1章部署虚拟环境安装Linux系统 唉!写博客不保存真的是坏习惯! 安装虚拟机 --安装VMworkstation Pro 12(so easy) 注意: --安装客户机操作系统时选择“稍后安装操作系统” --虚拟机内存设置: --物理机内存≤2G时 虚拟机内存设置为1G --物理机内存≥4G时 虚拟机内存设置为2G =============================================我·是·分·割·线============================================= 安装Linux系统 --安装红帽RHEL Linux系统 7.0版本 注意: --推荐选择英文安装语言,不推荐选择中文(容易出现乱码问题) --实验机器可以是弱密码(如果使用弱密码需要按两次done键确认),实际生产过程中不要使用弱密码,因为这样很危险 --实验机器关闭kdump =============================================我·是·分·割·线============================================= 重置root管理员密码 --RHCSA考前辅导时讲解(这个不着急)o(╯□╰)o主要是老师没讲 RPM(红帽软件包管理器,Redhat Package Manager) --

zabbix4.4 启动失败分析

╄→гoц情女王★ 提交于 2020-02-26 16:45:53
zabbix是基于WEB界面提供分布式系统监视以及网络监视功能的企业级开源解决方案,能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 做为开源用户的支持者,我们大部分环境用的软件包含监控软件、数据库、继承应用、操作系统等都是用开源的,例如centos、PG、zabbix、openshift等,但是开源的在成熟度上是不错,但是安装软件有时比较麻烦,例如centos的安全开关,默认情况下会导致我们在安装openshift、zabbix等导致失败,而错误日志提示往往与实际十万三千里,但是有经验的在安装完系统后会有意识性的去修改配置,避免不必要的问题, 如下问题: 在安装配置好zabbix后无法正常启动,原因是SELINUX设置问题导致启动失败, 故障分析: [root@localhost zabbix]# systemctl start zabbix-server.service Job for zabbix-server.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-server.service" and "journalctl -xe" for details. [root