设为首页 收藏本站
查看: 619|回复: 0

[经验分享] systemd管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-4-9 10:39:32 | 显示全部楼层 |阅读模式
                                                一、centos5,6,7启动流程与之前的差别1、POST
计算机要想开机,他必须通过BIOS或UEFI对基本的输入输出硬件设备进行检查,检查内存,CPU,硬盘等等。
2、选择启动顺序(安装时需要选择)
当通过自检后,就需要选择需要用什么引导方式,引导方式大致为:光盘启动、硬盘启动、网络启动、U盘启动,这些只是在安装系统时选择,安装好系统后默认从硬盘启动
3、选择好引导方式后就开始从硬盘的前446字节也就是BootLoader用来引导用户选择启动 的系统或不同版本内核。
centos5.6中,主要的文件放与/boot/grub/grub.cfg引导内核加载文件和/boot/grub/目录下在stage1,stage1.5,stage2阶段所需要的二进制文件
centos7,文件放在/boot/gub2/grub.cfg引导内核加载文件和/boot/grub/目录下stage1,stage1.5,stage2阶段所需要的二进制文件
4、加载内核
利用grub.cfg文件加载硬件启动程序,以只读的方式加载根文件系统,,而在centos5,6在这一步还没有文件系统,而centos7在这一步开始就已经挂载了xfs文件系统也就是stage2步骤
5、运行用户空间的第一个应用程序
centos5:sysv init 配置文件/etc/inittab
centos6:upstart  配置文件/etc/inittab; /etc/init/.conf(主要)
centos7:systemd 配置文件:/etc/systemd/system;/usr/lib/systemd/system/
在centos5,6的第一个父进程名字还是init,而在centos7中第一个父进程则变成systemd
6、在centos5主要根据/etc/inittab文件进行配置
初始化运行级别
调用系统初始化脚本(/etc/rc.d/rc.sysinit)进行系统初始化
对应运行级别的脚本目录
捕获某个关键字顺序
定义UPS电源终端/恢复脚本
在虚拟控制台生成getty
在运行级别5初始化X
centos6和centos5基本类似,只是将inittab文件拆分为多个文件,存放在/etc/init/*.conf
根据/etc/inittab文件确定启动哪一级别,然后根据启动级别按照/etc/rc.d/rc开机将所有S开头的全部开一遍,将所有K开头的全部关一遍来做到根据启动级别启动服务
centos7,则是根据/etc/systemd/system/default.target指向的启动级别,根据运行级别所需要启动的target来启动,并不是跟之前版本一样,将每一个服务在每一个运行级别的目录下放一边,互不干扰,而centos7则是,在当前服务只装当前系统 所必须安装的包,然后一级一级的往上安装,不会出现重复的服务,换句话说,centos7不存在当前的是哪一个运行级别这一说法,因为在graphical.target(图形化)模式下也有multi-user.target(之前版本的3模式)。
二、systemd介绍systemd服务是系统启动和服务器守护进程管理器,负责在系统启动或运行时激活系统资源,服务器进程和其他进程,在CentOS7中,在系统启动时,将之前的串行启动服务改变成了并行,所以CentOS7系统比之前系统都要启动的快。
systemd新特性
系统引导时实现服务并行启动
按需启动守护进程(只有在需要该服务时,才会启动该服务)
自动化的服务依赖关系管理(若启动服务有其他依赖的服务,则自动启动依赖服务)
同时采用socket式和D-Bus总线式激活服务
系统状态快照
三、unit核心概念unit表示不同类型的systemd对象,通过配置文件进行标识和配置,文件中主要包括含了系统服务、监听socket、保存系统快照以及其它与init相关的信息
四、相关配置文件在centos7中,像之前系统中的/etc/init.d/目录下的文件已经几乎没有了,剩下的服务在管理上也已经不是init在管理,已经改变成systemd在管理。
/usr/lib/systemd/system目录下主要存放着每一个服务主要的配置文件类似于之前系统中的/etc/init.d目录
/run/systemd/system目录主要存放着系统执行过程中所产生的服务脚本,比上面目录优先运行
/etc/systemd/sysyem目录主要存放着管理员建立的执行脚本,类似于之前版本中的/etc/rc.d/rcX.d/目录下的脚本文件,比上面的目录优先级都高
五、unit类型使用命令systemctl -t help命令可以查看系统中都有哪些unit类型,文件类型的区别在于后缀名
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
六、CentOS7服务管理查看当前服务状态命令
systemctl list-unit-files --type service --all
服务状态说明
loaded:unit配置文件已处理
active(running):一次或多次持续处理运行
active(exited):成功完成一次性配置
active(waiting):运行中,等待一个时间
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启动的服务激活
启动服务的变化
在之前系统中的服务管理可以是两种方式
service 服务名 start|stop|restart,也可以使用/etc/init.d/服务名 start|stop|restart两种方式,而CentOS7系统中之前的方式还可以使用,只是他们所调用的命令已经变成了systemctl
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
systemctl命令语法
systemctl start|stop|restart 服务名1 服务名2
systemctl命令与之前版本的service命令相比的优点在于systemctl命令可以同时启动多个服务
开机自启服务变化
chkconfig --list 查看当前可用该命令可以控制的服务,不过该命令的实质也是在调systemctl命令
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
也可以使用chkconfig 服务名 on|off改变开启是否自动启动
而大多数服务已经变成使用systemctl enable|disable 服务名来设置开始是否启动使用systemctl is-enabled 服务名来查看开机是否自动启动
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
而开机自动启动的实质就是在/etc/systemd/system目录下创建一个连接文件
条件式启动服务
若服务已启动则才会重启,否则不做任何操作
systemctl try-restart 服务名
重载或重启服务,先加载,在启动
systemctl reload-or-restart 服务名
重载或条件是重启服务
systemctl reload-or-try-restart 服务名
禁用和启用某服务
禁用和启用的实质就是在/etc/systemd/system目录下创建一个链接到/dev/null的软链接使服务不能启动,启用就是将软链接删除
禁用自动和手动启动
systemctl mask 服务名‘
取消禁用
systemctl unmask 服务名
查看服务状态
查看某服务当前是否已激活
systemctl is-active 服务名
查看当前所有已经激活的服务
systemctl list-units -t service
查看所有服务
systemctl list-units -t service -a
查看所有服务开机自启状态
在之前版本中使用的是chkconfig --list而在centos7中则使用systemctl list-unit-files -t service
查看某服务是否开机自启
systemctl is-enabled 服务名
验证当前服务是否活动
systemctl is-actice 服务名
查看服务之间的依赖关系
systemctl list-dependencies 服务名
列出所有单元状态
systemctl或systemctl list-units
只显示服务单元的状态
systemctl -type=service
systemctl -l status 服务名

                                       


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-448384-1-1.html 上篇帖子: HDFS伪分布式环境操作 下篇帖子: su命令 sudo命令 限制root远程登录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表