首页 > 代码库 > 服务管理/磁盘引导区恢复 笔记

服务管理/磁盘引导区恢复 笔记

Linux运行级别:

  1. 单人模式:提供系统维护、找回root密码;
  2. 纯文字的多人网络模式;
  3. 图形界面模式;

?

系统服务:提供某些常驻性功能的运行程式。这些程式运行时常驻在内存。服务名称后都有一个d字母。

独立服务和非独立服务?

独立服务:服务是独立启动的,并常驻于内存,运行速度快。

非独立服务:xinted管理程序提供的socket或port对应的管理。它会根据用户要求启动相应的服务程序,请求结束就会关闭此程序。

?

早期的服务启动: SysV的init脚本程序管理特点。

  1. 所有服务的启动脚本都在/etc/init.d下,都是bash shell script脚本。

    /etc/init.d/daemon start

    /etc/init.d/daemon stop

    /etc/init.d/daemon restart

    /etc/init.d/daemon status

  2. 服务之间没有依赖性;
  3. 可以根据使用者自定义的执行等级来启动服务。
    1. 各执行等级的启动脚本是透过/etc/rc.d/rc[0-6]/SXXdaemon关连到/etc/init.d/damenon。S为启动该服务,XX为数字代表启动的顺序。
    2. 设置启动的方法:

      chkconfig [--level levels] name <on|off|reset> 预设开启|关闭|重设 服务,level参数设置某个级别。

      chkconfig –list [name] 显示所有(或某个)服务的运行状态

  4. 执行等级的切换:
    1. init 5:切换到5等级(图形界面);
    2. runlevel:查看当前等 级。
  5. INIT进程:/sbin/init程序,是系统第一个进程,PID(进程标记)永远为1;

    配置默认执行等 级:

    技术分享

  6. 其他系统初始化文件:

    /etc/rc.d/rc.sysinit

    ?由init进程调用执行

    ?完成设置网络、主机名、加载文件系统等初始化工作

    /etc/rc.d/rc脚本文件

    ?由init进程调用执行

    ?根据挃定的运行级别, 加载或终止相应的系统服务

    /etc/rc.local脚本文件

    ?由rc脚本调用执行

    ?保存用户定义的需开机后自动执行的命令

?

CentOS 7.X的新启动服务管理机制systemd:

  1. 所有服务并行启动,加速开机流程;
  2. on-demand启动模式:systemd搭配systemctl命令处理,任何要求on-demand要求都能立即处理daemon后续服务;
  3. 具有服务依赖性检查:如果B服务依赖A服务,则手动启动B服务时,systemd会自动启动A服务;
  4. 以功能分类各种服务:以服务单位(unit)区分为service,socket,target,path,snapshot,timer等不同类型(type);
  5. 将多个deamon集合成一个群组:兼容runlevel的设计;
  6. 向下兼容基本的init服务脚本。
  7. systemd的设定文件目录:
    1. /usr/lib/systemd/system:各服务的启动脚本文件,类似于/etc/init.d;
    2. /run/systemd/system:系统执行过程中产生的服务脚本,优先执行顺序比/usr/lib/systemd/system要早;
    3. /etc/systemd/system:各服务的启动链接文件,类似于/etc/rc.d/rc5.d/Sxx

?

技术分享

service restart和reload的区别?

技术分享

?

常看进程信息的几个常用命令:

ps:

技术分享

ps aux :显示所有当前的进程信息;

top:显示当前所有进程的动态信息。(按e可查看多核CPU,按q退出信息显示)

preg:查看进程终端号(进程ID)。

技术分享

?

pstree –aup:显示进程树,显示进程的子进程(名称和ID)。

?

nice:调整进程的优先级。root用户下调整的优先级在-20至20之间,普通用户只限于0-20之间。

技术分享

renice:动态调整进程优先级。(示例中的-5为要调整的优先级,-p为调整的进程ID)

技术分享

?

后台运行程序,并如何将后台程序调到前台:

技术分享

?

Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行;

jobs:查看后台运行的命令;

fg:将后台的进程恢复到前台运行,需指定任务序号;

sleep:将目前动作延迟到一段时间,时间长度,后面可接s\m\h\d(秒、分钟、小时、天数)。

?

终止进程的进行:

Ctrl+C

kill:

技术分享

killall:

技术分享

pkill:将某个登录用户踢出。

技术分享

?

计划任务管理:

at:一次性执行任务。

例:

at 12:30 //设置12点半关机

at>shut down –h now

at><EOT> //Ctrl+D结束符

查看和删除一次性任务:

技术分享

?

crontab任务:

格式: 分钟 小时 日 月 星期 <执行命令>

时间数值的特殊表示方法:

????*:访范围的任意时间

????,:表示间隔多个不连续的时间点

????-:表示一个连续的时间点

????/:指定间隔的时间频率

示例:

技术分享

crontab –e: root编辑任务模式

crontab –e –u admin: 以admin用户来编辑执行任务

crontabl –l:root用户查看自己的计划任务列表

crontabl –l –u admin:查看和删除admin用户设置的计划任务

限制使用crontabl的用户:

技术分享

?

?

?

?

备份MBR引导区:

技术分享

模拟破坏MBR引导区:

技术分享

用centos光盘进入恢复模式,在shell下挂载备份盘,恢复MBR并重启:

技术分享

?

如何恢复grub引导配置文件:

(1)模拟破坏grub配置:

技术分享

技术分享

(2)重启后在grub提示符下键入引导命令进入系统:

技术分享

(3)再把grub.conf文件恢复过来即可。

?

第二种方式:(使用光盘引导)

(1)进入光盘引导的shell界面下,使用chroot将sda1的boot目录挂载:

技术分享

(2)挂载备份盘,并将grub.conf文件恢复:

技术分享

(3)退出shell,再重启:

技术分享

?

如何恢复被破坏的grub程序:

  1. 提前备份:

技术分享

(2)模拟破坏:

技术分享

(3)光盘引导:

技术分享

(4)从备份中恢复:

技术分享

假设没有备份的情况下,用在光盘启动后用如下方式修复:

技术分享

?

忘记root密码的情况:

  1. 在启动菜单中按"e"键,进入如下菜单选项:

    技术分享

????选择第2项kernel这一项,再按"e"编辑菜单项:

技术分享

????在编辑模式下,在命令后输入空格+1:

技术分享

????退回到菜单项,按b键重启动,进入单用户模式:

技术分享

????直接修改root密码,并重启即可:

技术分享

?

  1. 假设菜单加密的情况下:

    ?

    grub –crypt形成加密字串:

    技术分享

    编辑grub.conf,加入加密字串:

    技术分享

    ?

    重启后,e键已失去作用:

    技术分享

    ?

    使用光盘启动,在shell下清除root密码:

    技术分享

    重启进入系统即可。

    ?

????

因某些故障导致无法向分区写入或读取内容:

  1. 挂载一磁盘分区进行模拟:

技术分享

技术分享

技术分享

技术分享

技术分享

模拟分区已经破坏:

技术分享

  1. 重启:

开机过程中提示文件系统有错:

技术分享

fsck命令修复:

技术分享

重启即可。

?

如果磁盘的i文件节点用完的情况下:

  1. 挂载磁盘,模拟i节点占用:

    查询挂载的磁盘的空闲i节点数。

    技术分享

    使用一脚本,占用所有的i节点:

    技术分享

    i节点用完,但仍有剩余的空间:

    技术分享

    这时必须删除细小的无用文件,才能恢复空闲的i节点。

    ?

    检查磁盘坏道:

    技术分享

服务管理/磁盘引导区恢复 笔记