第11章 分析和排查系统故障

上传人:d****1 文档编号:180586754 上传时间:2023-01-06 格式:DOCX 页数:16 大小:264.29KB
返回 下载 相关 举报
第11章 分析和排查系统故障_第1页
第1页 / 共16页
第11章 分析和排查系统故障_第2页
第2页 / 共16页
第11章 分析和排查系统故障_第3页
第3页 / 共16页
点击查看更多>>
资源描述
第十一章 分析和排查系统故障要求:日志文件分析 将/etc/Bluetooth文件夹改名;然后启动Bluetooth服务,观察故障现象; 通过分析/var/log/messages文件中的相关记录,判断故障原因,并修复 该故障。步骤:1. 将/etc/bluetooth 目录改名为/etc/bluetooth.bak,执行“service Bluetooth start”命令尝试启动服务,将出现错误提示信息“Cant open RFCOMM con fig file: No such file or directory”。如图所示:2. 查看/var/log/messages文件,分析末尾关于Bluetooth服务的日志记 录,会发现类似于 “Cant ope n con fig file /etc/Bluetooth/hcid.c onf ” 的记录条目。将/etc/bluetooth.bak目录改名为/etc/bluetooth。重新启 动bluetooth服务,将可恢复正常,观察/var/log/messages文件中相 关日志记录的变化。如图所示:ruul(?ns 14 mv /c lc/b 1 ueLuu Uix /eLuzb Lut luulli . bttK I iiml Pux 1J1 xr r-Ljii:K 1i1iik1.hu Lh x l.i r-1t oppin RFC Ci MM rnnf i(j file: Hn srurli file nr d irectnry T nK 1roat&ns tt ta i L zuarz logfmessaesJim1G02 : 1J :36nslicid 5752 :Umablc ta pfct cn D EusJilii160E : 13 ;36naidpd 5?5G :i n i I ieiLwcr : L i ndiiiq LZCftTiuckc l: ftddretii ali ead卜 i ii iixr:pm16: 1 : Flfinssflpd 15756 1 :main: Server initial ii nnf s i ledLinnlb掘:MM:处nshcidlb?H5 J :E luetooth HC1 daemorLilin 16 02 :20 :4E ns licid 57B9 : Canr t open config file /etczLluEtoatF/hcid .CDTifJun1692 :29 :dSnslicid I57B9 :Conf iq Load Fn i ledJil ii1G0E :20 HOnslicid 5?Di :Seryice uuu 11 nut becumetheprimcirquuntr .JiLii160E :Z0 HEusliuid 57B3 :Lnablt Lj y eL uii D-EusTim1h:ZA :Finssflprl 1575: 1 :im i t_SRYUFr : h i nl im(j L?CfiPsnrkFt:怖rirws: ri lralLI in usepun lb UZ :勺tl ns sdpd 1575J:main: Sspuep initial izat ian f ai ledroat&ns mv /ctc/bliJictnoth.bak zctczl lmctoathroot&iis J# service buctaotli startp laiLI i ng D lueldulli ieiLviceis : DF IrnntPus ltt _ 在终端tty3中尝试以不存在的用户账号Administrator进行登录;新建用 户账号kitty并以此账号在终端tty4种进行登录,第一次输入错误的密码, 第二次再输入正确的密码;查看前述用户的登录情况记录。步骤:1.切换到tty3,使用账号Administrator登录,密码任意。ped Heit Enterprise Liinix Seiuer release 5.Z CTihanga) Kerne 1 Z.6,16-32.e15 on an 1666ms lojjin: administratorPassiiinird :Lng(iii tnrorre匚tlogin ! _2.重建用户Kitty,设置密码为123456;切换到tty4,首先尝试以账号 Kitty、密码为Kitty进行登录,然后以账号Kitty、密码为123456登录。 如图所示:Het L Ell lerpr ist: L i mix Server re ledSE 5.2 (Tihctnyd it 1 2.6.18-5Z . el5 un cm 1 n(j i n ; V i ttiji nrrnrrt=!ntIngin: kitlyI k i ttyHnsr 1$ ”3. 使用 last 命令查看成功的登录记录。如图所示:hnrrtUyl ttyltty J tty2 ttijl systemI Lli2 I Ly 1 systpm ttyl system ptsl :0 :0 sqs Lt: IDhnntbncthnrtbootbuu L buu LZ.6.10 32.C15Zh.1R-3Z.F15Z b.lb-yz.elb :6.9Z G.10-2.el52.6.1E3E.C15nJLJ.TIIuu&Lnud Ju d rUEUICUICTUTIJITII_u061o8G1nu3z51n.IIIe214214-I i11 luyycd in still 1 nrjapil in (WW:H4) -dounLUI:1JJ-doun01:19)dounC91:28)C01:30J -down36:30)-duwii;375(00:35J -rrssh ( 1 W+Z:1:?!5 )-doun C96:09) doun 96:00) El :5236:89)(06:03) (0604)JunLJtmp hej i ri5: Er iIroatUns 1t4. 使用 lastb 命令查看失败的登录记录。如图所示:ruu LDnsltt isLLI Lli3I Ly4lly3Wed 辰(1 UledJu nJu IIJu II1G16160Z:24 - 6Z;E0Z:Z3 - 6Z;E302;2Z - 6Z;E2(00:00) (00:00) (00;00)htmp hRjiinK LJr” Tum 1A HZ ;ZZ ; 4R rnntRns 1# _5. 查看/var/log/secure文件中新增的安全信息,观察Administrator、Kitty 用户登录及验证失败的事件记录。如图所示:ruul(?n 14 Lail vciilx1ci(j/stcuiLtJim 16 0Z:ZZ : 5E us usei-ddd E5636 1 : hem user: namt-ki I ly U ID-560 . G 1D-5G6 . hunt:- hnmFj/l: i ttij ,1 1 =/h iJu ii 1 h fl Z : Z 3 : 14 ns: pam_un ix(passurl:rhctiithtnl) : passunrrl r?liaiigf=?d f or k i t02 :23 : 22 ns login : pam_unix( login: auth ) : authenticatiain f ai lure: 1 agratne ruscr- rliast - iiscr- i t七ylocfiTi : FAILED LOGIN 1 FEOM (mill) FORd rmthcnt icat ionmi 16il id_6 mi 16i luireilii 16hy Incnid-0 tty_ttyl02:23:240E;23;3111Susluy in ; pttni_uiiix( luy i ii ; lliii ) :jpt lied f ur ut:urmi 16 HZ:ZS:-JI mi lbIL 11 16 02:24:14nuil s113LOGIN uid-6 cuid-0Jim 16 02:2:14 nsln(f iTi : LIXn H IIH tty叫 H k i ttijJogim : pam_UTiix(. log in - AUth ) : che匚k pass ; user Lunknouinlogiin : pam_UTiix( login: auth ) : autJienticatiam f ai lure: 1 oginame tty_tty3 ruscr_ rhnst_logiin: pam_5u 匚 cccd_ildq in :aiLth) : error rctr icvintj i nf or mat uii dLuuL uicr ddmin iLrci lurJilii 16 0E;Z4:16 us luy ill : FAILED LOGIN 1 FEOM (iiilH) FOR ddmin ilt a Lui-. User tiinum tn th亡 umrinr lij i ng fiiitTimt irfi ti nin mnrlii 1 sI rnntlin Is故障模拟及修复 备份磁盘sda的MBR扇区到其他硬盘,并联系MBR的回复操作。步骤:1.将第1块硬盘(sda)的MBR扇区备份到第2块硬盘的sdbl分区中 (挂载到/backup目录下)。roat&nsir /backuproot&nsMouiit devzsdbl /bacKniproatPns I廿 dd if /deuzsda of =/backmp/sda,mbr aLak bs=512 count2.模拟MBR扇区故障。从设备文件zero中读取512字节的数据,将其 覆盖到第1块硬盘(sda),从而破坏MBR扇区中的数据。如图所示:Lroat&ris 4 dd if/devzzero uf =zdev/,sdcL bs=512 comnt-13.重启系统后,将会出现“Operating system not found”的提示信息,表示无法找到可用的操作系统,因此无法启动主机。如图所示:HetMnrk boot froM AND flM79C376A |Coppriqh1: (C) 2003 2005 UMware, Inc.|CopViriqht (C ) 1937 2099 Inte 1 Cnrporn-f ionCLIENT MflC ADDF : SB 0C 29 flD F4 F0 QUID: 5G4D1F70 5BC3 CDF-B55E-llG4F0ftnF4r0 TXE E51: No DIIEP or praxyDHCr offers were received.JXE M0F: Exiting Intel rXE RON. tlpernf in(j Systeri not found4.以使用RHEL 5安装光盘为例。当出现安装向导的“boot:”提示符时, 在后边输入“linux rescue”并回车,将以“急救模式”引导光盘中 的Linux系统。如图所示:in graphica 1 mndp, prpss:十hr? kpy.ro irstall or upgradein text mode, type: 1inux text .1 isted beLou for more information.RED HATENTERPRISE LINUX 5IFl-Main F2-0ptions F3-General LF4-KernelJ F5-Rescue boot:1 i nuK res匚lieUse the funct ion keysTo install or upgrado5.在接受的默认语言界面,选择“English”,然后点击“OK”。如图所示:Choose a LanguageWhat language: uou Id you like to use dur ing- the i nsta 1 lat ion process?ChineseCSimp1 if ied) ChineseCTrad itiona1) Croat i anCzechDanishDutcFEngl i:shEston i a.n6. 在键盘格式界面,选择“us”然后点击“OK”如图所示:Keyboard TypeWhat type of keyboard d.o you haue?7.在提示是否配置网卡时一般选择“NO”如图所示:8.在如图所示界面中,点击“Continue”如图所示:1 Rescue |The rescue enuiromment ui11 noui attempt to f ind your Linux i nsta1lai i on and maunt i t under the directory /mnt-Zsys imag-e. Vou.匚曰1 then ma Ice ang changes requ ired to your syst-em. I f you uant 七口 proceed with tli is step choose J Continue1 You can also choose to mount your file system吞 read-only instead of read-wr ite by choos iiig 1Read-0nlyJ If for some reason this process fails you can 匚hoose Skip and this: step uii 11 be skipped and you ui11 go d ire匚tly to a command shel1.9.在是否初始化磁盘的警告窗口,建议选择“NO”,避免对硬盘数据造 成不必要的损坏。如图所示:|WarnTnj|The partit ion tab le on device sda uas unreadable. To create neu partit ions it must be initial ized, causing the loss of ALL DATA on this drive.This operat ion wi11 overr ide any previous instil lai ion cho ices about which drives to igTiore UouId you like to initialize thisdrive j erasing ALL DATA?Yes10. 最后选择“OK”确认后将进入到带“sh-3.2#”提示符的Bash Shell环 境。如图所示:J .2# fd isk - 1 dcv/sdaDisk /dewsdft: IB.? GH, 18737418248 bytes55 licndsf GJ sectors/trackj 1305 cyl irdersLin its = ql| 1 inders 1GQL5 * 512 = 0225200 bytesDisk /dcwzsda docsnJ t Gomtaiin a uci 1 i d ptir 七 ition tabic Lli 3 .Z#11. 执行相应的命令挂载保存有备份文件的硬盘分区(sdbl),并将数据恢复到硬盘“/dev/sda”中即可。需要注意的是:当前使用的系统环 境是光盘中的Linux目录结构。如图所示:e1i-3.2# mkdir /tmipd irph-3.2# mount /dev/sdbl /tmpdireh-3.2# dd if =/tfflipd irzsdd .mbr .bcik of =/d.EV/sd01+0 records iri1+0 recards: outtl2 bates (512 D) copird P 6.B57737G Eccondsj 03 kB/sph-3 .ZH12. 完成恢复操作以后,执行“exit”命令退出临时Shell环境,系统将会 自动重启。通过单用户模式进入Linux系统,重设root账号的密码。步骤:1. 重启主机,在出现GRUB菜单时按上下方向键取消倒计时,并定位到 要进入的操作系统选择项(如“Red Hat Enterprise Linux Server”),按 e 键进入编辑模式。如图所示:GNU GRUB uersion 0.97(638H louer / 522176K upper nemory)Red Hat Enterprise Linux Seruer (2.6.18-92.el5)Use the f and 4 keys to select uhich entry is highlighted. Press enter Io boot the selected OS, ,e, to ed辻 the comnands before booting, ,a, to modify the kerne 1 arguments before booting, or !c! for a connand-1ine.RED HATENTERPRISE LINUX 52. 定位到以kernel开头的一行并按e键。如图所示:3.在行尾添加“ 1”的启动参数,其中数字“1”也可以换成字母“s” 或“single”,也可以表示进入到单用户模式。如图所示:grub edit kernel /un1inuz-2.6.1G-92.e15 ra root=LRBEL=/ rhgb quiet 1|RED HATENTERPRISE LINUX 5Mininal BRSH-1ike 1ine editing is supported. For the first word, TAB1ists possible command completions. Anuhere else TAB 1ists the possible comp let inns of a deuicef i leTinme. ESC at any t ine cancels. ENTER ai ani t ime accepts your changes.6.在单用户模式的Shell环境中,可以执行“passwd root”命令重新设置 root 用户的密码。如图所示:tili -3 . Z# pnsswd ruu ILlkdn i ncj pdssbdurtl f ur naer klliu I.htw UM IX pcisszLirtl:DftD rSSUOFD: i I is Lou impl itic/LileincilicRtLypt new UNIX pdSKWui-cl :”的提示符,无法完 成进一步的系统启动过程。如图所示:GHU GEUD vers ion 6.97(336K lowei- / 522173K upper rreriory)M i n 1 ncu 1 DASH-1 ike line ed i t iratf is supported . For the f irst hu rd ;( TAB1 isis possilile connaiid curiplet ions . firiywlierB e Ise TftD 1 ists the poss ible ccrip lei i ans of d device/f i leiirtne prub _3. 在该提示符后进行编辑,通过输入对应的引导命令,然后再执行“boot” 命令即可正常引导Linux系统。如图所示:GNU QfllJD versiuH 9. S7 (GJ3K luntir / 522L7CK upptM- nenufsj)Mi ii i i*irt 1 BASH- 1 i kn I i iih nil i I i iij i x sn jipiir I hiI . Fur r.hn f i rxl uiir il : TflF1 isrs jinssiM r rnMMflmri nnwjp 1 Rt inns. AnyuhArp fil sr TAF 1 i sis thp pnss: i hip rnMp I pt inns: nt a ripuirpzfi Lptiamp. Ikrub rant Ihrtld, U JF i IcsjistcH tpc is extol s , part it ion t ypc WxtJJkrub kerme 1 vhI iniiz 2. E . LB Q2 . 15 r口 raai -LflBELrhgb qn ictLinux bz Mngc, sctnp_0xlc60, siEG_Gxlb763Llkrub initrd /i”辻rd 2.C.10 U2.el5. ingL i huk- i n i li d 6xiri_;fi4006 , 0K25bbti9 by lei 1rub 1jujI_或: kernel /vmlinuz-2.6.18-194.e15 ro root=/dev/VolGroup00/LogVol00 rhgbquiet4.进入系统后,将之前移动到/opt目录里的grub.conf文件重新复执一 份到原目录/boot/grub/里。如图所示:root&ns # cp /apt/gruL.conf /boot/grub/root&ns r# cd fbcmthgrub/1m inix_stagel_5 re iserfs_stafe1_5 sp 1 ash . xpm .gz;stacfelroot&ns grublfl Is device . rn(xpgruib confe2f s_stag-el_5 iso9660_stdc(El_5 i at_stael_5 jf s_stac(el_5 tf s_stac(el_5menu H 1stLrootOns grubill ”由于在“grub”环境中使用的命令较为复杂,而且一般难以也难以记住相关的命令选项、内核加载参数等,因此用户可以采用另一种修复办法,同样使用 RHEL5 的安装光盘引导进入急救模式,如果分区表并未被破坏,则急救模式将会找到硬盘中的Linux根分区,并将其挂载到光 盘目录结构中的/m nt/sysimage/文件夹中。进入“sh-3.2#”的 shell 环境以后,执行“chroot /mnt/sysimage” 命 令可以将目录结构切换到待修复的Linux系统中,然后重写(或通过之前备份的文件恢复)grub.conf (/boot/grub/目录下)配置文件即可。如 图所示:sh-3.2# chroot /mnt/sysimagesh-3.2# vim /boot/grub/grub.confsh-3.2# exitsh-3.2# exit在上例中,若未执行“ chroot /mnt/sysimage”命令,则重新建立的 grub.conf 配置文件应该位于/mnt/sysimage/boot/grub/grub.conf。如果是MBR扇区中的引导程序出现损坏,可能在重建grub.conf配置 文件后仍然无法成功启动系统,这时候可以通过RHEL5救援模式的shell 环境重新安装gurb引导程序。切换到待修复的Linux系统根环境,执行 “grub-install /dev/sda”命令可以重新将grub引导程序安装到第1块硬 盘 sda 的 MBR 扇区。如图所示:sh-3.2# chroot /mnt/sysimagesh-3.2# grub-install /dev/sdash-3.2# exitsh-3.2# exit上述方法同样适用于在Linux主机中重装Windows系统(不覆盖Linux 系统)后导致Linux系统无法启动的情况。因为对于使用双操作系统的 主机,后安装的Windows系统将使用自己的引导数据覆盖MBR扇区中 的记录,导致开机后不再出现GRUB菜单从而无法进入Linux系统。如果 是后安装Linux系统,GRUB程序将会自动识别硬盘中的Windows系统并 将其加载到 GRUB 菜单配置中。经验总结:执行 “dd if=/dev/zero of=/dev/sda bs=446 count=T命令可以模拟出 对 MBR 扇区中 GRUB 引导程序的破坏(注意先做好备份),但并不会破 坏分区表(实际上分区表保存在MBR扇区中的第447第510字节中)。模拟/etc/inittab文件丢失步骤:1.将inittab文件移动至/opt目录下,模拟/etc/inittab文件丢失。如图所示:root&ns # nw /etc/inittab /opt/root&ns # cd /opt/root&ns opt IB Isorub .conf inittabLrootOns opt Jtt _2.重启系统后,将会出现“INIT: No inittab file found”的错误提示信息。 如图所示:Duu I i iki| Rtid lldil Eulerprie Li nux Seiwtr (2 . G . 10-92. e 15) ! trnnt (hiR , R )F i lP57;jtPM typp ispsrt it i nri t HxK 3Kerne 1 zunliTiuz-2.tj. 18-92. eJ5 ro roat =LAh;EL= rhgb quietLL inux-bziMagc, setup_kJxlckJU, Gizc_dxlb7Ud4in itrd /in itrd 2 . G . 13 92 . clE .Linux initrd 巨 Oxlfc84B00, 6x25bbc3 btesrleriui fur ui-osh kernul C0x6 Lu 6x0) nulkii Ulin pei niss ib Lt; ranye NeA Hat nasli version 5.1. LS. 6 start ling priii: fiS5tiini T1J rir i UP pflrFp : wr i tp thrnurjhRd a : asriiMi tij (1 r i up cflrhp : ur i tp thrnu jhJNU : Ho inittab fils foundEnter run loyal:3. 这类故障同样可以在 RHEL 5 安装光盘的急救模式下进行修复。如何 编辑如图所示:fiuurin muuii Led uiidtr Lht /mu 1/slis imayt dirtuLury.Wlien f i nisliRfl ji 1 rfisr evi t Frnrn the rFr I 1 aiifl ijniiT* system ui 1 1 rphnnt .eJi- J .Ztr chraat /mrrt/ys image/eJi -d . Ztt rpm -qf /Etc/im it taliin itscripts-B.45.1?.EL-1hli 3.2# moiLTit /dcw/lidc /med ia/(mount : block dev i 匚 c /dcu/idc is write protc 匚ted, mount in(| read on L ljtih - J . 2tt rpm -ivh - -rep aceky i zniedia/SeivcriHiliLili-D.S.l .EL-1 . iJCiG.itLpn) Lai-iiiiiy : /melici/Strver/ i ii i LsuriiJ ls-B .45.15 . EL-1. i3E6 . jjm; UtadEi U3 DSA t: iyna Lur ”;MPKEY, kftj TD l7H171fifiTrepar i ng . . .itnannnnnnnannnannitnaannnatinitnnnnnnnnnannnan r 1 anx 11: iiiitscripistnrrtitirtrttiiittnnritinnrnirtnfftitittnmirtnrifitinrttiiittnririttnnr Liaw: JeJi-J .Ztt Exitexitkh 3.2# exit日志文件分析1. 内核及系统日志内核及系统日志功能主要由默认安装的 sysklogd-1.4.1-39.2 软件包提 供,该软件包安装了 klog、syslogd两个程序,并通过syslog服务进行控 制,分别用于记录系统内核的消息和各种应用程序的消息。Syslog服务 所使用的配置文件为/etc/syslog.c onf。通过查看/etc/syslog.co nf文件中的 内容,可以了解到系统默认的日志设置。在Linux内核中,根据日志消息的重要程度不同,将其分为不同的优 先级别(数字等级越小,优先级越高,消息越重要): 0 EMERG (紧急):会导致主机系统不可用的情况 1 ALERT (警告):必须马上采取措施解决的问题 2 CRIT (严重):比较严重的情况 3 ERR (错误)运行出现错误 4 WARNING (提醒):可能影响系统功能,需要提醒用户的重要事件 5 NOTICE (注意):不会影响正常功能,但是需要注意的事件 6 INFO (信息):一般信息 7 DEBUG (调试):程序或系统调试信息等2. 用户日志在 wtmp、btmp、lastlog 等日志文件中,保存了系统用户登录、退出 等相关的事件消息。 査询当前登录的用户情况users、who、w命令user命令只是简单的输出当前登录的用户名称,每个显示的用户名 对应一个登录会话。who命令用于报告当前登录到系统中的每个用户的信息。使用该命 令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行 审计和处理。 who 的默认输出包括用户名、终端类型、登录日期及远程 主机。w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who 命令的输出内容要更加丰富一些。査询用户登录的历史记last、lastb命令last命令用于查询成功登录到系统的用户系统,最近的登录情况将显 示在最前面。通过last命令可以及时掌握Linux主机的登录情况,若发现 未经授权的用户登录过,表示当前主机可能已被入侵。lastb 命令用于查询登录失败的用户记录,比如登录的用户名错误、 密码不正确等情况都将记录在案。用于登录失败的情况属于安全事件, 因为这表示可能有人在尝试猜解你的密码。除了使用 lastb 命令查看以外 也可以直接从安全日志文件/var/log/secure中获得相关信息。程序日志在Linux系统中,还有相当一部分应用程序并没有使用syslog服务来 管理日志,而是由程序自己维护日志记录。总的来说,作为一名合格的系统管理人员,应该提高警惕,随时注 意各种可疑状况,定期并随机的检查各种系统日志文件,包括一般信息 日志、网络连接日志、文件传输日志以及用户登录日志记录等。在检查 这些日志时,要注意是否有不合常理的时间或操作记录,例如出现以下 一些现象就应多加注意:用户在非常规的时间登录,或者用户登录系统的IP地址和以往 的不一样 用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录 非法使用或不正当使用超级用户权限 无故或者非法重新启动各项网络服务的记录 不正常的日志记录,比如日志的残缺不全,或者是诸如wtmp这 样的日志文件无故缺少了中间的记录文件。另外,尤其提醒管理人员需要注意的是:日志并不是完全可靠的, 高明的黑客在入侵系统后,经常会打扫现场。所以需要综合运用以上的 系统命令,全面、综合的进行审查和检测,切忌断章取义,否则将可能 做出错误的判断。修复文件系统在 Linux 主机中,可能会因为非正常关机、突然断电、设备数据读写 异常等原因导致文件系统的破坏。比较常见的是超级块(super-block) 损坏。超级块是文件系统的核心“档案”,他记录了该文件系统的类型、 大小、空闲磁盘块等信息。当文件系统的超级块数据损坏时,Linux将无法识别该文件系统,挂 载时会出现“you must specify the filesystem type的提示而不能正常使 用。例如,模拟/dev/sdb1文件系统的超级块数据库损坏,尝试挂载时将 不能成功。如图所示:ruul(?n dd ir-Zdev/ner u uf-Zdewiidbl bs-!j 12 lliuiiI-4fl +0 records in records out2043 by its 2.6 kE uupittl. 0.06167511. L.Z MB/sIruulu 14 iruuiil /dev/slbl /mu I(lifx: II lirtli lr I.i I f i url HF%+ xn jik r-h 11 n:khtniint : jnn must sppr i fij thn f i lFsystpm tijjpftIrnntPiis ltt对于通过/etc/fstab文件自动挂载且设置了 fsck参数(第6列的值非 0)的文件系统,若超级块出现错误则Linux系统在启动时会报错,并提 示用户需要进行修复操作。例如:当/dev/sdb1分区的超级块出现错误时, 启动后系统将提示“Give root password for maintenance”,如图所示:Lheclc ing f 1 lesystsmsc lean, Itf5856/Z3408b4 Files. 14516Z0/Z339465 blocksfsck e:ctm: Not a d irectory uhi 1e t ry incf to open zdevzsdblz pdev/sdbl/-The superb 1ock cdu1A not be cad or docs not deser ibc a 匚OTf匚匸七 cxt2i i lesystcm. If tiir device is: vd lid and. it rrcL 1 ly 匚onti iris clti rxt2Ilesystem (and not suap or ufs or something else), then the superblockis. corrupt ? ard you miijlit try ru lining eZf s ck mi th an 3 It er rate superbl anck: eZfsck -b 8193 Boot: clean, 3326104 f i les n 14439/1043S8 blocksFAILEDk* Hh error occurred dur Ire the file system check,Dropp ing you to a.笛 h 亡 1】: the system mill reb 口 nt k* when you leaue the shel 1 .j(n i ve root password f or ma intenancetyp巳 ControL-D 七口 continue): 出现这种情况时,只需根据提示输入root用户的密码,即可进入到 一个临时的 shell 环境,在这里用户可以对出现错误的文件系统进行修复 修复完毕后执行exit命令即可退出并重启系统。修复一般的文件系统错误可以使用fsck命令进行,结合“-t”选项指 定文件系统类型,结合“-y”选项对发现的问题自动回答“yes”。需要注 意的是:如果该文件系统遭受破坏的情况很严重,则修复完毕后可能仍 然会丢失一些数据,因此请慎重决定是否进行恢复(必要时也可以先用 dd 命令将损坏的分区进行备份)。IraoiOns m fsck -y t cxt3 zdcyzsdblfsck 1,33 (Z5-my-Z006)Zfsck 1.39 (Z5-May-Z0B6)nLildYiB t f indl ext2 sujperblock, trying1 tiackup hlncks .- bdeuysdbl uas not c lean ly iiinmnuuteri ? check f orced .Pass 1: Checfc ing( inodes b lociss, and sizesPass 2 Check ing Ai rectory structuret ass 3 : /mintIrootOns 1#磁盘资源耗尽故障显而易见,当一个文件系统的磁盘空间耗尽以后,将无法继续在该 分区中创建新的文件数据,从而导致故障的出现。例如,当根分区“ /” 中德磁盘空间耗尽以后,将可能导致部分程序乃至整个系统无法正常启 动或运行,因为一些临时性的运行文件将无法建立。当根分区磁盘空间不足而无法启动进入 Linux 系统时,可以通过RHEL5 的安装光盘进入急救模式,转移或清理根分区中占用大量空间的 文件,具体过程不再赘述。使用 dd 命令可以模拟出根分区耗尽的故障, 例如:执行 “dd if=/dec/zero of=/somefile bs=1M cou nt=999999 命 令。除此以外,在每一个 ext3 文件系统中,能够使用的文件数量(对应 i 节点数量)也是有限的。当一个文件系统被格式化以后,其 i 节点数也 即文件数量就已经固定下来了。如果用户在该分区中创建了巨量的细小 文件(耗尽i节点),将可能出现这种情况:虽然该分区中仍然有大量的 剩余磁盘空间,但是用户却无法再建立新的文件。模拟i节点耗尽故障具体步骤:1.新建一个约32MB大小(磁盘容量越小,修复时间越短)的ext3文 件系统,将其挂载到/data目录下。并使用带“-i”选项的df命令确 认该文件系统中 i 节点的使用情况。ruul(?ns 14 mid iiruul(?n tt niLiuiil /(lev/i(lL2 Fela IIruulPiii 14 df -i /ddla/F i lei;L|sLt:m1 nudt: 1 Used IFree IUsez Muuti Led unUeyzidbE1891611L662J lz /laUruul(?ii 142. 编写一个测试程序,运行该程序后可以耗尽/dev/sdb2分区中所有可 用的 i 节点。pQo-t Ons zlit uirn cesli i jiaoben a sh_pt f binbsahi=lLihile l $ -le 10BZ9 dn.1 ouch /data/f iIelet i +*w.one:uqroot&ns J# sla ceshi jinobcm . shIFree JUse! MoLinted on0100! /datarootPns df -i /data/F i 1 esystemInodes JUsecIydeu,/sdb210946 16840IrootOns tt3. 当 i 节点耗尽以后,在该文件系统中再创建新的文件时,将会出现“设 备上没有空间”的错误现象。通过 df 命令可以查看到该分区中实际 上还有可用的剩余空间,但是因为i节点数已经用完,所以无法创建 新的文件。ruul(?ns 14 Luuclk zddLd/newf i leluuuli : caiitiuL luuuli /dci Id/Hcwf i lcJ ; Nu space lef L u 11 device Iruul(?ii 14 tlf -hT /dalci/F i lesysteni Type Size Lt:etl Avail Usez Mjuii Led uii4 RM14z zlfitfiIrnntPus ltt _修复i节点耗尽故障具体步骤:理解i节点耗尽故障的根结以后,问题就比较好解决了。只需要找出 该分区中占用大量i节点的细小文件,并进行转移或者删除即可。对于 许多用户公用的文件系统,建议为相关用户设置磁盘限额(包括文件数 量、磁盘空间两方面)。IroatDns 1# rm -rf zdatazf ilcIrantDns ltt检测硬盘坏道磁盘坏道分为逻辑坏道和物理坏道两种,前者主要由于软件操作不 当造成,可以使用软件修复;而后者是物理性损坏,只能通过更改磁盘 分区或扇区的占用位置来进行改善,排除掉包含有坏道的磁盘空间。当 磁盘出现以下现象时,有可能是磁盘出现坏道,需要进行检测和修复: 读取磁盘中的数据时,磁盘设备发出异常声响访问磁盘中的某个文件时,反复读取且出错,提示文件损坏 对于新建立的分区无法完成格式化 系统使用该磁盘时频繁死机在 Linux 系统中,检测磁盘的坏道情况可以使用 badblocks 命令进行,结合“-S”选项用于显示进度信息,“-V”选项用于显示详情。如图所示:root&nsbodblocks -sv zdcv/sdbchecking blocks 8 to 29971520jChecking for bad blocks (read-only test): dome ffass:匚ompleted, B bad blocks f oundl .rootCns ff
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!