Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2195490
  • 博文数量: 866
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10638
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/landuochong

文章分类

全部博文(866)

文章存档

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(70)

2011年(103)

2010年(360)

2009年(283)

2008年(22)

分类: WINDOWS

2009-10-31 12:07:59

3.从UNIX平台访问UNIX上VOB的操作

我们已经学会了如何在单一Windows平台的环境下配置ClearCase,那么在单一UNIX平台环境下配置ClearCase就得心应手得多了。下面的文章中我们就详细讲解一下在UNIX平台上ClearCase间是如何配置使其能够相互访问的。当前的网络环境构造是这样的:在网络中我们有一个ClearCase VOB server, 它安装在Linux平台上,同时它也作为注册服务器(Registry Server);一台License Server;还有多个ClearCase客户端,他们也都安装在Linux平台上。我们希望通过从一个ClearCase的客户端来访问在ClearCase VOB服务器上的VOB。

首先,我们应该明确,若想使ClearCase 客户端能够访问ClearCase VOB服务器端的VOB,那么 ClearCase VOB服务器和客户端应当指向同一个注册服务器(Registry Server)。在Windows上,我们知道通过在控制面板中的ClearCase设置面板来更改Windows指向的注册服务器,在更改后重起一系列ClearCase服务。在Linux上,通过更改/var/adm/atria/rgy目录下的配置文件rgy_hosts.conf来指定注册服务器的地址,当然在指定后也需要重新启动ClearCase服务,在/usr/atria/etc目录下运行./clearcase stop,然后./clearcase start命令。注意,此工作只可由root用户来完成。

这时我们在客户端运行命令cleartool lsregion,我们发现只有ClearCase VOB服务器的Region显示出来,这是因为我们把ClearCase VOB服务器同时作为Registry Server,因此服务器上的Region信息已经记录在Registry Server上了,而ClearCase客户端的Region还未记录,因此,需要在Registry Server上创建ClearCase客户端的Region,我们用该命令来完成:cleartool mkregion -tag 。创建后,我们在Registry Server上再运行cleartool lsregion命令时,就可以同时看到ClearCase VOB服务器和ClearCase客户端的Region了。

接下来我们需要解决ClearCase的用户权限问题。例如,是否在客户端的用户可以有权限装载服务器端的VOB等。我们要确定VOB服务器端和客户端的用户所属的Primary Group的名称是相同的。最好的解决方案就是在ClearCase VOB服务器端和ClearCase客户端分别创建用户,并且创建的用户所属的组的名称也相同。关于如何在Linux上创建用户和组的操作并不属于此文章所讲的范畴内,在这里就不详细讲解了。

接下来我们就可以在VOB服务器端创建VOB了。我们通过cleartool mkvob命令创建VOB:$cleartool mkvob -nc -tag /home/ccinst/vob/vob1 /home/ccinst/vob/vob1.vbs


Fig2.1 在VOB服务器端创建VOB
Fig2.1 在VOB服务器端创建VOB

我们在创建好VOB后,需要把VOB的存储路径共享出来,原因是为了将来客户端在装载VOB的时候需要访问服务器上的VOB存储路径。如果不将VOB存储路径共享,那么在ClearCase客户端就找不到在VOB服务器端创建的VOB的存储路径。这时我们需要通过在Linux VOB服务器端配置NFS的方法,将VOB的存储路径共享出来。在这里我们介绍两种配置NFS的方法,第一种是通过Linux的图形界面配置NFS,打开Application -> System Settings -> Server Settings -> NFS,添加一个NFS共享,配置过程如下图所示。其中Directory表示你希望将哪个目录共享出来,Host(s)表示你希望哪台主机上的用户可以访问该共享目录,并且有读写的权限。如果你希望任何一台主机都能够有权限访问该共享目录,那么,在Host(s)一项中可以添"*"。


Fig2.2 应用图形界面配置NFS
Fig2.2 应用图形界面配置NFS

另一种方式配置NFS,是通过命令行的形式。编辑/etc/exports文件,在文件中加入一行: /home/ccinst/vob *(rw,no_root_squash,sync) "*"代表这个共享目录可以被任何主机访问,如果你只想让唯一一台主机端访问该共享目录的话,这行可以改写成:/home/ccinst/vob 9.181.64.211(rw,no_root_squash,sync),保存该文件,并运行exportfs -a命令来实现共享。

到此为止,在VOB服务器端的配置就基本完成了。我们已经把VOB存储路径共享出来,那么在ClearCase客户端需要mount该共享路径,使其上的用户可以直接访问该路径。我们用命令行的方式mount VOB的存储路径:mount -t nfs IP:/share_path /mount_point。在将VOB存储路径mount后,我们用showmount -e 命令来查看mount的共享路径的状态。若我们想在每次开机时使VOB存储路径都能自动装载的话,我们需要在/etc/fstab文件中加入一行:VOB_server_hostname:/share_path /mount_point nfs defaults 0 0。

我们试图运行cleartool lsvob,但是没有任何VOB信息列出在当前客户端的Region上,因此,我们需要在当前客户端所在的Region上创建VOB tag,注意,我们需要用-region参数指明ClearCase客户端的Region信息。在VOB tag创建后,我们就可以运行cleartool lsvob命令看到当前的VOB信息了。创建VOB tag的过程如图所示:


Fig2.3 在当前客户端所在Region上创建VOB tag
Fig2.3 在当前客户端所在Region上创建VOB tag

接下来,我们希望在客户端能装载VOB,首先根据VOB tag的路径创建一个VOB的装载点(mount point),然后即可装载该VOB,运行cleartool mount 命令装载VOB。

我们需要在客户端创建一个视图(view)来查看VOB中的内容,可以用cleartool mkview命令创建视图,如图。创建完视图只有在激活视图后才可以看到VOB中的内容。在创建完视图后用cleartool setview 命令激活视图。这时,我们进入刚创建的VOB的装载点所在路径,我们可以看到装载点所在文件夹下生成一个叫lost+found的文件夹,这时,我们就可以对VOB中的不同元素进行操作和版本管理了。


Fig2.4 在当前客户端创建视图并激活
Fig2.4 在当前客户端创建视图并激活




回页首


 

4.从Windows平台访问UNIX上VOB的互操作

在前面的介绍中,我们了解了如何在单一网络环境中配置ClearCase的操作。但是在现实工作环境中,ClearCase的操作在很大程度上是通过跨平台来完成的,也就是说ClearCase VOB server和ClearCase Client有可能被分别安装在不同种类的操作系统上,这种交互式的操作也被称为互操作(Interop)。例如ClearCase VOB server可能被安装在UNIX系统上,而ClearCase的客户端的操作系统是Windows操作系统,这个时候使用ClearCase客户端的开发人员如何能够访问在UNIX上创建的VOB呢?下面,我们以Linux平台作为ClearCase VOB服务器和Windows平台作为ClearCase 客户端为例,来为大家解析互操作是如何实现的。当前的网络环境构造是这样的:在网络中我们有一个ClearCase VOB server, 它安装在Linux平台上,同时它也作为注册服务器(Registry Server);一台License Server;还有多个ClearCase客户端,他们都安装在Windows平台上。我们希望从一个Windows ClearCase的客户端来访问在Linux ClearCase VOB服务器上的VOB。

首先,我们需要在VOB服务器端和客户端分别安装ClearCase。注意在安装过程中务必将防火墙关闭。在Linux上以root身份安装ClearCase VOB服务器端;在Window上以有安装权限的域用户身份安装ClearCase客户端。毋庸质疑,在安装完毕后,我们最先需要解决ClearCase用户权限的问题。这里Windows ClearCase客户端用的域用户名为ccinst,且ccinst用户属于administrators组,在Linux VOB服务器端,创建一个用户和一个名为administrators的组,并把用户加入到Administrators这个组中。以新创建的用户登陆Linux VOB服务器并创建几个VOB,在Linux平台上创建VOB的过程我们在前面的文章中已经提及,在此就没有重述的必要了。

接下来,我们将Linux作为Registry Server,那么Windows客户端需要指向Registry Server,这样才可以看到在Registry Server上注册过的VOB的信息。与我们前面在单一网络环境中ClearCase的操作中讲过的一样,我们在Windows的控制面板中指定Registry Server并重新启动ALBD服务。这时在Windows客户端运行cleartool lsregion,可以看到Registry Server上存在的Region的信息。

也许你已经发现,如果像以前一样在ClearCase客户端运行cleartool lsvob,显示出的内容为空,那么为什么在Registry Server上已注册的VOB的信息不能显示呢?这是因为由于Linux和Windows操作系统不同,他们的Region需要进行同步后,才可以显示在当前region下,在Registry Server上注册过的VOB信息。下面我们需要同步Linux和Windows上的Regions。

点击:开始>所有程序>Rational Software>Rational ClearCase>Administration>Region Synchronizer,这时你需要选择在Linux上Region的名称,并选择"Save Configuration"副选框(由于Linux上当前只存在一个Region),这样以后就不用重复选择Linux上Region的名称了,如图。注意,此时我们可以从图片中看到,Windows的region是显示出来的,但是,我们通过运行cleartool lsregion发现,只有Linux的region是在Registry Server上注册过了,而Windows客户端所在的Region并未注册。因此我们需要把Windows的Region也要在Registry Server上注册才可以使在Windows和Linux上的Regions同步。我们在Registry Server上运行: cleartool mkregion -tag ,这时我们再从Windows客户端上运行cleartool lsregion时,就可以看到Windows和Linux的Region都已经在Registry Server上注册过了。


Fig4.1 Region Synchronizer
Fig4.1 Region Synchronizer

选择完Linux上的Region的名称后,通过在Import Type中点VOB Tags,可以看到在Registry Server上注册的VOB标识(tag)名称;通过选择"Show full storage directory paths"副选框,可以看到注册的VOB的全局路径(Global Path),如图。


Fig4.2 同步Windows和UNIX的Region,并显示VOB的全局路径
Fig4.2 同步Windows和UNIX的Region,并显示VOB的全局路径

接下来需要在VOB服务器(Linux)上配制SAMBA,使VOB的全局路径共享,并可以被Windows访问。在Linux系统上配制SAMBA相对简单,主要分为三步:

第一步,开启SAMBA服务,默认情况下Linux的SAMBA服务是关闭的,注意要用root用户开启服务。
¥/etc/init.d/smb start
第二步,用图形界面配制SAMBA服务端。
Applications -> System Settings -> Server Settings -> Samba,出现SAMBA配制界面,选择Preference -> Samba Users添加Samba User,如图。


Fig4.3 添加Samba用户
Fig4.3 添加Samba用户

第三步,添加Samba共享。
在SAMBA配制界面中选择添加一个SAMBA共享,选择需要共享的路径和共享名称,并指定该共享路径为可读且可写。在访问权限中指定刚才创建的SAMBA用户有访问该共享目录的权限,如图。此时我们可以通过从Windows一端网络访问刚创建的共享路径是否成功来判断SAMBA是否已经配制好。


Fig4.4 添加Samba共享
Fig4.4 添加Samba共享

SAMBA配制好之后,我们就可以在Windows端装载VOB了。还是先打开Region Synchronizer,我们可以看到已注册过的在Linux VOB服务器端创建的VOB tag。选中需要引入(import)的VOB,例如vob1,点击"Import"出现创建VOB标签的对话框,此时的VOB标签是创建在Windows端的,在对话框中我们需要填写VOB标签名称,VOB所在的全局路径等,如图。在引入完毕后,引入的VOB名在Region Synchronizer中就消失了,这时我们可以关闭Region Synchronizer对话框。


Fig4.5 在Windows ClearCase客户端引入VOB
Fig4.5 在Windows ClearCase客户端引入VOB

VOB已经被引入,这时我们可以在客户端装载VOB并利用VOB进行文件的版本管理了。在装载VOB前,同往常一样,我们要在客户端创建视图(view),步骤同在单一Windows网络环境中配制ClearCase视图的过程一样。创建好试图后,打开ClearCase浏览器,我们可以看到刚刚创建的视图,前面已经讲过如何装载VOB,此时同理。我们装载刚刚引进的VOB,进入VOB,我们希望在VOB中对文件进行管理,现在我们创建一个文本文件,此时出现异常,如图所示。此时正如我们在第二节中讲过的一样,由于Windows不能解吸Linux的机器名,因此我们需要更改host文件。在C:\WINDOWS\system32\drivers\etc\host目录下,将Linux机器的IP和机器名加入到host文件列表中即可。


Fig4.6 ClearCase操作异常
Fig4.6 ClearCase操作异常

阅读(961) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册