Linux运维 第二阶段 (十四) 备份与恢复及常见故障排除

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

常见的系统故障排除(经常备份源文件,尽量借助于工具):

1、  确定问题的故障特征

2、  重现故障

3、  使用工具收集进一步信息

4、  排除不可能的原因

5、  定位故障,从简单的问题入手,一次尝试一种方式

可能会出现的故障:

1、  管理员密码忘记(开机进grub菜单时按e进入kernel一行再按e在最末处输入singles设置成单用户模式即可)

2、  系统无法正常启动:

grub损坏(MBR损坏,grub配置文件丢失);系统初始化故障(某文件系统无法正常挂载,驱动不兼容)

MBR损坏,解决:借助别人的主机修复;光驱引导,使用紧急救援模式

#grub

>find (hd0,0)/

>root (hd0,0)

>setup (hd0)

>quit

#sync

#reboot

grub配置文件丢失,解决:

>find (hd0,0)/

>root (hd0,0)

>kernel /vmlinuz-<TAB>

>initrd /initrd-<TAB>

>boot

3/etc/rc.d/rc[3|5].d/s99local-->../rc.local/etc/rc.d/rc.local,此文件中的命令若不正确,语法错误或逻辑错误也会导致系统无法正常启动)

4、默认级别设为06,解决:进入单用户模式,编辑/etc/inittab

5senmail配置文件时间戳检查无法通过,解决:单用户模式中关闭该服务;启动时不停按i键进入交互式模式

6、误删/bin/bash,解决:光盘引导进入紧急救援模式

#mount /dev/cdrom  /media

#ls /media/Servers  |  grep bash

#rpm -ivh  --replacepkgs  --root /mnt/sysimage  bash- 3.2-24.el6.x86_64.rpm

#chroot /mnt/sysimage

若误删一些其它命令,如/sbin/mingetty等,可进入单用户模式,挂载光盘镜像,重新安装

6、  环境变量PATH破坏,解决:

重新指定:#export  PATH= /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

或重新启用另一终端再登录

或用命令时使用绝对路径#/bin/ls  /usr/bin(找到vim)

#/usr/bin/vim  /etc/profile

 

 

 

以上是学习《马哥网络视频》做的笔记。

 







一、1、linux系统重要数据:/root/,/home/,/etc/,/var/spool/mail/,/boot/,/var/lib/mysql

    apache备份数据:/etc/httpd/conf/httpd.conf,/var/www/html/,/varlog/httpd,以上rpm包安装方式的重要数据;/usr/local/apache2/conf/httpd.conf,/usr/local/apache2/htdocs/,/usr/local/apache2,以上是源码包安装的apache重要数据。

mysql备份数据:/var/lib/mysqlrpm包数据库内容;/usr/local/mysql/data/源码包数据库内容。

2、备份策略:

》完全备份:恢复数据快,关键服务器整盘完全备份,搭设另一台一模一样的服务器;

》增量备份:优:备份数据较少,耗时较少,占用空间较少;缺:数据恢复麻烦。过程:先进行一次完全备份;与完全备份相比较只备份有差异的数据;第二次与第一次增量备份的数据比较,只备份有差异的数据;第三次与第二次增量备份数据比较,以此类推。

》差异备份:既不像完全备份一样把所有数据都备份,也不像增量备份数据恢复那么麻烦;缺:随着时间的增加,变动的数据越来越多,占用空间大,备份缓慢。过程:先进行一次完全备份;之后的每次差异备份都与完全备份数据比较;恢复时先恢复完全备份的数据,再恢复差异备份的数据。

二、》#dump   选项  备份之后的文件名  源文件或目录

         -[0-9]   0指完全备份,1-9为增量备份级别。注:只有备份整个分区或整块硬盘时才能支持1-9增量备份级别,如果只是备份文件或目录,只能用0级别。

         -f   接备份之后的文件名

         -u    备份成功之后把备份时间记录在/etc/dumpdates文件中,备份文件或目录不能用此选项

         -v    verbose

         -j    调用bzlib库压缩备份文件,格式为bz2,默认压缩等级为2

         -W    显示允许被dump的分区备份等级及备份时间

         注:dump差异备份,先使用0级别完全备份一次,以后的每次备份都使用1级别。

         例:#dump  -0uj -f  /root/boot.bak.bz2  /boot

         #cat  /etc/dumpdates

         #dump  -1uj -f  /root/boot/bak1.bz2  /boot   (若数据发生变化,使用1级别的增量备份,若后续的数据还发生变化,照样可以继续使用2-9级别增量备份

         #dump  -W     (备份时若没写-u选项,此命令不会显示

         例:#dump  -0j  -f  /root/etc/bak.dump.bz2  /etc/    (文件或目录仅能使用0级别

         #restore  模式  选项

         -C     比较备份数据和实际数据的变化,若实际数据中的现有数据发生变化,-C可检测到,若实际数据中新增了数据,-C不能检测到变化

         -i      interactive

         -t      查看模式

         -r      restore

         选项    -f 后接备份文件名

         例:#touch  /boot/abc

         #restore  -C -f  /root/boot/bak.bz2(检测不到

         #mv  /boot/vmlinuz…….img  /boot/vmlinuz…….img.bak

         #restore  -C -f  /root/boot.bak.bz2  (可检测到变化

         例:#restore  -t -f  /root/boot.bak.bz2

         #restore  -r -f  /root/boot.bak.bz2   (恢复前先创建一个测试目录,否则会直接恢复到源目录下

         #restore  -r -f  /root/boot.bak1.bz2          (还原增量备份的数据

三、备份工具: dd

         #dd  if=输入文件 of=输出文件  bs=数据块  count=数量

         if       (定义输入数据的文件,也可以是输入设备

         of       (定义输出数据的文件,也可以是输出设备

         bs      (定义数据块的大小,一冷色性读取或写入多少字节,默认512byte

         count        (指定bs的数量

         例:#dd  if=/etc/httpd/conf/httpd.conf  of=/tmp/httpd.bak     (备份文件

         例:#dd  if=/dev/sda1 of=/tmp/boot.bak   (分区备份为文件

         #dd  if=/tmp/boot.bak  of=/dev/sda1     (恢复

         例:#dd  if=/dev/sda1 of=/dev/sdb1          (分区备份至另一分区

         #dd  if=/dev/sdb1 of=/dev/sda1            (恢复

         例:#dd  if=/dev/sda of=/dev/sdb         (整盘备份

         #dd  if=/dev/sda of=/tmp/disk.bak        (磁盘备份成文件

         例:#dd  if=/dev/cdrom of=/tmp/cd.iso      (制作光盘iso镜像

         #mkdir  /mnt/cd

         #mount  -o loop  /tmp/cd.iso  /mnt/cd

         例:#dd  if=/dev/zero of=/tmp/testfile  bs=1M  count=10  (制作指定大小的文件

         注:dd在进行整盘复制时,类似ghost工具,dd复制出的硬盘数据要比ghost稳定得多,缺点耗时长。



本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1651998,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Linux
在Linux中使用rsync进行备份时如何排除文件和目录?
在Linux中使用rsync进行备份时如何排除文件和目录?
123 1
在Linux中使用rsync进行备份时如何排除文件和目录?
|
20天前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
26天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
21 3
|
1月前
|
监控 网络协议 Linux
Linux 命令大全 & CentOS常用运维命令
Linux 命令大全 & CentOS常用运维命令
149 0
|
1月前
|
运维 监控 Linux
Linux本地部署1Panel现代化运维管理面板并实现公网访问
Linux本地部署1Panel现代化运维管理面板并实现公网访问
74 1
|
2月前
|
运维 Linux 数据安全/隐私保护
【Linux专题_01】宝塔面板安装及运维
【Linux专题_01】宝塔面板安装及运维
|
2月前
|
Kubernetes Linux 开发工具
容器开发运维人员的 Linux 操作机配置优化建议
容器开发运维人员的 Linux 操作机配置优化建议
|
2月前
|
运维 网络协议 Linux
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
442 0
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
|
3月前
|
存储 运维 安全
1Panel开源Linux服务器运维管理面板
1Panel开源Linux服务器运维管理面板
110 0
|
7月前
|
缓存 运维 Linux
Linux(CentOS)运维脚本工具集合
Linux(CentOS)运维脚本工具集合
148 2