Linux运维之走近系统服务

daemon和service:

翻译过来,daemon指的是守护进程,service是服务

简单的说,系统为了某些功能必须要提供一些服务,即service

但服务的提供通常需要程序的运作,所以达成这个service的程序我们就称之为daemon

其中,daemon的命名也很有特点,通常是服务名称后面加上一个d

例如我这里service docker start后可以看到:

dockerd.png

关于服务管理方式:

早期启动系统服务的管理方式被称为SysV的init脚本程序的处理方式

即系统核心第一支呼叫的程序是init,然后init去唤醒所有的系统所需要的服务

所有的服务启动脚本都放置在/etc/init.d/底下:


intitd.png

但是自从CentOS 7.x之后,已经改成了Systemd这种启动服务管理机制

因为前一方法有两个缺点:

  • 启动时间长: init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。

  • 启动脚本复杂: init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。

不过现在的版本依旧兼容于旧有的init的启动脚本

接着讲讲现在是具体怎么进行服务管理的吧

现在, systemd 将过去所谓的 daemon 执行脚本通通称为一个服务单位 (unit),而每种服务单位依据功能来区分时,就分类为不同的类型 (type)。

基本的类型有包括系统服务(service)、数据监听与交换的插槽档服务 (socket)、储存系统状态的快照类型、提供不同类似执行等级分类的操作环境 (target) 等等。

unit文件一般有三个存放位置,其配置文件优先级依次由低到高:

  • /lib/systemd/system
  • /run/systemd/system
  • /etc/systemd/system

对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。

如果想让某软件开机自启,就执行下面的命令:

sudo systemctl enable serviced

该命令相当于在/etc/systemd/system目录添加一个符号链接,指向其中的serviced.service文件

因为开机时,systemd只执行该目录中的配置文件

所以如果想修改配置文件,修改该目录文件,就可以覆盖原始配置

跟以前systemV 需要 service / chkconfig / setup / init 等指令来协助不同

基本上, systemd 这个启动服务的机制,主要是透过一只名为 systemctl 的指令来处理的

对于单一服务的管理,例如:

docker_status.png

这里用法和service命令有点类似,中间接的command 主要有:

start : 立刻启动后面接的
unit stop : 立刻关闭后面接的
unit restart : 立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思
reload : 不关闭后面接的 unit 的情况下,重载配置文件,让设定生效
enable : 设定下次开机时,后面接的 unit 会被启动
disable : 设定下次开机时,后面接的 unit 不会被启动
status : 目前后面接的这个 unit 的状态,会列出有没有正在执行、开机预设执行否、登录等信息
is-active : 目前有没有正在运作中
is-enable : 开机时有没有预设要启用这个 unit

如果想要观察系统上所有服务,直接systemctl就好了

如果只是想知道service这种类别的daemon呢,加个参数就好了“--type=service”

还有一个比较有意思的就是透过 systemctl 管理不同的操作环境

其中跟操作界面相关性比较高的target 主要有底下几个:

graphical.target: 就是文字加上图形界面,这个项目已经包含了底下的 multi-user.target 项目
multi-user.target: 纯文本模式!
rescue.target: 在无法使用 root 登入的情况下,systemd 在开机时会多加一个额外的暂时系统,与你原本的系统无关。这时你可以取得 root 的权限来维护你的系统。 但是这是额外系统,因此可能需要动到 chroot 的方式来取得你原有的系统
emergency.target: 紧急处理系统的错误,还是需要使用 root 登入的情况,在无法使用rescue.target 时,可以尝试使用这种模式!
shutdown.target: 就是关机的流程 
getty.target: 可以设定你需要几个 tty 之类的,如果想要降低 tty 的项目,可以修改这个东西的配置文件

比如我们可以先看看自己机器的默认界面是什么:


graphical.png

显然是图形界面

如果想改成文本界面呢?

systemctl isolate multi-user.target

这里我就不试了,之前用init 3切到纯文本模式后正在写的报告就全没了 - -

在正常的切换情况下,使用上述 isolate 的方式即可。

不过为了方便起见, systemd 也提供了数个简单的指令给我们切换操作模式之用,大致上如下所示:

commands.png

顺便解释一下暂停模式休眠模式的区别:

  • suspend: 暂停模式会将系统的状态数据保存到内存中,然后关闭掉大部分的系统硬件,当然,并没有实际关机, 当用户按下唤醒机器的按钮,系统数据会重内存中回复,然后重新驱动被大部分关闭的硬件,就开始正常运作,唤醒的速度较快。

  • hibernate: 休眠模式则是将系统状态保存到硬盘当中,保存完毕后,将计算机关机。当用户尝试唤醒系统时,系统会开始正常运作, 然后将保存在硬盘中的系统状态恢复回来。因为数据是由硬盘读出,因此唤醒的效能与你的硬盘速度有关。

自此,我每次关机都改成了systemctl hibernate :)

对了,最后补充一下关于日志管理一块儿

程序运行出错时经常提示我们用journalctl命令来查看日志

这就是Systemd统一管理Unit的启动日志所带来的好处,一个命令便可以查看所有日志

配置文件在这里:/etc/systemd/journald.conf

其功能十分强大,具体可以Google一下或者man一下

最后想补上一句:

Systemd 的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。事实上,现在还有很多人反对使用 Systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反"keep simple, keep stupid"的Unix哲学。(出自阮一峰)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容