• 第九章引导过程与服务控制


    一:系统引导流程:

    开机自检-->MBR引导-->GRUB菜单-->加载内核(kernel-->init进程初始化

     二:系统引导级别:

    0

    poweroff.target

    关机状态,使用该级别时将会关闭主机

    1

    rescue.target  

    单用户模式,不需要密码验证即可登录系统,多用 于系统维护

    2

    multi-user.target

    用户定义/减特定运行级别。默认等同于3,但是不支持网络

    3

    multi-user.target

    字符界面的完整多用户模式,大多数服务器主机运行在此级别

    4

    multi-user.target

    用户定义/或特定运行级别,默认等同于3

    5

    graphical.target

    图形界面的多用户模式,提供了图形桌面操作环境

    6

    reboottarget 

    重新启动,使用该级别时将会重启主机

     

     三:Linux中服务的管理方式:

    1、独立管理(门市房)

    systemctl start dhcpd

    systemctl stop dhepd
    2、集中管理(商场)xinetd

    vim /etc/xinetd.ditftp

    disable = no
    systemctl start tftp

    四:修复文件系统:扫盘

    Ext4fsck -y -t ext4 /dev/sdb1

    Xfs:  xfs_repair /dev/sdb1

    五:服务控制及优化启动

    1、系统服务控制

    1)常用方法:

     ·/etc/rc.d/init.d/ 服务名称 控制类型(/etc/init.d/ /etc/rc.d/init.d/的快捷方式)

     【推荐使用上述方法】

     ·service 服务名称 控制类型

     2)常用控制类型

     ·start 启动

     ·stop 停止

     ·restart 重启

     ·reload 平滑重启,无需停止服务【常用】

     ·status 查看状态

    五:优化启动过程
    1)ntsysv 工具
     ·提供一个交互式、可视化窗口
     ·可以在字符终端运行
     ·便于集体管理多个服务
    1>示例:ntsysv --level 35

     

    六:系统服务控制

    系统服务控制在CentOS系统中,各种系统服务的控制脚本默认放在(snib/systemd/system/自泉下,通过systemcti令工具可以实现对指定系统服务的控制语法格式如下systemcti控制类型服务名称service)

          对于大多数系统服务来说常见的几种控制类型如下所述,

     stant启动:运行指定的系统服务程序.实现服务功能。. stop(停止):终止指定的系统服务程序 .关闭相应的功能。

     restat(重启) :先退出,再重新运行指定的系统服务程序。

     reload (重载):不退出服务程序.只是刷新配置.在某些服务中与restat的操作相同

    status(查看状态):查看指定的系统服务的运行状态及相关信息,

    查看当前系统中所已激活的系统服务:

    Systemctl list-units -type=service

    chkconfig工具使用方式:
    chkconfig -list #列出所有服务的状态
    chkconfg -list network #制出某 个服务的状态
    chkconfg I-level 35]服务名称fonlof) #设置服务状态,默认2345级别

    七:引导级别查看及切换

    Linux 系统的运行级别
    1)查看运行级别:runlevel 命令
    2)临时切换运行级别:使用 init 命令结合 0-6 运行级别参数

     

    八:MBR修复:

    建立一个目录

    挂载dev/sdb1/backup

    MBR扇区备份

    mbr扇区毁坏

     

     

    九:修复GRUB引导故障

    boot/grub2/grub cfg配置文件说明:
    menuentry :指定在启动菜单中显示的操作系统名称set root :指定包含内核等引导文件的/boot分区所在位置insmod :加载指定的模块到内核
    linux16 :指定内核文件所在的位置,内核加载时权限为只读"ro”,并通过root=”指定根分区的设备文件位置。
    initrd16 :指定启动内核所使用的临时系统镜像文件所在位置。

    [root@localhost ~]# mkdir /abc

    [root@localhost ~]# mount /dev/sdb1 /abc

    [root@localhost ~]# dd if=/dev/sda of=/abc/sda-mbr-bak bs=512 count=1

    记录了1+0 的读入

    记录了1+0 的写出

    512字节(512 B)已复制,0.000224936 秒,2.3 MB/

    [root@localhost ~]#cp /boot/grub2/grub.cfg /abc/grub.cfg

    进入急救模式

     

    切换到root根目录下

    方法一:重建grub.cfg文件

     

    方法二:提前备份,然后复原

    grub引导程序遭到破坏

     方法一:备份恢复

    方法二:重建

     

    十:/boot目录误删除:

    通过chroot sysimage 目录

     

    新建临时文件挂载点 /mnt/temp,并挂载光盘

    rpm -ivh /mnt/temp/Packages/kernel-3.10--force

     

     

    grub2-install /dev/sda

     

    grub2-mkconfig > /boot/grub2/grub.cfg

     

    Sync同步数据

     

    十一root密码修复

       1、第一种方法:

    重新启动reboot

     

    2、第二种方法:

    把里面的密文删掉(用x)

     

    十二:文件系统修复  (扫盘)

       

      

     

    、空间耗尽故障

    添加一块硬盘,分区格式化,挂载

    [root@localhost ~]# fdisk /dev/sdb

    [root@localhost ~]# mkfs.ext4 /dev/sdb1

    [root@localhost ~]# mkdir /disk

    [root@localhost ~]# mount /dev/sdb1 /disk/

    [root@localhost ~]# df –I 

    文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点

    /dev/sdb1                  65536      10    65526       1% /disk

    创建多个文件,耗尽容量

    [root@localhost ~]# cd /disk/

    [root@localhost disk]# touch {1..65526}

    验证文件占用情况

    [root@localhost ~]# df -i

    文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点

    /dev/sdb1                  65536   65536        0     100% /disk

    尝试创建文件

    [root@localhost disk]# touch q

    touch: 无法创建"q": 设备上没有空间 

    查看磁盘剩余空间

    [root@localhost ~]# df -hT /disk/

    文件系统       类型  容量  已用  可用 已用% 挂载点

    /dev/sdb1      ext4  976M  4.3M  905M    1% /disk

    修复磁盘耗尽故障

    寻找0字节的文件,并删除

    [root@localhost maomao]# sudo find /maomao -type f -size 0 -exec rm {} ;

    改变inode节点大小

    [root@localhost ~]# mv 重要数据 /root

    [root@localhost ~]#umount /dev/sdb1

    [root@localhost ~]#mkfs.ext4 /dev/sdb1 -N 500000

    [root@localhost ~]# df -i /dev/sdb1

    文件系统       Inode   已用(I) 可用(I) 已用(I)% 挂载点

    /dev/sdb1       501760 11     501749   1%      /aa

    [root@localhost ~]# mount /dev/sdb1 /disk/

    [root@localhost ~]# mv重要数据 /disk

    、磁盘坏道故障  

    磁盘坏道分为逻辑坏道和物理坏道两种

    dmesg

    当有硬盘坏道时,通常在dmesg输出的信息中会有 Buffer I/O Error,所以经常检查dmesg的输出可以及时发现是否存在硬盘问题。

    badblocks

    adblocks 可以用来检查硬盘是否有坏道,也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘。

    检查命令:

    [root@localhost ~]# badblocks -s -v -o /root/bb.log /dev/sda

    检查 /home 是否有坏道,则命令如下

    [root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/centos-home

    逻辑坏道修复方式

    下面是badblocks在/dev/mapper/ centos-home e分区检查出的坏道列表:

    217874591

    217874592

    217874593

    217874594

    217874595

     

    先备份数据

    [root@localhost ~]# dd if=/dev/mapper/centos-home  skip=217874591 of=/tmp/217874591-217874595.dat count=5

    修复

    [root@localhost ~]# umount /dev/mapper/ centos-home(umount可能出现"Device busy"的错误, 解决方法fuser -m /home //列出使用/home的进程ID  fuser -m -v -i -k /home   //列出PID并kill掉进程)

    修复命令:

    [root@localhost ~]# badblocks -s -w /dev/mapper/ centos-home 217874595 217874591

    修复后检查

    [root@localhost ~]# badblocks -s -v /dev/mapper/ centos-home 217874595 217874591

    恢复数据(可选)

    [root@localhost ~]# dd if=/tmp/217874591-217874595.dat of=/dev/mapper/ centos-home

    重新分区检查

    [root@localhost ~]# badblocks -s -v -o /root/bb-home.log /dev/mapper/ centos-home

    若没有坏道说明修复已完成,若有坏道可以尝试重复以上方法。

    完成后重新mount分区

    [root@localhost ~]# mount /dev/mapper/ centos-home

     

  • 相关阅读:
    phpmyadmin设置密码,不用登录直接进入
    如何将本地文件复制到远程服务器听语音
    win7 64位wamp2.5无法启动MSVCR110.DLL丢失听语音
    最大连接数:60 iops:150 什么概念?
    北京可以备案什么域名
    远程桌面命令是什么 如何使用命令连接远程桌面
    如何知道电脑是几核?
    nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D
    Shell 文件包含
    Shell 输入/输出重定向
  • 原文地址:https://www.cnblogs.com/ZCQ123456/p/11323334.html
Copyright © 2020-2023  润新知