免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: niao5929
打印 上一主题 下一主题

[服务应用] 如何更好的掌握和深入理解systemd [复制链接]

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
51 [报告]
发表于 2015-03-24 15:57 |只看该作者
这就是咱们IT行业的悲剧问题 好多技术还没学成就已经被淘汰了 果然还是干一行恨一行

Novell netware的操作系统在企事业单位当年那么吃香 现在也淘汰的差不多了
MFC 也只热了一段时间,最后微软自己都不看好
wap网站技术热了没两年淘汰的差不多了

额 其实我之前一直都是用Ubuntu server的,这个变化的确很挺蛋疼的


fengzhanhai 发表于 2015-03-24 15:42
回复 50# forgaoqiang
楼主,很是活跃嘛~~分析的有一定的道理,但是对于我们这些老运维之前积累的 ...

论坛徽章:
10
CU大牛徽章
日期:2013-05-20 10:44:54数据库技术版块每日发帖之星
日期:2015-06-09 22:20:00IT运维版块每日发帖之星
日期:2015-06-05 22:20:00亥猪
日期:2014-08-23 14:52:27摩羯座
日期:2013-11-29 18:02:31CU十二周年纪念徽章
日期:2013-10-24 15:41:34CU大牛徽章
日期:2013-05-20 10:45:31CU大牛徽章
日期:2013-05-20 10:45:24CU大牛徽章
日期:2013-05-20 10:45:13综合交流区版块每日发帖之星
日期:2016-02-12 06:20:00
52 [报告]
发表于 2015-03-24 17:33 |只看该作者
是的呀,貌似IT行业相比传统行业技术的更新来的更快,一天不学习可能技术就过时了的感觉

论坛徽章:
17
2015年辞旧岁徽章
日期:2015-03-03 16:54:152017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:19:56JAVA
日期:2016-11-01 13:25:46C
日期:2016-10-25 16:01:4715-16赛季CBA联赛之八一
日期:2016-06-21 23:38:0815-16赛季CBA联赛之山东
日期:2016-05-12 12:49:54IT运维版块每日发帖之星
日期:2016-04-20 06:20:00IT运维版块每日发帖之星
日期:2016-03-22 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13IT运维版块每日发帖之星
日期:2015-08-25 06:20:002015亚冠之德黑兰石油
日期:2015-08-22 22:55:54
53 [报告]
发表于 2015-03-24 23:23 |只看该作者
讨论话题
1、systemd下的自定义脚本如何编写?
systemd自定义脚本普通用户最经常碰到的应该是Service unit写法其实我觉得比init脚本还容易,自定义功能也比init脚本要丰富很多,就算你不会写SHELL脚本,你也可以轻松使用systemd Service unit编写语法很快写一个服务的启动文件。下面是启动node例子:

[Unit]
Description=pano - main site of site_name.com
Documentation=http://www.site_name.com/docs/

[Service]
ExecStart=/usr/local/bin/node /www/www.site_name.com/node/bin/www
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nobody
User=nobody
Group=nobody
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

# systemctl enable pano
# systemctl start pano


2、各种/lib/systemd/system/下的Service、Socket文件中的具体配置的意义和关系?Service和Socket的的关系应该不是通过unit配置文件建立的,除了某些Service的unit文件定义Also=xxx.Socket字段,这情况下systemctl enable/disable的时候会将Socket文件一起复制到target目录。

systemd也类似这样,他预先创建进程需要的Socket,通过Linux进程的继承等机制,将套接字传递给新的服务进程,这样服务启动时就可以不再创建这些进程,而另外依赖这些Socket的服务也可以在依赖的服务还未启动时就启动完成。

使用init的情况下,假设A.Service启动创建了A.Socket,而B.Service启动依赖A.Socket,这种情况下,B.Service只能等A.Service启动完成后才能启动。

使用systemd的情况下,systemd先创建A.Socket,再通过fork或者exec启动A.Service和B.Service。这样A.Service和B.Service都可以同时启动。

同理,systemd情况下,dbus、文件系统等依赖关系也是通过这样打破的,因此可以实现一些服务的并行启动,减少系统启动时间。


3、systemctl命令执行机制的详细过程。systemctl只是一个控制命令,和chkconfig、service命令功能类似。
systemd是一个替代init的进程,init根据rcx.d里的脚本顺序,执行启动/关闭服务。而systemd使用Linux进程的继承等机制,解决依赖问题,巧妙的实现了并行启动,大大提升启动速度。但是Systemd和init的区别不仅仅是启动快这么简单,和cgroup的结合,systemd-cgls、systemd-cgtop不仅服务跟踪管理起来更方便,也可以直接在systemd service unit里设置cgroup的的内存、cpu等限额功能。

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
54 [报告]
发表于 2015-03-27 10:23 |只看该作者
本帖最后由 securitypluscn 于 2015-03-27 10:29 编辑

用CENTOS7小半年了。启动速度越来越慢。 我刚刚用秒表测过。 足60秒。i3 6G的硬件。

论坛徽章:
40
水瓶座
日期:2013-08-15 11:26:422015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之乌兹别克斯坦
日期:2015-03-27 14:01:172015年亚洲杯之约旦
日期:2015-03-31 15:06:442015亚冠之首尔
日期:2015-06-16 23:24:37IT运维版块每日发帖之星
日期:2015-07-01 22:20:002015亚冠之德黑兰石油
日期:2015-07-08 09:32:07IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:00IT运维版块每日发帖之星
日期:2015-10-11 06:20:00IT运维版块每日发帖之星
日期:2015-11-10 06:20:00
55 [报告]
发表于 2015-03-27 14:31 |只看该作者
哈哈 与此同时window 10速度却快的吓人 我从bios完成之后只需要3~5秒就起来了

据说systemd的启动速度也是这样的 几秒就能完成同步启动 window还是伪装的启动 实际是从 休眠 醒过来而已 并没有从零加载

PS:俺用的是固态硬盘的说

securitypluscn 发表于 2015-03-27 10:23
用CENTOS7小半年了。启动速度越来越慢。 我刚刚用秒表测过。 足60秒。i3 6G的硬件。

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
56 [报告]
发表于 2015-03-27 17:26 |只看该作者
回复 58# gurongyong


   

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
57 [报告]
发表于 2015-07-05 23:30 |只看该作者
forgaoqiang 发表于 2015-03-27 14:31
哈哈 与此同时window 10速度却快的吓人 我从bios完成之后只需要3~5秒就起来了

据说systemd的启动速度也 ...


我的CENTOS7现在也用休眠模式启动。快多了
记得以前FEDORA是提倡用休眠模式的
  1. systemctl hibernate
复制代码

求职 : Linux运维
论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:15:0815-16赛季CBA联赛之山东
日期:2016-10-31 10:40:10综合交流区版块每日发帖之星
日期:2016-07-06 06:20:00IT运维版块每日发帖之星
日期:2016-02-08 06:20:00数据库技术版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-15 06:20:00IT运维版块每日发帖之星
日期:2016-01-10 06:20:00黄金圣斗士
日期:2015-11-24 10:45:10IT运维版块每日发帖之星
日期:2015-09-01 06:20:00IT运维版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-07-30 09:40:012015年亚洲杯之巴勒斯坦
日期:2015-05-05 10:19:03
58 [报告]
发表于 2015-07-06 08:19 |只看该作者
我发现在本地系统中一般用户也可以使用命令将主机睡眠。不知道这算不算安全问题。如果是一般用户通过远程登陆到主机,将系统休眠,那作为服务器系统是蛮可怕的。不知道是否可以将所有类似命令权限提升给管理员账户呢??回复 57# securitypluscn


   

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
59 [报告]
发表于 2015-07-13 01:52 |只看该作者
本帖最后由 securitypluscn 于 2015-07-13 02:01 编辑
niao5929 发表于 2015-07-06 08:19
我发现在本地系统中一般用户也可以使用命令将主机睡眠。不知道这算不算安全问题。如果是一般用户通过远程登 ...


安全不安全,取决于你制定的安全策略,如果你的安全策略允许就不是问题。
用SUDO或更改文件执行权限就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP