提高机房管理效率

来源:互联网 发布:软件项目开发方案 编辑:程序博客网 时间:2024/05/18 01:19

管理机房,总要做相同的重复的没有技术含量的事,当发现重做机房系统是不可避免的事,花点心思好好的研究了下。

实际机房管理采用ghost+网络还原精灵,总结了下,重做系统主要以下几个步骤:

1. 卸载机房客户端网络还原精灵;

2.服务器打开ghost广播, 客服端通过移动存储介质从DOS启动ghost ,实现同服务器会话,接受广播;

3.ghost网络克隆;

4.各台客服端重启,各自修改ip、计算机名称;

5. 安装网络还原精灵,配置相应参数。

以上各步骤,第1步可以在服务器批量操作,第3步取决于客服端、交换机性能, 所以把研究重点集中到其他步骤:

 

第2步

实现目标:通过从移动存储介质启动,自动获取获取ip,自动建立会话。

实现方法:修改移动存储介质的autoexec.bat文件,关键一句命令:

ghost.exe -clone,mode=restore,src=@MC11,dst=1 -sure -rb -fro

其中 @MC会话名 , -sure 为强制确定,-fro 克隆时强制克服簇损坏,-rb 克隆完自动重启,可省去第4步重启操作。

PS:网上很多ghost命令教程都是本地克隆,找了半天,ghost自带帮助文档,@MC参数就是在里面找到的。

 

第4步 

实现目标:自动修改ip 和 计算机名称

实现难点:机房必须使用静态ip,ip、计算机名称必须和相应的座位号对应起来;而克隆后机器都是一样ip、计算机名称;并且无法用服务器段控制。

实现方法:以上条件苛刻,但也说明了各台客服端都有固定ip,也就是说ip和mac地址一一对应,那么建立一个ip和mac对应表(很多局域网软件都可以实现,略),当然是在机房正常工作情况下,然后让客服端克隆重启只执行一次修改操作。

mac.txt 格式:计算机名 | ip地址 | mac地址

STUDENT101|10.101.253.1|00:11:5B:2C:0C:BE
STUDENT102|10.101.253.2|00:11:5B:2C:A7:32

 

修改用脚本实现,1.vbs,如下:

strComputer = "."
Set objWMIService = GetObject("winmgmts://"& strComputer & "/root/cimv2")
Set colAdapters = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

For Each objAdapter in colAdapters
 myMAC=objAdapter.MACAddress
Next

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("mac.txt", ForReading)

Do Until objTextFile.AtEndOfStream
    strNextLine = objTextFile.Readline
    arrServiceList = Split(strNextLine , "|")
    If arrServiceList(2)=myMAC Then
        strIPAddress = Array(arrServiceList(1))
        strSubnetMask = Array("255.255.255.0")

        For Each objNetAdapter in colAdapters
              errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
         Next


             Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
            Set colSettings = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

        For Each objComputer in colSettings
              objComputer.Rename (arrServiceList(0))
       Next
       Exit Do
  End If
   
Loop

Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.DeleteFile("1.vbs")

怎么只运行一次而且自动运行?

可以用注册表实现,这里用一个简单的:原理很简单自动运行就放在启动文件夹,然后自己删除自己,见上面1.vbs 最好两行。

PS:以前看了很多批处理的程序,很多都不适用于win NT 及以上 ,偶然发现了一个写vbs的官方网址:

http://www.microsoft.com/china/technet/community/scriptcenter/default.mspx

 

第5步

实现目标:自动运行网络还原精灵,自动完成配置。

实现方法:下载一个 自动安转程序软件,图形化界面 ,很容易上手,网上教程很多,就略了。

 

后记:

1.不知道 自动安转程序软件可不可以配置ip,改名字,没有仔细想过,主要问题应该是怎么读mac.txt 呢

2. 以上只对本学校具体环境实现的,很多都是自己想的,肯定有不合理的地方,愿与大家交流:qt1211@gmail.com

3.声明本人最讨厌管理机房,以上都提供一个解决思路,一些细节没有实现,讨论细节者勿扰。

4.肚子饿了,吃饭了,下午又要守机房,郁闷Ing。