《RHCE排错技巧》word版.doc_第1页
《RHCE排错技巧》word版.doc_第2页
《RHCE排错技巧》word版.doc_第3页
《RHCE排错技巧》word版.doc_第4页
《RHCE排错技巧》word版.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RHCE 排错技巧RHCE排错技巧2010-12-26 00:24 RHCE排错技巧有些时候你可能会成为Red Hat Enterprise Linux管理员,甚至对于Red Hat考试,你可能遇到一个系统无法启动。这需要你确定出现问题的原因并修复。有些时候,可能是硬件的问题:系统供电电源有问题或硬盘崩溃。通常情况,一个失败的系统,开机可以追溯到行动的用户:你的系统管理员!当你编辑系统配置文件,书写错误会导致系统无法启动。任何时候你对系统做出更改或更改关键配置文件,首先要备份它们。配置完成后,你需要重启系统以验证更改,不要假设下次重启时能正常启动。最好是在你遇到问题能记得你所有做过的更改。最好是,你能将配置文件恢复到原工作状态。在前面章节提到的,最主要的工具就是第一章光盘提供的linux rescue环境。考试指导中指出,你需要知道如何diagnose and correct boot failures arising from bootloader,module,and filesystem errors;它分解成3个部分。此外,一些diagnose and correct problems with network services关键工具,前些章节提到的会在这里汇总。一些关键工具运行你add,remove,and resize logical volumes。最后使用Setroubleshoot浏览器(在第15章有描述),诊断并更正SELinux下的网络服务问题。启动加载排错RHEL5的启动加载程序是GRUB。在第3章有更广泛的讨论。它可以帮助你:*确认/boot目录下的根分区定义*开机进入指定的非默认运行级别*进入GRUB命令行*测试不同GRUB命令*使用命令查找内核和启动RAM磁盘你不需要知道所有的技巧,他们仅帮你快速的诊断考试中的问题。练习16-6:启动加载排错这个练习你需要一个搭档。让搭档更改你的系统。让他在你系统上单独工作,直到系统重新启动。不要看实验直到你解决你的搭档制造的问题为止。使用RHEL系统的VMware快照是相当有用的。练习中的问题类似于管理员搞砸了他的系统。你同样需要RHEL第一张安装盘。1、备份启动加载程序相关文件,/boot/grub/grub.conf。确定将文件备份到其他位置,保证你的搭档在更改任何文件前做了备份。2、用文本编辑器编辑/boot/grub/grub.conf。关注内核命令行,类似下面所示:kernel/vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00或kernel/vmlinuz-2.6.18-8.el5 ro root=LABEL=/3、在内核命令的根分区制造一个书写错误。4、重启你的系统,让你的搭档回到电脑前。告诉他错误消息。将RHEL5第一张安装盘给你的搭档。5、告诉你的搭档,在更改任何文件前,将其备份到家目录下。6、当你的搭档完成实验,无论发生什么,恢复原配置文件/boot/grub/grub.conf。(另外,你可以从VMware快照中恢复配置。)模块错误大多内核是有加载模块编译的。当前的发行版Linux,包括RHEL,在开始的RAM上配置模块,将其编译为/boot目录下的initrd-*文件。你可以查看GRUB的配置文件,在最后一行有与RAM相关的配置。如在第8章描述的,你可以使用mkinitrd命令建立一个起始RAM配置文件。当然也可能会出现一些问题,见下面的练习。练习16-7:启动加载模块的派错这个练习你需要一个搭档。让搭档更改你的系统。让他在你系统上单独工作,直到系统重新启动。不要看实验直到你解决你的搭档制造的问题为止。使用RHEL系统的VMware快照是相当有用的。练习中的问题类似于管理员搞砸了他的系统。你同样需要RHEL第一张安装盘。1、备份启动加载程序相关文件,/boot/grub/grub.conf。确定将文件备份到其他位置,保证你的搭档在更改任何文件前做了备份。2、用文本编辑器编辑/boot/grub/grub.conf。关注initrd命令行,类似下面所示:initrd/initrd-2.6.18-8.el5.img 3、将initrd改写(随便写)。4、重启你的系统,让你的搭档回到电脑前。告诉他错误消息。将RHEL5第一张安装盘给你的搭档。5、告诉你的搭档,在更改任何文件前,将其备份到家目录下。6、当你的搭档完成实验,无论发生什么,恢复原配置文件/boot/grub/grub.conf。(另外,你可以从VMware快照中恢复配置。)文件系统错误及检查虽然有很多问题会导致系统无法启动,但这些问题大多由硬件错误或软件和配置错误产生的。最常见的硬件错误是磁盘损坏;像移动某些器件,它们的寿命是有限的,这可能导致错误。幸运的是,Red Hat考试不会要求你处理硬件错误。另外,需要知道如何挂载磁盘分区,编辑文件和处理文件,同时你要掌握一些命令以在救援模式或单用户模式下修复错误。最有用的模式是df,fdisk和fsck命令。要诊断问题,你至少要知道这些命令的最低工作水平。df df命令在第4章有介绍。当你使用df命令,你可以看到挂载的目录,每个分区的容量以及分区的利用率。显示结果如下:#df Filesystem 1K-blocks Used Available Use%Mounted on/dev/sda7 9920592 4096804 5311720 44%/dev/sda6 18868344 8838344 9056064 50%/all/dev/sda5 4956284 2774720 1925732 60%/home/dev/sda3 29753588 17951924 10265852 64%/data/dev/sda2 9920624 7349992 2058564 79%/install/dev/sda1 101086 11653 84214 13%/boot显示结果以字节为单位,这里有一些变量,你可以看到以M和节点为单位的输出:#df-m#df-i fdisk和parted fdisk和parted工具在第4章也有描述。你使用fdisk或parted,你可以找到你的可用分区。例如,使用fdisk-l/dev/hda(或parted/dev/hda print)命令会列出第一块硬盘的分区列表:#fdisk-l/dev/hdaDisk/dev/hda:15.0GBbytes 240 heads,63 sectors/track,1940 cylinders Units=cylinders of 15120*512=7741440 bytes Device Boot Start End Blocks Id System/dev/hda1*1 949 7174408+b Win95 FAT32/dev/hda2 950 963 105840 83 Linux/dev/hda3 964 1871 6864480 83 Linux/dev/hda4 1872 1940 521640 fWin95 Extd(LBA)/dev/hda5 1872 1940 521608+82 Linux swap通过fdisk的输出结果,你可以很容易确定分区为Linux的分区有:/dev/hda,/dev/hda3和/dev/hda5。鉴于分区的容量,/dev/hda2与/boot相关联,/dev/hda3与/相关联。parted输出与上面类似:#parted/dev/sda printModel:ATA HDS 728080PLA380(scsi)Disk/dev/sda:82.3GB Sector size(logical/physical):512B/512B Partition Table:msdos Number Start End Size Type File system Flags 132.3kB 197MB 197MB primary ext3 boot 2197MB 15.2GB 15.0GB primary ext3 315.2GB 16.2GB 1003MB primary linux-swap 416.2GB 82.3GB 66.1GB extended 516.2GB 16.3GB 107MB logical ext3 616.3GB 26.8GB 10.5GB logical ext3 726.8GB 41.8GB 15.0GB logical fat32 lba 841.8GB 51.8GB 10.0GB logical ext3 951.8GB 82.3GB 30.5GB logical ext3 Information:Dont forget to update/etc/fstab,if necessary.在这个例子中,可以轻易的确定Linux的交换分区。/boot分区通常很小,而且配置于第一块硬盘(通常标签为boot),同常是/dev/sda1。对于简单的分区方案是很容易的。当你有很多分区时就会变的很复杂。你应该总是有一些文件可以清楚地识别文件系统的分区表:#fdisk-l/dev/hdaDisk/dev/hda:26.8 GB,26843545600 255 heads,63 sectors/track,3263 cylinders Units=cylinders of 16065*512=8225280 bytes Device Boot Start End Blocks Id System/dev/hda1*1 13 104391 83 Linux/dev/hda2 14 268 2048287+b Win95 FAT32/dev/hda3 269 396 1028160 83 Linux/dev/hda4 397 3263 23029177+f Win95 Extd(LBA)/dev/hda5 397 1097 5630751 83 Linux/dev/hda6 1098 1734 5116671 83 Linux/dev/hda7 1735 1989 2048256 83 Linux/dev/hda8 1990 2244 2048256 83 Linux/dev/hda9 2245 2372 1028218+83 Linux/dev/hda10 2373 2499 1020096 82 Linux swap/dev/hda11 2500 2626 1020096 83 Linux/dev/hda12 2627 2753 1020096 83 Linux/dev/hda13 2754 2880 1020096 83 Linux/dev/hda14 2881 3007 1020096 83 Linux/dev/hda15 3008 3134 1020096 83 Linux/dev/hda16 3135 3236 1020096 83 Linux在这个例子中,可以轻易的确定Linux的交换分区。/boot分区通常很小,而且配置于第一块硬盘(通常标签为boot),同常是/dev/hda1。然而,这只是猜测;有时一些实验可能需要这样。例如,将/dev/hda2挂载到一个空目录,你可以检查其文件内容是否与/boot下内容相符。e2label基于前面fdisk-l的输出结果,你可能还需要一点帮助来确定与各个分区相关的文件系统。e2label能够帮助你。当你建立一新的文件系统时,为将分区添加一个标签。例如,下面的命令回告诉你/usr文件系统挂载在/dev/hda5上。#e2labelUsage:e2label devicenewlabel#e2label/dev/hda5/usr dumpe2fs你可以使用dumpe2fs获得更多分区的信息,如下:rootdyq#dumpe2fs/dev/sda1|more dumpe2fs 1.40.2(12-Jul-2007)Filesystem volume name:/boot1 Last mounted on:not available Filesystem UUID:6aa23bab-c3c2-4536-b274-a45594ffd3b5 Filesystem magic number:0xEF53 Filesystem revision#:1(dynamic)Filesystem features:has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super Filesystem flags:signed directory hash Default mount options:user_xattr acl Filesystem state:clean Errors behavior:Continue Filesystem OS type:Linux Inode count:26104 Block count:104388 Reserved block count:5219 Free blocks:89433 Free inodes:26072 First block:1 Block size:1024 Fragment size:1024 Reserved GDT blocks:256 Blocks per group:8192 Fragments per group:8192-More-dumpe2fs不仅完成了e2label的工作,还能告诉你分区的格式,是否有日志以及块的大小。进一步通过输出,你可以找到备份超级块的位置,这能帮助你使用fsck或e2fsck命令为Linux选择合适的超级块。在工作中fsck是e2fsck的前端程序,用来检查分区格式化的ext2和ext3文件系统。文件系统检测你同样要知道如何使用fsck命令。这条命令是Linux下大多数文件系统格式的前端处理程序,如:ext2、ext3、reiserfs、vfat等等。这条命令用了检测分区上文件系统的一致性。要想高效的使用fsck命令,你需要知道文件系统是如何在分区上设置的。当你在Linux下使用mkfs命令格式化磁盘分区时,它分配一定的空间来存储inodes(节点),这是数据的结果,包括磁盘上数据所在位置的块地址。mkfs命令同样将文件系统大小、标签和节点数量存储在分区开始的一个特殊地方,叫做superblock(超级块)。如果超级块被损坏,则磁盘上保存的信息将不可读。因为超级块对磁盘数据的完整性是至关重要的,mkfs命令制作两个超级块的副本,放在分区上固定间隔的地方,你可以用前面提到的dumpe2fs命令找到它们。fsck命令能够通过一致性检查修复文件系统的错误,即查找如虽然闲置但被表明在使用的磁盘块,不具备相应目录选项的节点,错误连接数的节点和其他问题。fsck命令同样可以修复超级块的错误。如果fsck因修复超级块失败,你可以使用-b参数指定另外一个超级块。例如,下面的命令利用存储在8193位置的超级块来检查/dev/hda5分区的一致性:#fsck-b 8193/dev/hda5考试预览了解磁盘和分区检测的关键命令和相关参数,如fdisk,e2label,dumpe2fs和fsck。在你的测试电脑让,使用这些命令检查你的分区(有些命令会损坏数据)。文件损坏你可能会发现一些关键的命令或文件被损坏,如bash或init。如果是这样,一个解决办法是重新安装原RPM包。例如,如果init命令损坏或别移除,你可以重新安装SysVinit RPM。当你启动系统进入linux rescue环境时,你可能需要联系到网络以获得要安装的RPM。那么你需要根据前面描述的在进入linux rescue环境时设置启动网络。假设/bin/bash命令被损坏或丢失需要重置。这样的话,参考下面的步骤:1、运行df命令。你应该能看到linux rescue环境挂载了你的分区。2、如果可以,挂载网络资源。如果在系统上的/inst目录提供NFS共享,你可以使用下面的命令将其挂载到/mnt目录下。#mount-t nfs :/inst/mnt/source 3、从/mnt目录下复制bash RPM。这不是必须的,但可以帮助你应付网络连接丢失。使用下面命令:#cp/mnt/source/Server/bash-*.rpm.4、安装bash RPM,注意安装到当前的文件:#rpm-Uvh-force-root=/mnt/sysimage bash-*.rpm 5、运行chroot命令,进入标准目录树:#chroot/mnt/sysimage 6、检查bash命令状态。#rpm-Vf/bin/bash如果你没有看到输出,那么这可能不是bash命令的问题了。(你可以在启动时使用这个命令以确定是否存在问题。)在文件解决后,你现在应该使用exit命令两次来重启你的计算机。网络服务问题Red Hat考试指南中提到,你要在RHCE考试的排错和系统维护部分能够diagnose and correct problems with network services。有一些服务你需要在安装与配置部分进行配置。例如下面的案例与解决方案。不用说,解决方案还远远没有完成,例如:防火墙和网络配置的问题可能阻止对任何网络服务的访问。案例-解决方案1、连接本地Web服务器,返回404文件没有找到错误。确定在DocumentRoot目录下有合适的index.html,以及index.html的SELinux权限与ls-Z/var/www/html命令输出一致。2、你无法在远程系统上连接到Samba的家目录。检查/etc/samba/smb.conf文件中的homes共享设置。使用testparm来检查配置文件的错误。3、你不能连接到远程NFS共享。确定/etc/exports中有相应目录,并用showmount-e hostname命令检查相应服务是否运行。4、你不能用匿名用户登录远程FTP服务器。确定/etc/vsftpd/vsftpd.conf中匿名用户访问启用。5、你无法联系到Web代理服务器。确定/etc/squid/squid.conf中允许对正确网络的相应访问。6、无法通过本地网络服务器想外发送e-mail。确定送出的邮件服务器(sendmail或Postfix)被激活和适当配置。7、你无法通过本地网络接收POP3 e-mail。确定Dovecot服务配置文件/etc/dovecot.conf被适当配置。如果你使用了其他的服务,配置相应的文件。8、你想限制指定用户对SSH访问。在/etc/ssh/sshd_config中使用AllowUsers选项。添加、移除和调整逻辑卷大小首先使用lvdisplay,pvdisplay和vgdisplay命令检查当前LVs(逻辑卷),PVs(物理卷)和VGs(卷组)的当前状态。这些命令利用mount命令和/etc/fstab文件内容以确定当前挂载的LVs(逻辑卷)的配置。添加逻辑卷如果你要添加一个LV,但你的PV/VGs没有相应的空余空间,你需要使用fdisk或parted命令建立新的分区并配置相应的分区格式。这一节检测了添加一个LV的过程。如果你的现有PVs或VGs有空间,你可以略过前面的步骤,快速的添加LV。使用pvcreate命令在配置好的分区上建立新的PV。例如,如果你为此建立了/dev/hda9和/dev/hda10,使用下面命令:#pvcreate/dev/hda9/dev/hda10反之,这中情况你可以使用pvremove命令完成:#pvremove/dev/hda9/dev/hda10如果你已经将空间分配给了某个LV,pvcreate命令会返回错误消息。使用vgcreate命令,从一个或多个未使用的PV上建立一个新的VG。例如,你想从前面提到的PVs建立名为myvg的VG,使用下面命令:#vgcreate myvg/dev/hda9/dev/hda10如果命令正常工作,你会在/dev/myvg找到VG设备。使用lvcreate命令从可用的VG上建立一个新的LV。例如,你要从myvg VG上建立一个1000MB的新LV,运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论