免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10782 | 回复: 12
打印 上一主题 下一主题

他山之石可以攻玉,从Linux到Solaris(09&10):备份恢复与故障诊断 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-28 08:53 |只看该作者 |倒序浏览
本帖最后由 yuhuohu 于 2010-11-30 11:09 编辑

前人种树,后人乘凉,开源世界,自由分享



做系统管理的不可能单纯的仅接触solaris,unix大同小异,完全可以从solaris出发达到触类旁通的目的。近日有空,看些Linux的管理文档,主要是看Linux和Solaris的区别点,顺手发些心得,这是第九篇和第十篇:备份恢复与故障诊断

从Linux到Solaris
(updating)

目录:


作者保留版权,转载请注明出处,来自cu-yuhuohu.

第九章:备份恢复

linux使用dump和restore命令执行文件系统的备份和恢复作业,在solaris中则使用ufsdump和ufsrestore.
  • linux
#/sbin/dump -0u -f /dev/st0 /home
# cd /home
# restore rf /dev/st0
  • solaris
# ufsdump 0uf /dev/rmt/0 /export/home
# cd /export/home
# ufsrestore rf /dev/rmt/0

solaris 10的zfs则使用快照功能:
zfs snapshot tank/home@ss_monday

上述命令将生成文件系统tank/home的快照ss_monday,然后通过快照进行备份:
zfs send tank/home@ss_monday > /dev/rmt/0

上述命令将把快照数据备份到磁带上。

原帖由 zzsg 于 2008-4-11 14:19 发表
补充一下第9章,for solaris, ufs也可使用快照功能
# fssnap -F ufs -o raw,bs=/tmp/snapshot.0 /export/home
# mount /dev/fssnap/0 /mnt
# ufsdump -0uf /dev/rmt/0 /mnt
....



  • linux和solaris还经常通过tar和cpio命令对文件系统进行备份
  • 此外还有许多第三方的备份工具,在两种操作系统上都可以使用,比如开源软件Amanda。比如著名的备份软件NBU(veritas netbackup)。
  • solaris也发布了Sun StorageTek Enterprise Backup Software和其他一些与存储管理相关的工具。Sun同时也转售Legato Networker和IBM Tivoli。

压缩工具

常见的压缩工具有bzip,gzip,zip.

作者保留版权,转载请注明出处,来自cu-yuhuohu.
-------------------------------------------------------------------------------------------------------------------------

继续往下拉....

[ 本帖最后由 yuhuohu 于 2009-7-4 20:30 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-01-28 08:54 |只看该作者
第十章:故障诊断

正所谓天有不测风云,即使你按照各种技术指导文档努力的非常严谨且认真的按部就班的进行操作,依然会不时的遇到各种意外现象。本文将尽力帮助各位在遇到各种故障时进行分析与诊断。内容包括:
  • 安装
  • 系统启动
  • Core Files
  • 内核崩溃转储
  • 日志
  • 命令丢失
  • root密码恢复
  • 网络
  • NFS共享
  • 诊断和调试工具
1、安装
从USB-CDROM安装
即使x86机器支持从USB-CDROM启动,从USB-CDROM安装solaris 10 x86也并不见得总是能够顺利完成。有时候在安装时会出现系统找不到USB-CDROM的情况。解决方法如下:
1、安装时选择交互式文本安装类型"Solaris Interactive Text (Console session)"
     按安装步骤操作直到安装程序出现以下错误提示,并跳到shell提示符:
             ERROR:The disc you inserted is not a Solaris OS CD/DVD


2、查看并记录/dev/dsk目录下可用的设备
3、拔出USB-CDROM,等待数秒再次插入
4、查看新认知的设备,比如c1t0d0XXXX.
5、挂接USB-CDROM
         mount -F hsfs /dev/dsk/c1t0d0p0 /cdrom,注意设备名最后必须是p0(分区0)
6、运行/sbin/install-solaris继续开始安装

作者保留版权,转载请注明出处,来自cu-yuhuohu.

2、系统启动
系统启动
如果遇到和系统启动有关的问题,可以通过以下方法采集所需的信息:
1、svcs -x FMRI
solaris 10系统可通过svcs命令查看任何(未启动的)服务实例(solaris 10称之为FMRI,故障管理资源标识)的详细参考信息

2、查看/var/adm/messages文件,通常情况下这个文件包含了所有的系统日志消息记录。
3、确定/etc/rc*.d目录中的脚本没有错误

修复引导文件
  • 如果在启动时遇到"panic:cannot mount boot archive"消息,说明可能丢失了引导文件(boot_archive)。在同时打多个需要重新引导文件的补丁时经常会出现这种故障。
  • 要修复这个问题,需要启动系统进入"failsafe"模式。通常情况下,failsafe模式会提示你更新引导文件。如果确实是这样的话,更新后重启系统即可恢复。

还有另外一种常见的方法:
  • 把跟分区挂接到某目录,比如/a:mount -F ufs /dev/dsk/c1d0t0s0 /a
  • 然后用以下命令重建引导文件:/a/boot/solaris/bin/create_ramdisk -R /a
  • 重启系统


3、Core Files
当系统异常退出时会创建Core file(核心文件)。Core File提供的信息能够帮助查找导致应用中断的原因。可通过coreadm工具来定义solaris所产生的core file的位置,名字,以及内容。
有几个常用的应用可用来从core file中提取信息:
pflags 查看"tracing flags"
pcred 查看credential(证书)
pldd 查看链接到进程的动态库
pstack 查看每个进程的LWP的十六进制的"symbolic stack trace"
"tracing flags","stack trace"是开发类术语,大家可google一下.

4、kernel crash dump
如果Linux机器发生内核死机(kernel panic),会生成一个oops消息,通过这个消息可判断导致故障的原因,linux内核并不会产生实际的崩溃转储文件(crash-dump-file)
  • 【注】redhat enterprise linux 5安装时可选择是否启动生成crash-dump-file.
如果solaris内核死机,将会在/var/crash/hostname目录下生成一个崩溃转储文件。技术人员将通过这个文件分析系统崩溃的原因。


5、日志
当遇到问题时,首先查看各种相关日志文件是一个好习惯。有几个重要的系统日志文件如下:
/var/adm/messages 主要的系统日志
/var/log/syslog sendmail日志及其他
/var/cron/log 自动作业(cron tab) 的日志信息
/var/lp/logs/lpsched 打印机服务器日志
此外,有些应用有专用的日志文件:
/var/samba/log
/var/apache/log
/var/apache2/log



6、命令丢失
命令可能会在多个目录中存放,有些命令可能需要单独安装,甚至如果命令不可用可能需要重新移植(编译)
首先要检查当前shell的路径变量$PATH。命令可能存放的目录请参见前文。
如果命令还未安装,可通过配套CD,sunfreeware.com,blastwave.org下载提供该命令的软件包的开源版本,或用源码进行编译安装。

如果该命令没有solaris版本,可能你需要进行移植或编写solaris版本


7、root密码恢复
如果忘记了root密码或接手一台没人知道root密码的机器时,可从solaris的安装盘启动,选择进入单用户模式,然后把根分区挂接到/a目录,修改/a/etc/shadow文件,把root账号的密码字段清空,然后重启系统即可


8、网络
如果遇到网络连接问题,可使用以下常用工具进行调试诊断工作:
traceroute 查看包在网络中的路由情况可或者那个跳点(路由器)出了问题
/usr/sbin/ping 检测远程机器是否可达
netstat 查看网络状态信息
snoop 报文捕捉工具,类似于tcpdump
tcpdump 有适用于各种操作系统的版本,solaris的配套CD上有提供


9、NFS共享问题
有时候,在solaris 10上挂接从linux系统共享出来的文件系统时,可能会出现以下错误信息:
$ mount linxu-nfs-server:/export /mnt
nfs mount: mount: /mnt: not owner


这是由于solaris 10NFS客户端默认使用NFS v4协议来挂接共享文件系统,而Linux的NFS不支持NFSv4
要解决这个问题,可修改solaris 10的NFS 客户端默认使用的NFS协议:
编辑/etc/default/nfs加入一行:
NFS_CLIENT_VERSMAX=3

另外,如果你不希望solaris nfs服务器使用NFSv4,可以修改/etc/default/nfs文件如下:
NFS_SERVER_VERSMAX=3

这样solaris系统的NFS服务器将最高只能支持到NFS协议的v3版本


10、诊断和调试工具
DTrace是solairs 10中新增的一个非常有力的工具,dtrace使进行系统故障诊断的过程变得更加容易。dtrace能够探测系统的各个方面,包括网络、IO、函数调用(function call),以及应用在CPU中的启动和停止.有许多地方可获取dtrace脚本,最常见的是openSolaris dtrace community:http://opensolaris.org/os/community/dtrace/ 。其中"dtrace toolkit"提供了许多专注于故障诊断的脚本。

另外两个有用的工具是
  • truss,用于追踪应用的系统调用情况
  • apptrace,用户追踪应用的函数调用(function call)情况

[ 本帖最后由 yuhuohu 于 2008-1-28 09:16 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-01-28 09:17 |只看该作者
基本完结了,哪位兄弟帮忙制作成chm文件,多谢多谢

论坛徽章:
0
4 [报告]
发表于 2008-02-14 11:28 |只看该作者
希望楼主发完最后一章的时候,能整理成一个pdf或者chm,这样看起来也方便一些,多谢了

论坛徽章:
0
5 [报告]
发表于 2008-02-14 11:41 |只看该作者
原帖由 suran007 于 2008-2-14 11:28 发表
希望楼主发完最后一章的时候,能整理成一个pdf或者chm,这样看起来也方便一些,多谢了



别等最后一章了,下面没有了,没时间整理。现在手头两个工程混杂在一起头痛愈裂

论坛徽章:
0
6 [报告]
发表于 2008-04-05 13:54 |只看该作者
楼主很好,支持

论坛徽章:
0
7 [报告]
发表于 2008-04-11 11:48 |只看该作者
顶呀……  ……

论坛徽章:
0
8 [报告]
发表于 2008-04-11 11:52 |只看该作者
顶一下.呵呵.

论坛徽章:
0
9 [报告]
发表于 2008-04-11 14:19 |只看该作者
补充一下第9章,for solaris, ufs也可使用快照功能
# fssnap -F ufs -o raw,bs=/tmp/snapshot.0 /export/home
# mount /dev/fssnap/0 /mnt
# ufsdump -0uf /dev/rmt/0 /mnt
....

论坛徽章:
0
10 [报告]
发表于 2008-04-11 14:34 |只看该作者
好,补上
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP