AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

systemd 和容器的姻缘

  • 2015-09-28
  • 本文字数:1300 字

    阅读完需:约 4 分钟

systemd 是 Linux 平台下的一款系统和服务管理器,兼容 SysV 和 LSB(Linux Standard Base)启动脚本。近日,CoreOS 团队采访了 systemd 项目的创始人 Lennart Poettering,探讨了 systemd 的历史,以及与容器结合、未来的规划等问题。目前,Arch Linux、CoreOS、Debian、Fedora、openSUSE、Ubuntu 等 Linux 发行版已经将 systemd 作为默认的服务管理器

systemd 历史

Lennart 描述,在创建 systemd 项目之前,他们曾经非常关注由 Canonical 公司(Ubuntu 发行版维护公司)创建的 Upstart 项目。Upstart 是严格事件驱动,代码比较简洁,当时已经被 Ubuntu 和 Fedora 等发行版采用。但是经过细致了解,Lennart 发现 Upstart 的基础设计是倒退的。他认为系统管理器应该计算到启动时的细节,而不是像 Upstart 那样只计算一个大概的工作,将细节留给开发者和系统管理员。因为这些区别,systemd 项目开始创建。

在 systemd 项目的创建之初,这些创建者们从系统管理员和其他系统启动器中汲取灵感。最初 systemd 被设计成仅仅是一个初始化(init)系统,即作为一个独立的启动进程,完成 Linux 用户空间启动的基础工作。然后,启动并不是 systemd 需要解决的唯一问题,后续,systemd 主要在 Linux 用户空间的创建和运行时维护上进行了大量工作。

目前,systemd 已经可以被看做是操作系统构建过程中需要的基础构建模块集,它除了是一个初始化系统之外,还包括了设备管理、登录管理、网络管理、日志模块等等。

systemd 和容器的关系

现代系统和服务管理中越来越多的应用到了容器。容器本身包含了应用需要的所有依赖,systemd 的作用,就是作为粘合剂,将容器和操作系统结合起来。

目前,在 systemd 中,一些命令已经能够直接感知到容器。这些命令的控制和信息获取,除了针对当前主机,也能够针对主机上的所有容器。例如journalctl命令,除了支持显示主机日志之外,还能显示主机上运行的容器输出的日志,并且可以将所有容器、主机的日志合并和一个日志流。

对于 systemd 来说,除了能够支持管理容器的运行,同时也能够运行在容器中。目前对 systemd 的大部分测试本身就是在容器中完成的,这是因为和物理机器相比,容器有着更快的启动速度,并且更容易进行测试。

systemd 现在也包含了一个命令systemd-nspawn用于管理容器。起初编写这个命令的目的是为了测试 systemd,但是现在它已经可以作为生产用途。事实上,CoreOS 的 rkt 容器工具,已经在使用这个命令作为底层容器后段。

更多 systemd 和容器、操作系统相关内容,可以观看 Lennart 在 CoreOS Fest 上的演讲: systemd at the Core of the OS

systemd 和其他容器工具的结合

目前 systemd 和 rkt 的结合已经基本上完成,rkt 使用 systemd-nspawn 作为它的容器后端。对于 systemd 的开发者来说,他们更加希望 systemd 能够专注于单机的管理,而上层的工具,如 rkt,可以基于 systemd,提供诸如分布式、网络感知高级等功能。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-28 19:002686

评论

发布
暂无评论
发现更多内容

由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用

京东科技开发者

区块链智能合约的开发流程

北京木奇移动技术有限公司

区块链开发 智能合约开发 软件外包公司

四年匠心磨砺,快手系统软件技术创新与领域演进之路

快手技术

编译器 快手 系统软件技术 Java协程

焱融 AI 存储荣登 「2024 年度 AI 最佳技术服务商 TOP 10」榜单

焱融科技

AI 全闪存储

深度学习的崛起:AI为何如此聪明?

天津汇柏科技有限公司

深度学习 AI 人工智能

研发效能实践之打造高效能团队

思码逸研发效能

研发效能 效能度量 研发效能度量 高效能

Web3项目开发流程

北京木奇移动技术有限公司

区块链技术 软件外包公司 web3开发

Java Web学生自习管理系统

不在线第一只蜗牛

Java 前端

Zilliz落地垂直RAG:为什么说医疗场景中,LLM只是半成品?

Zilliz

LLM rag zilliz cloud

由 Mybatis 源码畅谈软件设计(七):从根上理解 Mybatis 一级缓存

京东科技开发者

实战Milvus 2.5:语义检索VS全文检索VS混合检索

Zilliz

全文检索 语义检索 混合检索 Milvus 2.5

WebGIS开发框架及其特点

北京木奇移动技术有限公司

软件外包公司 webgl开发 webGIS开发

京东商品详情数据接口(H5、APP端)

tbapi

京东API接口 京东商品详情接口

WebGIS开发的详细流程

北京木奇移动技术有限公司

软件外包公司 webgl开发 webGIS开发

MIT、OpenAI震撼力作!软件测试行业如何迎接未来挑战?

测试人

人工智能 软件测试

鸿蒙保存图片到相册

龙儿筝

自学记录鸿蒙API 13:Calendar Kit日历功能从学习到实践

李游Leo

HarmonyOS HarmonyOS NEXT

百剧计划:百度短剧创新引擎,赋能短剧新未来

极客天地

秒验审核流程

MobTech袤博科技

研发效能度量的常见指标问题——看什么?不准怎么办?

思码逸研发效能

DevOps 研发效能 效能度量 研发效能度量 思码逸

人形机器人赛道已挤满车企和自动驾驶行业精英

机器人头条

机器人 人形机器人 具身智能

【连载 08】lock锁

FunTester

设计模式之代理模式:武器附魔之道

京东科技开发者

探析同济医院科研一体化平台建设(二):统筹科研项目,促进成果转化

ModelWhale

人工智能 大数据 同济大学

如何通过电商 API 接口实现智能客服与用户互动?

科普小能手

数据挖掘 数据分析 电商 API 接口 API 测试

实力再获认可!焱融 AI 存储 F9000X 荣获中国 IDC 产业创新技术产品奖

焱融科技

人工智能 IDC 智算中心 全闪存储

CleanMyMac有必要买吗?达人深度体验后告诉你答案

阿拉灯神丁

软件包 苹果软件精选 mac系统维护 CleanMyMac X中文

百家号年度盛典:聚焦创作者成长,乘风计划再升级

极客天地

systemd和容器的姻缘_语言 & 开发_金灵杰_InfoQ精选文章