前一段时间,先前的Win2000AdvServer不能正常升级了,想尽一切办法不能解决。想到不久后Gates将停掉Win2000的升级服务,所以干脆现在装win2k3,至少网上会找到破解的补丁,如果运气好的话,用的D版网上能正常升级也未可知。启动Win2k3的Setup后不久,竟然发现不能升级安装,有点头晕了。现在的问题是这台服务器一直也用作ClearCase LT Server,如果不能升级安装,现有的ClearCase的文件和数据如何备份和恢复呢?上网找了一圈,忽然发现ClearCase LT Server For Windows并没有提供这些功能,而有关于Unix的ClearCase Server的备份和恢复方式的一点说明,利用Unix文件备份和恢复的方法。从这点来说,ClearCase 应该可以用文件备份就可以了,重装系统前,只要保留原来ClearCase生成的项目文件夹和文件就可以了。冒险前先把文件备份了几份,then go on。
首先,安装Win2k3 Ent Server(sp1),基本顺利;
然后,安装Rational ClearCase LT License Server and Clearcase LT Server&Client,轻车熟路;
打开Project Explorer,系统提示找不到Storage Location,需要创建存储位置。如何从原有的文件中恢复呢?在网上找,没有相关信息。冥思苦想了数个hr,突然想起Clearcase提供的Cleartool很管用,赶快把那些命令查出来,感兴趣的都看了看。果然发现mkstgloc命令可以用已有的文件夹重建Storage Location,命令使用如下:
mkstgloc -vob ProjectNameVOBs e:\Clearcasestorage\ProjectNameVOBs
注意,第三个参数是vob的名称,第四个参数是存放vob的文件夹,其中应该有多个vob, 包括一个PVOB。这个命令恢复的是vob的存储位置,用另外一个mkstgloc恢复view的存储位置,如下:
mkstgloc -vob ProjectNameVIEWs e:\Clearcasestorage\ProjectNameVIEWs
第三个参数必须和以前的名称要一致,而且大小写要正确。你可以用ls来查看服务器上存在的stgloc。接下来需要恢复vob和view。用什么命令呢?不需要每个命令看,想一想,Unix中都使用系统文件目录来恢复的,既然stgloc可以成功恢复,说明每个目录中必然有一个记录文件夹属性的文件,找一找果然发现stgloc目录中都有一个.stgloc的文件,其他就是多个vob或view的文件夹。打开vob和view的文件夹,也是几个文件和名为admin
、a、b、c等文件夹。再看一遍cleartool的命令,发现mkvob,mkview和register与建立vob,view有关。看他们的帮助后,确定前两个命令是建立新的vob和view,不符合要求。而register可以将已有的文件夹注册到clearcase中。好吧,就是它了。先注册vob,一个一个的来,如下:
register -vob e:\ClearcaseStorage\reit\ProjectNameVOBs\VOB1.vbs
...
用下面的命令注册PVOB:
register -vob -ucmproject e:\ClearcaseStorage\reit\ProjectNameVOBs\PVOB.vbs
然后是view:
register -view e:\ClearcaseStorage\reit\ProjectNameVIEWs\VIEW1.vbs
...
别把路径输错了。后来发现,注册的先后顺序不会影响结果。
再打开Project Explorer,系统提示找不到UCM Project,用Administration Console查看,发现有一个PVOB,为什么系统提示没有呢?仔细看看,发现所有的vob和view的共同点:no tag。没有tag,vob和view是不能访问的,赶快给它们新建一个。OK,Project Explorer有了正确提示。在客户机上,如果已经加入了项目,就应该可以和Server正常联系了;如果没有,从加入项目开始吧,应该没问题的。
到此,Clearcase LT Server恢复成功。