首页 > 代码库 > 远程控制-备份策略-系统故障排除
远程控制-备份策略-系统故障排除
Linux远程控制
Linux备份策略
系统故障排除
#################################################
一、Linux远程控制
OpenSSH,Secure SHell
服务端程序:sshd
服务配置:/etc/ssh/sshd_config
Port 22 【SSH协议的标准端口】
UseDNS no 【不使用DNS解析】
Linux客户端的SSH程序
远程登录:
ssh用户名@服务器地址
ssh -X 用户名@服务器地址
**客户端得运行在桌面下,手动加载图形程序)
远程安全复制:
scp-r 用户名@服务器地址:/文件路径 本地路径
scp -r 本地文件或目录路径 用户名@服务器地址:远程路径
远程安全FTP:sftp 用户名@服务器地址
Windows客户端的SSH程序
SecureCRT
Putty(....)
F-Secure
WinSCP
支持X图形
screen 屏幕共享
二、Linux备份策略
基本备份方式
cp(选项 -p、制作镜像) 【选项 -p 保持权限等属性】
tar 完全备份
--newer-mtime yyyy-mm-dd:备份..后修改过的文档
-p:小写的-p,保留原有的属性/权限
-P:大写的-P,保留原有的绝对路径不变
--exclude:排除不需备份的文档
**执行“stat 文件”可查看指定文件的详细时间(访问、修改、改变)属性
设备克隆工具
dd if=输入设备 of=输出设备
dd if=输入设备 of=输出设备 bs=块大小 count=块数量
**if --- Input File、of --- Output File
**bs --- Block Size
三、系统故障排除
故障修复
1. 遗忘root密码
1)重启,在GRUB菜单按e键,
2)修改kernel行(添加single,或字母s、数字1),回车保存
3)按 b 键启动,免密码验证进系统
4)重设 root 的口令
2. EXT分区超级块故障
1)模拟对/dev/sdb1分区的破坏操作
dd if=/dev/zero of=/dev/sdb1 bs=512 count=4
2)重新挂载/重启时报错
[root@svr5 ~]# mount -o remount /dev/sdb1 /mnt
.. .. mount: you must specify thefilesystem type
3)进修复模式执行fsck修复
fsck -y -t ext3 /dev/sdb1
4)重新挂载及访问分区
3. 检测磁盘坏道
badblocks [选项]... 磁盘或分区
**选项 -s 显示进度,-v 输出详细信息
**比如 badblocks -sv /dev/sdb
4. MBR扇区破坏
1)备份MBR扇区,存放到其他磁盘(切记!!!!)
** 假设将要备份磁盘/dev/sda(Linux系统所在盘)的MBR记录
** 另一块磁盘上的分区/dev/sdb1已挂载到/mnt/sdb1/
dd if=/dev/sda of=/mnt/sdb1/sda.mbr bs=512 count=1
2)破坏MBR扇区数据,重启后无法进系统
dd if=/dev/zero of=/dev/sda bs=512 count=1
3)RHEL5光盘引导,进入救援模式(获得临时Shell)
boot: linux rescue
4)从备份文件中恢复MBR扇区
sh-3.2# mkdir /tdir 【创建临时挂载点】
sh-3.2# mount /dev/sdb1 /tdir 【挂载存放有MBR备份的分区】
sh-3.2# dd if=/tdir/sda.mbr of=/dev/sda 【回写MBR备份】
5)重启后,MBR恢复正常
sh-3.2# exit 【退出修复环境,自动重启】
5. GRUB引导故障
1)先备份,再移除/boot/grub/grub.conf文件
cp /boot/grub/grub.conf /boot/grub/grub.conf.bak
2)重启后无法进系统
会停滞在“grub>”提示符状态
3)在 grub> 提示符后,手动执行引导
grub> root (hd0,0) 【进/boot分区】
grub> kernel /vmlinuz-2.6.18-348.el5ro root=LABEL=/ 【起内核、找根分区】
grub> initrd/initrd-2.6.18-348.el5.img 【起initrd】
grub> boot 【引导Linux系统】
** 不足:操作比较麻烦,最好先知道内核、initrd镜像、根分区的位置
** 若手动引导失败,可进RHEL5光盘救援模式,再做恢复操作(参考4、5步)
4)进入系统后,重建grub.conf 配置文件
cp /boot/grub/grub.conf.bak /boot/grub/grub.conf
reboot
5)【补注】若MBR中的引导器损坏,则grub>将不可用
** 先进RHEL5光盘的rescue模式
** 待修复的Linux系统会自动挂载到/mnt/sysimage/ 下
sh-3.2# chroot /mnt/sysimage 【切换至待修复系统】
sh-3.2# grub-install /dev/sda 【重装GRUB引导器】
sh-3.2# exit 【退出chroot环境】
sh-3.2# exit 【退出修复环境,自动重启】
6. 系统文件丢失(/etc/inittab)
故障现象:
启动提示 “... INIT: No inittabfile found”
系统停滞,无法完成初始化
解决思路:
进入急救模式,从备份文件中恢复
或者,在急救模式中重装initscripts 软件包
sh-3.2#chroot /mnt/sysimage
sh-3.2#mount /dev/hdc /mnt //挂载RHEL5光盘设备
sh-3.2#rpm -ivh --force /mnt/Server/initscripts-*.rpm
#################################################
############################ ###################
## 备选扩展: ## ##
############################ ###################
7. 误删除恢复 rm -rf
1)注意不能再写入—— umount
2)准备一个恢复工具,比如 extundelete
查看列表:extundelete --inode 2 /dev/sda1
恢复所有:extundelete --restore-all /dev/sda1
恢复指定文件:extundelete --restore-file 文件路径 /dev/sda1
恢复指定目录:extundelete --restore-directorie 目录路径 /dev/sda1
** extundelete --help 获取帮助
8. i节点耗尽验证(尽管有磁盘空间,但已无法写入文件)
建一个小分区(40MB),
格式化:mkfs -text3 /dev/sdb10
|-->创建超级块(superblock)—— inode数量、blocks数量
查看超级块:tune2fs-l /dev/sdb10
快速消耗i节点资源:
mkdir /mnt/testdir
mount /dev/sdb10 /mnt/testdir
for i in $(seq 15000) ; do touch "/mnt/testdir/file$i.txt" ; done
|--> 设一个超过可用i节点数量的数值
**seq命令用来生成一个数字序列,for是一个循环语句(Shell课程会详细介绍)
**inode,i节点—— 档案编号,每一个文件都需要
**文件名 --> i节点 --> 文件内容
9. 软链接、硬链接
ln-s 建软链接:
链接文件 --> 被链接文件 -->i节点 -->文件内容
** 一旦删除“被链接文件”,剩下的“链接文件”将不可用
ln建硬链接:
链接文件 --> i节点 -->文件内容
被链接文件 --> i节点 -->文件内容
** 即使删除“被链接文件”,剩下的“链接文件”仍然可用
主要特点:
** 软链接可以跨EXT文件系统(源和目标可在不同EXT分区)
** 硬链接不能跨EXT文件系统(源和目标必须在同一个EXT分区)
** 不能为目录建立硬链接,而软链接是可以的
10. logwatch日志报告
logwatch--range all --print | less
**--range可以指定为 all、yesterday、today
**未指定 --range 选项时,缺省只列出前一天(yesterday)的日志报告
11. 提取rpm包内的个别文件
1)查看文件清单
rpm -qpl softname-1.0.rpm
2)确认相对路径
rpm2cpio softname-1.0.rpm | cpio-t
3)提取个别文件
rpm2cpio softname-1.0.rpm | cpio -idv 文件相对路径
4)提取所有文件
rpm2cpio softname-1.0.rpm | cpio -idv
选项说明:
-t,--list:查看可用的文件列表
-i,--extract:提取文件
-d,--make-directories:创建目录结构
-v,--verbose:详细输出
12. wget下载整个网站:
wget -crpk -np http://www.lfs.org.cn/book/index.html
选项说明:
-r,--recursive:递归下载所有链接
-p,--page-requisites:包括页面显示必需的目标
-k,--convert-links:下载完成后转换链接目标以便本地浏览
-np,--noparent:只向下递归,防止下载父级链接或外部链接等网页对象
-c,--continue:支持断点续传
-t,--tries=:指定重试次数
**LFS项目,Linux From Scratch
**—— 从零开始,全手工打造自己的Linux系统
#################################################
远程控制-备份策略-系统故障排除