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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

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,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 网络协议
|
18天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
41 3
|
2月前
|
存储 运维 搜索推荐
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
42 1
|
2月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
45 1
|
3月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行工具的力量
【9月更文挑战第14天】在Linux的世界里,命令行工具是系统管理员的瑞士军刀。本文将带你领略命令行的魅力,从基础操作到高级技巧,让你的运维工作更加高效和精准。准备好了吗?让我们一起开启这段探索之旅!
|
2月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
4月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
162 3
|
3月前
|
消息中间件 运维 Linux
linux之centos运维kafka
linux之centos运维kafka