RHEL7启动的原理和服务控制

本节所讲内容:

1-1-    RHEL7的启动原理

1-2-    1-2-RHEL7的服务管理

1-3-    1-3-网络模型与IP地址的概述

BIOS自检-> MBR启动GRUB 加载内核 systemd的init进程

systemd的初始化进程

作用:加载所需的服务和用户空间工具,挂载文件系统/etc/fstab

systemd是Linux内核启动的第一个进程,取代了sysvinit程序(即init)

负责协调引导过程的其余部分并配置为用户的环境

systemd 相比 init 的优点

1.    启动速度快各服务平行运行(SSD会加快)

2.    提供系统服务的快照

3.    挂载及自动挂载的管理

4.    服务自动实时更新,重新启动与暂停或停止.

5.    使用Linux核心cgroup 功能进行管理

rhel7 使用systemd 进程初始化

初始化的进程一般是pid为 1

使用pstree 命令查看第一个启动的进程

[[email protected] ~]# pstree

systemd─┬─ModemManager───2*[{ModemManager}]

├─NetworkManager─┬─2*[dhclient]

│                └─3*[{NetworkManager}]

├─2*[abrt-watch-log]

├─abrtd

├─accounts-daemon───2*[{accounts-daemon}]

├─alsactl

├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}

│                 └─3*[{at-spi-bus-laun}]

├─at-spi2-registr───{at-spi2-registr}

├─atd

├─auditd─┬─audispd─┬─sedispatch

│        │         └─{audispd}

│        └─{auditd}

RHEL7设置运行级别

systemctl 使用目标取代了运行级别的概念

6     7

init        systemd

init0    systemctl poweroff   关机

init1    systemctl  isolate rescue.target  单用户

init3    systemctl  isolate  multi-user.target   字符界面

init5    systemctl  isolate graphical.target       图形化

init6    systemctl  reboot  重启

打开/etc/inittab文件的内容

# Default runlevel. The runlevels used are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode

#   4 - unused

#   5 - X11

当使用systemd ,inittab不再使用

添加配置将在您的系统上没有影响。

ctrl - alt - delete是由/usr/lib/systemd/system/ctrl-alt-del.target处理

systemd使用“target”而不是运行级。默认情况下,有两个主要target:

multi-user.target:类似于运行级别3

graphical.target:类似于运行级5

查看当前默认目标,运行:

systemctl get-default

设置一个默认目标,运行:

systemctl set-default TARGET.target

查看默认运行级别

[[email protected] ~]# systemctl get-default

multi-user.target

设置默认的运行级别

[[email protected] ~]# systemctl set-default multi-user.target

rm ‘/etc/systemd/system/default.target‘

ln -s ‘/usr/lib/systemd/system/multi-user.target‘ ‘/etc/systemd/system/default.target‘

[[email protected] ~]#

切换运行级别

[[email protected] ~]# systemctl isolate multi-user.target

RHEL7 中grub引导配置

主要配置文件

/boot/grub2/grub.cfg  直接修改,换一个内核,之前的配置失效

/etc/default/grub  默认修改

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root crashkernel=auto  rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

然后使用grub2-mkconfig 命令生效。

GRUB_TIMEOUT="5" ->设置进入默认启动项的等候时间,默认值5秒,按自己需要修改

选择菜单的显示时间,默认是5,值是0表示不显示菜单选项,值是-1表示无限期的等待,直到用户

做出选择

[[email protected] ~]# vim /boot/grub2/grub.cfg

if [ x$feature_timeout_style = xy ] ; then

set timeout_style=menu

set timeout=5

# Fallback normal timeout code in case the timeout_style feature is

# unavailable.

else

set timeout=5

fi

[[email protected] ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64

Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img

Found linux image: /boot/vmlinuz-0-rescue-9f99183cd7dd46d791c1f23005d01176

Found initrd image: /boot/initramfs-0-rescue-9f99183cd7dd46d791c1f23005d01176.img

done

RHEL7服务启动配置

systemd 的主要的命令行工具是systemctl

大多数Linux系统的管理员应该后已经熟练service chkconfig 的使用, systemd 可以同样的完成

注意:service  和 chkconfig 在systemd 照常可以使用

systemctl 的语法格式

systemctl start [服务名称]  启动

systemctl restart [服务名称]   重新启动

systemctl stop [服务名称]   停止

systemctl status [服务名称]   状态查询

systemctl enable  [服务名称]  开机自启

systemctl disable  [服务名称]   开机自动关闭

例:安装httpd服务,并设置为开机自动启动

[[email protected] ~]# yum install httpd -y

[[email protected] ~]# yum install httpd -y^C

[[email protected] ~]# systemctl enable httpd.service

ln -s ‘/usr/lib/systemd/system/httpd.service‘ ‘/etc/systemd/system/multi-user.target.wants/httpd.service‘

[[email protected] ~]# systemctl restart httpd.service

[[email protected] ~]# systemctl status httpd.service

httpd.service - The Apache HTTP Server

Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)

Active: active (running) since Fri 2016-08-26 21:00:08 CST; 11s ago

Main PID: 6065 (httpd)

Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"

CGroup: /system.slice/httpd.service

├─6065 /usr/sbin/httpd -DFOREGROUND

├─6078 /usr/sbin/httpd -DFOREGROUND

├─6079 /usr/sbin/httpd -DFOREGROUND

├─6080 /usr/sbin/httpd -DFOREGROUND

├─6081 /usr/sbin/httpd -DFOREGROUND

└─6082 /usr/sbin/httpd -DFOREGROUND

Aug 26 20:59:48 RHEL7.2 httpd[6065]: AH00557: httpd: apr_sockaddr_info_get() failed fo...7.2

Aug 26 20:59:48 RHEL7.2 httpd[6065]: AH00558: httpd: Could not reliably determine the ...age

Aug 26 21:00:08 RHEL7.2 systemd[1]: Started The Apache HTTP Server.

Hint: Some lines were ellipsized, use -l to show in full.

[[email protected] ~]# ls /etc/systemd/system/multi-user.target.wants/

abrt-ccpp.service     crond.service       libstoragemgmt.service     rhsmcertd.service

abrtd.service         cups.path           libvirtd.service           rngd.service

abrt-oops.service     httpd.service       mdmonitor.service          rpcbind.service

abrt-vmcore.service   hypervkvpd.service  ModemManager.service       rsyslog.service

abrt-xorg.service     hypervvssd.service  netcf-transaction.service  smartd.service

atd.service           irqbalance.service  NetworkManager.service     sshd.service

auditd.service        kdump.service       nfs.target                 sysstat.service

avahi-daemon.service  ksm.service         postfix.service            tuned.service

chronyd.service       ksmtuned.service    remote-fs.target           vmtoolsd.service

[[email protected] ~]#

启动和关闭服务

[[email protected] ~]# systemctl stop httpd

[[email protected] ~]# systemctl start httpd

列出所有服务并且检查是否开机启动

检查资源的使用情况

[[email protected] ~]# systemd-cgtop

时间: 2024-10-22 03:59:12

RHEL7启动的原理和服务控制的相关文章

1-20 RHEL7的启动原理和服务控制

大纲: RHEL7启动原理 RHEL7服务启动配置 网络概述 发布内网服务器 ############################################################ RHEL7启动原理: BIOS自检--->MBR--->GRUB--->加载内核--->systemd的init进程--->login systemd的初始化进程 作用:加载所需的服务和用户空间工具,挂载文件系统/etc/fstab systemd是linux内核启动的第一个进程

RHEL7/CENTOS7 新特性(服务控制和防火墙)

一 服务控制 1 简介  RHEL7 监视和控制 systemd 的主要命令是 systemctl,该命令可以    用于查 看系统状态和管理系统及服务.         RHEL7 的服务 systemctl 脚本存放在: /usr/lib/systemd/,有系统 ( system)          和用户( user)之分,像需要开机不登陆就能运行的程序, 存在系统服务 里,即:/usr/lib/systemd/system 目录下. 每一个服务以.service 结尾 ,一般会分为 3

引导过程与服务控制(理论基础,后续实操敬请期待)

我们来掌握引导过程与服务控制的基础知识 1.引导过程 2.排除启动类故障 3.服务控制及切换运行级别 4.优化启动过程 一.引导过程总览 1.开机自检(BIOS)--MBR引导--GRUB菜单--加载内核(kernel)--init进程初始化 2.Init进程由linux内核加载运行/sbin/init程序是系统中第一个进程PID(进程标记)号永远为1 3.Systemd单元类型 4.运行级别所对应的systemd目标9 二.排除启动类故障 修复MBR扇区故障1.故障原因病毒.***等造成的破坏

理论:引导过程与服务控制 (解决忘记root问题、解决不能正常开机的问题)

前言: 学习引导过程,排除启动类故障,服务控制及切换运行级别,优化启动过程:重点了解修复MBR扇区,gurb菜单,root密码重置,优化开机启动 一: 引导过程总览 序号 步骤 解释 1 开机自检(BIOS) 1.加电自检(服务器例外,当服务器通电时,风扇会先转一圈),自检硬件设备是否完好无损 2.加载驱动 2 MBR引导 去找系统盘内的MBR去启用 3 GRUB菜单 选择系统去启用(系统例如双系统.急救系统等) 4 加载内核(kernel) 内核就是系统的核心部分,即加载内核去运行系统 5 i

RHEL7.0系列 服务控制

Systemd对linux来说,就是一个init程序,可以作为sysVinit和Upstat的替代 RHEL7监视和控制systemd的主要命令是systemctl,该命令可以用于查看系统状态和管理系统及服务. RHEL7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.每一个服务以.service结尾,一般会分为3部分:[

【RHEL7/CentOS7服务控制之systemctl命令】

Systemd对于Linux来说,就是一个init程序,可以作为sysVinit和Upstat的替代. RHEL7监控和控制Systemd的主要命令是systemctl,该命令可查看系统状态和管理系统及服务. RHEL7的服务systemctl脚本存放在:/usr/lib/systemd,有系统(system)和用户(user)之分. . 像一些需要开机不登陆就得运行的程序,就存在系统服务里,即:/usr/lib/systemd/system目录下.而关于用户的存放在/usr/lib/syste

windows服务安装启动报错误1053:服务没有及时响应启动或控制请求

1 <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> 2 3 </configuration> 用.net 开发了一个C#语言的windows服务,在本地和测试环境,安装启动都正常,在新的线上环境报错,不能启动-报出-错误1053:服务没有及时响应启动或控制请求. 后来发现时线上.NET FRAM

原理剖析-Netty之服务端启动工作原理分析(下)

一.大致介绍 1.由于篇幅过长难以发布,所以本章节接着上一节来的,上一章节为[原理剖析(第 010 篇)Netty之服务端启动工作原理分析(上)]: 2.那么本章节就继续分析Netty的服务端启动,分析Netty的源码版本为:netty-netty-4.1.22.Final: 二.三.四章节请看上一章节 四.源码分析Netty服务端启动 上一章节,我们主要分析了一下线程管理组对象是如何被实例化的,并且还了解到了每个线程管理组都有一个子线程数组来处理任务: 那么接下来我们就直接从4.6开始分析了:

详解CentOS 7 服务控制及优化启动过程

一.服务控制及切换运行级别1.服务控制常见的服务控制类型start 启动stop 停止restart 重启(慎用)reload 重载,无需停止服务[常用]status 查看状态系统引导级别图常见的systemd电源管理命令 2.切换运行级别1).查看系统的运行级别命令:runlevel2).切换系统的运行级别命令:systemctl isolate multi-user.target 或者 init 3 (切换字符终端界面)命令:systemctl isolate graphical.targe