windows server 2008更新补丁失败排错

        首先描述故障故障:1,windows服务器上丢失了共享磁盘。
        2,打开服务器管理器报错
        image
        3,更新补丁报错,错误代码:800B0100
        image
        4,手动安装.net 3.5安装包同样报错
        image
        话说这次出差帮客户解决问题。遇到了这样一个错误,首先用户环境是:两台IBM 3850 安装windows server 2008 企业版,使用windows群集(MSCS)带oracle 10g。然后服务器上有IIS跑有某个应用程序。客户反映的情况是说群集无法进行切换。其他的一概不知。。
        好吧,在销售的压迫下,我硬着头皮上阵了。尼玛本着节省经费的前提,不能和oracle工程师同去。那就一个人吧。做了N个小时的汽车,,感到了客户现场。下来扯兄弟我差点倒地不起。。(不是哥们身体素质查,,尼玛有点晕车啊。)
        到了客户现场之后,在等待中度过了2个多小时。。(某国企的大老爷,不把自己的事当事。)终于打开了网管中心的门让兄弟进去了。接着,那哥们展示了牛逼的一幕。。输了6 7遍密码,没有输入对。最后拿过来了张纸,让我帮他输入。。我找到了他输入错误的原因,密码中存在大小写和空格键。。。所以,不怪他,能力有限的嘛!
        当然,只有第一个问题是直接发现的。解决故障的思路和顺序是
        1,故障转移群集无法进行切换,我尝试打开故障转移群集管理器,尝试进行单个资源切换。立刻在在切换存储的时候发现报错。这时候,转移到备机上面去。打开磁盘管理器,发现在里面看不到共享存储。这时候,就从这上面去找原因。。
        在沟通了半天之后,带上了鞋套,被允许进入到了机房中。首先我拔掉了备机上面的光纤线,顿时,让我大吃一惊。。尼玛这帮**插反了!按照正确的顺序插进去之后到服务器上发现可以正常识别到存储了。这时候,我尝试进行应用的切换,发现也可以进行正常切换了。
        OK,通知用户来验收,当时心里可是高兴啊, 这么轻松就搞定了。但是验收的时候,出了问题,发现切换到备机上面之后,网站的应用无法访问。出现了如下报错:
        image
        这下,又得从IIS方面进行排错了,接下来,我的思路是先打开服务器管理器,查看角色和功能是否有添加。。(因为最终用户那2哥,说他们从来没切换过。这次错误是上级来检查的时候发现的。。。所以不得不怀疑,是不是搭建了就有问题)。接下来,就又发现了新的问题。打开服务器管理之后,点击角色、功能报错。如本篇第一个图片。这时候,我纠结了。系统故障,应该从哪排除啊。。
        当时是想,要不偷个懒,先更新下补丁试试看。以为我首先怀疑的是他们IIS无法访问是由于.net 3.5没有更新。这个时候,打开windows update自动更新,发现里面确实有一个.net 3.5 sp1的更新包。但是。。。竟然打不上,打这个更新包的时候,报错800b0100。一时,还真不知道解决办法,那么OK,恰好U盘里有.net的软件包,拷到服务器上去,直接安装。。竟然也是不行。。头大了。这事,难道我搞不定了。(网友说,楼主,你2啊,不知道百度、google,实在不行,天涯一下?楼主说: 大哥,用户环境不让联网。) 最后实在没办法,笔记本桥接到手机上,上了下google。还正好能搜索到。根据网上的帖子,下载了一个”系统更新准备工具“  http://support.microsoft.com/kb/947821
        OK,使用这款工具先来跑一下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:00
Checking Windows Servicing Packages
Checking Package Manifests and Catalogs
Checking Package Watchlist
Checking Component Watchlist
Checking 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.mum       
Checking Component Store
Summary:
Seconds executed: 621
Found 3 errors
  CBS MUM Missing Total count: 3
Unavailable 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的这款检查工具。以后遇到了无法更新补丁,或者由于非正常关机,病毒破坏等导致的故障,都可以先跑一下这个工具,来检查一下系统的软件包是否有问题。当然,大家有好的方法或者操作,欢迎大家提出,楼主会去学习了之后继续拿来给自己分享。

你可能感兴趣的:(服务器,打开服务器管理器报错,800B0100,更新补丁错误,windows群集)