您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > LVM、文件系统、磁盘问题诊断
★当每个硬盘被加入一个卷组(VG)的时候就被分配了一个物理卷标识符(PVID)。不能使用dd命令拷贝两个物理卷的内容,因为PVID也会被拷贝的,这样两个不同的物理卷就有了相同的PVID,系统会出错。★当硬盘出现错误的时候,一般会进行数据重定位。有三种类型的数据重定位:1)硬盘内部的数据重定位:最底层的重定位,发生在磁盘内部,出现的时候不会通知用户。2)由LVM产生的硬件重定位:更高层次的重定位,LVM将有问题的物理地址A上的数据拷贝到物理地址B,LVM会继续读地址A上的数据,但是硬盘已经将真实的IO转向物理地址B。3)软件重定位:最高层次的重定位,也由LVM设备产生。LVM生成一个坏道表,当读物理地址A上的数据时,先检查坏道表,如果A在坏道表中,就转向物理地址B。当用户觉得LVM有问题的时候,首先要做的事情就是备份,尽可能地保存卷组中的数据。卷组发生问题后进行的备份需要和发生问题前进行的备份进行对比。★ODM重新同步:LVM发生问题往往是硬盘的物理问题造成ODM中的数据与硬盘上储存的VGDA,VGSA,LVCB不同步。当LVM操作不正常地结束并和ODM不一致的话,ODM就会出错。例如,当导入一个卷组的时候,ODM所在文件系统(通常是root,/)大小溢出。1)如果用户觉得某个卷组的ODM有问题,使ODM与正确的数据同步的方法是:将该卷组从系统中varyoff并export,再import并varyon卷组,这样就可以刷新ODM中的数据。不过这种方法只能对非rootvg的卷组有效。2)对于rootvg卷组,可以使用命令#redefinevgrootvg来刷新ODM中的数据。该命令将对系统中硬盘和卷组的对应关系进行检测。3)如果硬盘上的LVM信息出错,使用命令#synclvodm–vmyvg来重建并同步LVCB,VGDA等信息。该命令将同步myvg卷组中所有的逻辑卷。4)如果卷组中的一个或多个逻辑卷被做过镜像,并且怀疑镜像可能有损坏可以使用命令#syncvg–llv02。这个命令将同步逻辑卷lv02的镜像。用syncvg命令可用来同步单个逻辑卷,或者一个物理分区或者整个卷组。★导入卷组(importvg)的问题:如果使用importvg命令不能成功将一个卷组导入进一个系统的话,很有可能是下面的几种问题:1)AIX的版本:检查要导入的卷组是否被系统运行的AIX版本支持。低版本的AIX不能支持由高版本的AIX所导出的卷组。2)错误的PVID:检查要导入的卷组中的硬盘是否都有有效的PVID号。可以使用#lspv命令来显示硬盘的PVID号,如果某个盘不显示PVID号,使用#chdev命令来解决问题。例如#chdev–lhdisk4–apv=yes命令就可以使一个原先没有PVID的hdisk4获得一个正确的PVID号。3)当卷组导出后硬盘被更改了:0516-056varyontestvg:Thevolumegroupisnotvariedonbecauseaphysicalvolumeismakedmissing.Rundiagnostics.如果使用importvg命令失败,并且出现以上错误信息的话,说明有物理卷丢失了,很有可能是在卷组被导出后又对硬盘进行了变更。可以使用#importvg–f命令来对卷组进行强制导入。然后根据情况使用#reducevg命令来去除系统提示出错的硬盘。4)共享的硬盘环境:在共享硬盘的环境,比如说一个SSA系统,在被2个或者更多的系统所使用的情况下,定义的物理卷就不可以用了,因为它们已经被其它的机器导入并且varyon了。此时应使用lspv命令在所有的机器上对比PVID号。如果使用importvg命令失败,通过查询错误日志可以找到问题所在。★扩展最大的物理分区(PP)量:当在一个卷组中加入一个比该卷组现有容量大的多的硬盘时,很有可能出现先前定义的PP数量不够。可以使用#lsvgtestvg命令来查看现有的卷组信息。使用命令#chvg–t2testvg可以将testvg卷组的最大PP量扩大为原来的两倍。★更换硬盘1)如何检查磁盘错误:通常情况下错误日志分析系统在系统错误的时候会给root用户发一封邮件,通过查看邮件可以得到硬盘错误信息。也可以使用命令#lsvg–lmirrorvg来查看所有镜像的信息,如果某个镜像逻辑卷的LVSTATE为stale状态,就表明该镜像卷不处于同步状态。使用#errpt命令来查看错误日志,错误日志的信息将会显示该镜像卷不处于同步状态的原因。在更换硬盘前,需要对文件系统做好备份,以避免在更换过程中出现不可预料的问题。如果文件系统中含有数据库文件,需要使用特定的数据库备份工具来备份。2)卸载一块坏的硬盘:使用rmlvcopy命令卸载一个逻辑卷镜像的物理分区,该物理分区处于坏的硬盘上。例如命令#rmlvcopylvdb021hdisk4,该条命令的含义为去除逻辑卷lvdb02在物理卷hdisk4上的镜像,命令执行完后,该逻辑卷每个LP对应一个PP,也就是说该逻辑卷没有镜像。使用#lslv–llvdv02检查上一条命令执行完毕后的结果。然后使用命令#reducevg–fmirrorvghdisk4将原先做为镜像用的hdisk4物理硬盘从卷组中去除。使用命令#lsvg–lmirrorvg来检查上一条命令执行后的结果。使用命令#rmdev–d–lhdisk4将该硬盘信息从ODM库中去除。(注意,上述步骤可以用来卸载SCSI硬盘,但是对于SSA硬盘还需要在smit菜单中将pdisk和hdisk的对应关系去除。)现在就可以安全地将坏的硬盘从槽位中拔出来。3)添加一块新的硬盘:下面的步骤讲述的是如何在一个生产环境中添加一块新的硬盘。将硬盘插入槽位后使用命令#cfgmgr来使系统识别出新的硬盘,并且会将该硬盘做为一个正确的对象添加进该系统。如果使用命令#cfgmgr–v则会显示更详细的信息,方便进行除错。使用命令#lsdev–Ccdisk来检查系统是否已经识别出新加的硬盘。然后使用命令#extendvgmirrorvghdisk4把该硬盘添加进卷组。重新建立逻辑卷的镜像#mklvcopylvdb022hdisk4。执行了上述命令后逻辑卷lvdb02的每1个LP就对应2个PP,也就是说为逻辑卷lvdb02在hdisk4上建立了一个镜像。不过镜像卷还没有和逻辑卷同步,使用命令#syncvg–phdisk4将逻辑卷和物理卷同步。syncvg命令可以对物理卷、逻辑卷、卷组进行同步。4)在错误地移除一块硬盘后所需的处理:如果在拔除硬盘前对系统没有进行正确的操作,拔除后系统又重启了,这时候就需要使用命令#synclvodom–vlvxxx来重建LVCB信息。不过这种情况通常适用于剩余的文件系统不依赖于拔除的硬盘。如果文件系统分布在所有的硬盘上,包括坏的,这时候一般只能使用备份来恢复了:(。★AIXJFS问题:和LVM中产生的问题一样,AIXJFS产生的问题也可以追溯到底层的物理硬盘的问题。使用命令#lsjfs来检查各个挂载点上的文件系统的信息。★增加文件系统的大小:例如使用命令#chfs–asize=+300000/usr可以把./usr的大小增加300000个block的大小,每个bolck的大小为512byte。如果不加“+”就表示为增到到,比如#chfs–asize=300000/usr就表示把/usr增大到300000个512的byte,大约为150M。注意这里实际增加的容量和增加到的容量都是PP大小的整数倍,因为分配给文件的最小的块就是一个PP。★系统的检查和恢复:使用命令#fsck/mountpoint来检查挂载点的文件系统,建议用户在每次挂载文件系统之前都使用该命令来检查。如果执行了该命令后发现文件系统有错误那系统会提示是否修复该错误,如果不能修复,那就只能从备份上恢复了:(。★修复一个坏的超级块(superblock):如果在使用fsck或者mount命令时出现下面的错误,就表明存在一个损坏的超级块。fsck:NotanAIX3filesystemfsck:NotanAIXV3filesystemfsck:NotanAIX4filesystemfsck:NotanAIXV4filesystemfsck:Notarecognizedfilesystemtypemount:invalidargument使用命令#ddcount=1bs=4kskip=31seek=1if=/dev/lv00ōf=/dev/lv00可以从备份上还原的错误的超级块。这里count表示的if模块的数量,bs表示的是指定的模块的大小,skip表示的是在开始拷贝之前跳过的模块数量,seek表示的是在开始拷贝之前从输入文件寻找seek所指定的记录。在很多情况下,从备份上回复超级块会覆盖文件系统,如果问题还不能解决的话重建一个文件系统再从备份上恢复。★稀疏文件:不是所有的逻辑块都被分配一个相应的逻辑块的文件叫做稀疏文件。稀疏文件一般用于数据库文件。使用#ls命令只能查看稀疏文件开始文件块和结束文件块之间的大小,而不能查看文件真正的大小,这时候需要使用命令#du–rssparsefile来查看。#tar命令不具备备份稀疏文件的功能。新的AIX5版本中的restore和backup命令提供了对稀疏文件的支持。★卸载文件系统的问题:在卸载文件系统的时候有可能遇到这样的错误提示:Devicebusy或者Adeviceisalreadymountedorcannotbeunmounted如果一个文件系统打开了一个文件,那么必须在卸载之前将该文件关闭。例如:#umount/homeumount:0506-349Cannotunmount/dev/hd1:Therequestedresourceisbusy.#fuser-x-c/home/home:11630#ps-fp11630UIDPIDPPIDCSTIMETTYTIMECMDguest1163014992016:44:51pts/10:00-sh#kill-111630#umount/home1)当用户要卸载/home挂载点的时候,系统提示设备正忙,这时可以使用#fuser–x–c/home来查看哪个进程还在访问home挂载点。系统显示进程号为11630的进程还在访问home挂载点。使用命令#ps–fp11630来查看该进程的详细信息,用过#kill–l11630来将该进程杀死。这时候就可以成功卸/home挂载点了。2)如果还是不能卸载掉文件系统,很有可能是系统加载了一个扩展内核,这时候扩展内核所在的文件系统就不能被成功地卸载掉。即使使用fuser也不能查看是什么扩展内核还在运行,因为这不是用户进程加载的,但是可以使用命令#genkex来查看系统加载的所有的扩展内核,以及内核的代码是在哪个文件系统上的。3)如果A文件系统下面又挂载了另外一个B文件系统,那么A文件系统是不能被卸载的,必须先将B文件系统卸载掉之后再卸载A文件系统。4)删除一个文件系统:在删除一个文件系统之前,首先需要把该文件系统卸载掉,使用命令#rmfs来卸载文件系统。对于JFS类型的文件系统,rmfs命令不仅将文件系统所在的逻辑盘移除掉,而且删除/etc/filesystems文件中对应的文件系统的信息。例如:#umount/u/testfs#rmfs/u/testfsrmlv:Logicalvolumelv02isremoved.先卸载掉/u/testfs文件系统,然后使用rmfs命令就可以成功删除testfs文件系统。★磁盘定额:磁盘定额系统可以通过3个参数来确定:1.用户和组的最低限额2.用户和组的最高限额3.磁盘定额的使用宽限期限。这些参数都可以使用命令#edquota来变更。最低限额指的是用户或组至少要拥有的1KB文件块或是文件的数量,最高限额指的是最多拥有的数量,使用宽限期指的是用户资源超过最高限额的期限,一般系统默认是一个星期。如果一个文件系统起用了磁盘定额功能,那么会在根目录下生成quota.u
本文标题:LVM、文件系统、磁盘问题诊断
链接地址:https://www.777doc.com/doc-696313 .html