首先描述故障故障:1,windows服务器上丢失了共享磁盘。2,打开服务器管理器报错3,更新补丁报错,错误代码:800B01004,手动安装.net 3.5安装包同样报错话说这次出差帮客户解决问题。遇到了这样一个错误,首先用户环境是:两台IBM 3850 安装windows server 2008 企业版,使用windows群集(MSCS)带oracle 10g。然后服务器上有IIS跑有某个应用程序。客户反映的情况是说群集无法进行切换。其他的一概不知。。好吧,在销售的压迫下,我硬着头皮上阵了。尼玛本着节省经费的前提,不能和oracle工程师同去。那就一个人吧。做了N个小时的汽车,,感到了客户现场。下来扯兄弟我差点倒地不起。。(不是哥们身体素质查,,尼玛有点晕车啊。)到了客户现场之后,在等待中度过了2个多小时。。(某国企的大老爷,不把自己的事当事。)终于打开了网管中心的门让兄弟进去了。接着,那哥们展示了牛逼的一幕。。输了6 7遍密码,没有输入对。最后拿过来了张纸,让我帮他输入。。我找到了他输入错误的原因,密码中存在大小写和空格键。。。所以,不怪他,能力有限的嘛!当然,只有第一个问题是直接发现的。解决故障的思路和顺序是1,故障转移群集无法进行切换,我尝试打开故障转移群集管理器,尝试进行单个资源切换。立刻在在切换存储的时候发现报错。这时候,转移到备机上面去。打开磁盘管理器,发现在里面看不到共享存储。这时候,就从这上面去找原因。。在沟通了半天之后,带上了鞋套,被允许进入到了机房中。首先我拔掉了备机上面的光纤线,顿时,让我大吃一惊。。尼玛这帮**插反了!按照正确的顺序插进去之后到服务器上发现可以正常识别到存储了。这时候,我尝试进行应用的切换,发现也可以进行正常切换了。OK,通知用户来验收,当时心里可是高兴啊, 这么轻松就搞定了。但是验收的时候,出了问题,发现切换到备机上面之后,网站的应用无法访问。出现了如下报错:这下,又得从IIS方面进行排错了,接下来,我的思路是先打开服务器管理器,查看角色和功能是否有添加。。(因为最终用户那2哥,说他们从来没切换过。这次错误是上级来检查的时候发现的。。。所以不得不怀疑,是不是搭建了就有问题)。接下来,就又发现了新的问题。打开服务器管理之后,点击角色、功能报错。如本篇第一个图片。这时候,我纠结了。系统故障,应该从哪排除啊。。当时是想,要不偷个懒,先更新下补丁试试看。以为我首先怀疑的是他们IIS无法访问是由于.net 3.5没有更新。这个时候,打开windows update自动更新,发现里面确实有一个.net 3.5 sp1的更新包。但是。。。竟然打不上,打这个更新包的时候,报错800b0100。一时,还真不知道解决办法,那么OK,恰好U盘里有.net的软件包,拷到服务器上去,直接安装。。竟然也是不行。。头大了。这事,难道我搞不定了。(网友说,楼主,你2啊,不知道百度、google,实在不行,天涯一下?楼主说: 大哥,用户环境不让联网。) 最后实在没办法,笔记本桥接到手机上,上了下google。还正好能搜索到。根据网上的帖子,下载了一个”系统更新准备工具“ http://support.microsoft.com/kb/947821OK,使用这款工具先来跑一下checklog吧。这款看似一个补丁的东东,其实是一个工具,用于对windows的系统补丁包进行一个检查,可以修复的会自动修复。不能修复的,会在c:\windows\logs\cbs\目录下生成一个文件名为:CheckSUR.log文件。当时我这边情况,安装完成软件之后,生成的日志如下:
=================================
Checking System Update Readiness.
Binary Version 6.0.6002.22574
Package Version 13.0
2011-12-14 17:00Checking Windows Servicing PackagesChecking Package Manifests and CatalogsChecking Package WatchlistChecking Component WatchlistChecking Packages
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB948610_server_0~31bf3856ad364e35~x86~~6.0.6001.2123.mum
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB948610_server~31bf3856ad364e35~x86~~6.0.6001.2123.mum
(f) CBS MUM Missing 0x00000002 servicing\Packages\Package_for_KB948610~31bf3856ad364e35~x86~~6.0.6001.2123.mumChecking Component StoreSummary:
Seconds executed: 621
Found 3 errors
CBS MUM Missing Total count: 3Unavailable repair files:
servicing\packages\Package_for_KB948610_server_0~31bf3856ad364e35~x86~~6.0.6001.2123.mum
servicing\packages\Package_for_KB948610_server~31bf3856ad364e35~x86~~6.0.6001.2123.mum
servicing\packages\Package_for_KB948610~31bf3856ad364e35~x86~~6.0.6001.2123.mum
servicing\packages\Package_for_KB948610_server_0~31bf3856ad364e35~x86~~6.0.6001.2123.cat
servicing\packages\Package_for_KB948610_server~31bf3856ad364e35~x86~~6.0.6001.2123.cat
servicing\packages\Package_for_KB948610~31bf3856ad364e35~x86~~6.0.6001.2123.cat
由以上日志可以看出,我的系统中找到了三处错误,当时能想到的解决办法。是根据微软那边给出的提示,因为我这边是有两台server。既然有一台是好的,而且系统是完全相同的,那么我在主节点上将以上六个文件找出,然后直接复制到备节点上,然后重启服务器。起来之后,,发现服务器管理中角色、功能都可以正常打开了。OK,接下来打开windows update,进行补丁检查更新。更新也正常了。这个问题,算是正常解决了。另外在关于跑那个windows工具的时候,也有可能遇到权限问题,会不能正常运行。正确的解决办法是:
获取C:\Windows\servicing\Packages目录权限的所有权,命令是:
takeown /F C:\Windows\servicing\Packages /D y /R
另外,赋予登陆用户对C:\Windows\servicing\Packages目录的完全控制权限
cacls C:\Windows\servicing\Packages /E /T /C /G “UserName”:F #UserName 是当前登陆账户的用户名
OK,做过了以上操作之后,这次故障算是完美解决了,在这次故障解决的过程中,收获了,windows的这款检查工具。以后遇到了无法更新补丁,或者由于非正常关机,病毒破坏等导致的故障,都可以先跑一下这个工具,来检查一下系统的软件包是否有问题。当然,大家有好的方法或者操作,欢迎大家提出,楼主会去学习了之后继续拿来给自己分享。
转载于:https://blog.51cto.com/99532720/746475