Cliosoft SOS设置Server和Project

Cliosoft SOS设置Server和Project

一、关于SOS Servers、Clients、Projects和Work Areas

以下三个图是官方文档中介绍的三种情况

图1:带有两个客户端的SOS服务器
![[SOS_Admin-07.png]]

图2:使用本地缓存服务器
Cliosoft SOS设置Server和Project_第1张图片

图3:远程设计团队的缓存服务器
Cliosoft SOS设置Server和Project_第2张图片

因为SOS软件需要频繁的读写许多文件,因此使用网络存储可能会遇到延迟。
为了获得最佳性能,可以将项目仓库和缓存设置在本地硬盘上,而不是使用网络存储。
如果用户必须使用网络存储作为工作区,并且工作区很大,可以将SOS_STARTUP_USE_TMP设置为1优化启动过程,这种优化允许SOS客户端在读取之前将工作区数据库文件复制到本地机器的/tmp目录。

当所有数据都位于网络存储设备上,下图是官方文档中建议的目录结构,其中nfs代表网络存储。
Cliosoft SOS设置Server和Project_第3张图片

二、使用SOSAdmin应用程序

  • 使用管理员账户启动sosadmin
[bhlu@master ~]$ sosadmin
# sosadmin help 获取命令列表
# sosadmin help command 获取指定命令的详细帮助

Cliosoft SOS设置Server和Project_第4张图片

服务状态值,Running一列

描述
SOS软件版本号 服务器正在正常运行。
no 服务器不在运行。
空白 没有为此主服务器定义缓存服务器。
?? 服务器已定义,但SOSAdmin尚未确定服务器状态。

SOSAdmin窗口命令

命令 描述
New 创建一个新的SOS主服务器或缓存服务器。
Edit 更新SOS服务器的设置。
Delete 永久删除一个SOS服务器。删除服务器不会删除项目仓库。
Startup 启动一个未运行的SOS服务器。
Shutdown 停止一个正在运行的SOS服务器。
Reread Config 读取服务器配置文件中的更改。
Ping 检查选定的主服务器和缓存服务器的状态。
Ping All 检查所有服务器的状态并更新运行状态列。
Projects 创建或管理项目。
Project Map 定义参考项目的服务器,这些项目的文件可能在其他项目中使用。
Clients 查看谁已连接,向连接的客户端发送消息,在关闭服务器之前,关闭与客户端的连接,或退出客户端。
Exit 退出。

三、配置Primary Server和Cache Server

  1. 在 SOSAdmin 窗口中,点击New
    Cliosoft SOS设置Server和Project_第5张图片
  2. 按照下列建议配置新服务器(按图上的即可)
    1. Symbolic name中输入SOS服务器名称
    2. 选择Set up a new primary server
    3. 点击Recommend,会自动选择有效的Host NameHost Port(如果你在不同的主机上启动了SOSAdmin,推荐可能不正确)
    4. 点击Repository Path旁边的Browse,指定项目仓库的父目录。
    5. Repository Backup指定一个用于存储PostgreSQL连续备份的位置。
    6. (可选)Client Authentication Required配置客户端认证,这里一般选择No,如需配置,可以查看官方文档。
    7. (可选)Use SSL指定使用SSL加密服务器之间的通信
    8. 选择Set up a new cache server
    9. 点击Recommend,会自动选择有效的Host NameHost Port
    10. Cache Path指定项目仓库的缓存目录。
    11. Cache Backup指定项目仓库的缓存目录备份位置。
    12. Update Mode
      • 如果您的多个站点位于相近的时区,请选择Immediate(立即)
      • 如果您只有一个站点,请选择On Demand(按需)
      • 如果您有多个分布在广泛时区的站点,请选择 Every并指定一个60分钟的间隔。
  3. 点击OK
  4. 然后在 SOSAdmin 窗口中点击选中新建的 Server ,然后点击Startup,再弹出的窗口中点击Yes即可。

关于Primary/Cache Advanced Setting...

高级设置的默认值适用于一个主服务器和一个远程缓存服务器,可容纳50名用户。对于更多或更少的用户,请使用下表中的值:

每个守护进程的最大用户数 10 25 50 100 200 300 500
设置
最大数据库连接数 20 35 60 110 210 310 510
共享缓冲区 (MB) 128 128 128 128 256 384 640
线程数(主服务器) 8 12 24 50 100 150 250
线程数(缓存服务器) 12 18 36 75 150 225 375

想要修改已创建的 Server 高级配置,必须先关闭 Server
在 SOSAdmin 窗口中选中 Server ,点击Edit,然后进行修改即可。修改之后再启动 Server 即可。
或者可以使用sosadm_edit_server_settings.sh调整(本人还没有试过)

  • 设置开启自启SOS服务器
vim /etc/rc.local
# 添加下面几行即可

# Start SOS Servers
CLIOSOFT_DIR=path_to_SOS_software
export CLIOSOFT_DIR
echo "Starting SOS Server server_name"
su owner_of_sos_server -c "$CLIOSOFT_DIR/bin/sosadmin startup server_name" >/dev/null 2>&1

四、配置Project

  1. 选中创建的 Server ,然后点击Project,出现项目窗口。
    Cliosoft SOS设置Server和Project_第6张图片
  2. 点击New,创建新项目对话框打开。
    Cliosoft SOS设置Server和Project_第7张图片
  3. 点击Create即可
  4. 配置相关(以下主要是解释为主,大家根据实际情况配置)
# 每个project都有一个对应的sosd.cfg,默认的sosd.cfg在$CLIOSOFT_DIR/data/sosd.cfg
[bhlu@master ~]$ vim /sos/project/repo/trinity.rep/trinity/setup/sosd.cfg
# 以下内容 -- 代表注释

OPEN_WORLD yes;    -- yes代表服务器的用户都可以访问,no代表仅配置文件中声明的管理员、成员、访客和其他角色的用户访问,默认是yes

-- 全局定义(开始) --
ADMIN bhlu, lulu;  -- 管理员:可以读取、写入、删除任何文件,以及更改文件的所有权,不受文件权限的限制
MEMBER test01, test02, test03;  -- 成员:可以读取和写入文件,除非个别文件具有更严格的权限限制。
GUEST rajeevm;  -- 访客:可以读取数据,除非个别文件具有更严格的权限限制,但他们不能进行更改。

-- 定义角色VERIF_ENGR并为之分配权限,COMMAND后面跟的命令可以执行
ROLE VERIF_ENGR {
	COMMAND definetag, tag, snapshot;
}

-- 为角色分配用户
VERIF_ENGR johnc, richarg;

-- 项目默认访问权限控制,访问属性:owner(自己),group(),world(所有)
ACL {
	READ world;      -- 读,如history,diff命令
	WRITE group;     -- 写,如tag,snapshot,modattr命令
	MODIFY_ACL yes;  -- 控制用户是否可以修改他们创建的文件和目录的访问控制
}

-- 全局定义(结束) --


-- 组定义(开始) --
-- "design" 组定义
GROUP design {
	MEMBER test01, bhlu;  -- 组成员
	VERIF_ENGR narayanm;  -- 组角色成员
}

-- "layout" 组定义
GROUP layout {
	MEMBER test02, lulu;  -- 组成员
	VERIF_ENGR renoir;  -- 组角色成员
	-- 定义 "layout" 的默认访问控制,解释上面已经有了
	ACL {
		READ world;
		WRITE owner;
		MODIFY_ACL yes; 
	}
}
-- 组定义(结束) --


-- 用户特定定义(开始) --
USER bhlu {
	DEFAULT_GROUP design;  -- 定义bhlu的默认组,design组必须在这之前定义好
}

USER lulu {
	DEFAULT_GROUP all_my_groups;  -- 定义lulu的默认组,all_my_groups代表lulu所在所有组都有相同的权限
}
-- 用户特定定义(结束) --
  1. 以下是我配置示例
[bhlu@master ~]$ vim /sos/project/repo/trinity.rep/trinity/setup/sosd.cfg

ADMIN bhlu;
OPEN_WORLD no;
MEMBER lulu, qcsong, jpchen, yjiang;

ACL {
	READ world;
	WRITE owner;
	MODIFY_ACL yes;
}

GROUP analog {
	MEMBER yjiang;
	ACL {
		READ world;
		WRITE owner;
		MODIFY_ACL yes;
	}
}

GROUP design {
	MEMBER bhlu, qcsong; 
	ACL {
		READ world;
		WRITE owner;
		MODIFY_ACL yes;
	}
}

GROUP layout {
	MEMBER lulu, jpchen;
	ACL {
		READ world;
		WRITE group;
		MODIFY_ACL yes;
	}
}
  1. 读取配置,SOSAdmin 窗口选中 thinity 这个 Server ,然后点击Reread Config,在弹出的对话框中点击Yes,如果哪边填写错误,会有提示。

  • 在安装目录中,也有相关模板可作参考

服务器配置文件模板:$CLIOSOFT_DIR/data/templates/sosd.cfg

模板 特性
functional_groups 示例:将用户组织成功能组,如模拟设计工程师、版图工程师和RTL工程师。
定义访问权限的示例,以便用户只能修改他们组拥有的单元格和文件。
predefined_rso_and_populate 设置默认修订搜索顺序的示例,以及指定自动填充新工作区的目录。
redefine_member_privilege 指定用户可以运行哪些命令的示例。
use_reference_projects 指定参考项目及其默认修订搜索顺序的示例。
use_trac_issue_tracking 配置SOS与TRAC问题跟踪系统服务器通信的示例。

客户端配置文件模板:$CLIOSOFT_DIR/data/templates/sos.cfg

模板 特性
add_exclude_patterns 添加新文件后缀模式到排除文件列表的示例。
email_notification 文件检入、检出或标签修改时生成电子邮件通知的触发器示例。
set_group_by_cadence_view_name 基于视图名称设置新创建或添加的DFII cellviews组所有权的触发器示例。

五、SOSAdmin命令行快速参考

不带任何参数时,sosadmin命令会打开SOSAdmin图形用户界面。要使用命令行界面,请将下表中显示的参数添加到命令行中。

命令 描述
clients 列出连接到服务器的客户端,向客户端发送命令,关闭与客户端的连接,或退出客户端。
create 创建一个新的服务器。
createproject 为指定的SOS服务器创建一个新项目。
deleteproject 删除一个现有的项目。
getcfg 打印项目的配置文件。
help 打印帮助。
info 获取关于SOS服务器的信息。
list 列出已定义的服务器。
lockproject 在仓库上放置一个锁。
unlockproject 移除仓库上的锁。
listconsumers 打印关于指定服务器和项目的引用报告。
ping 测试服务器是否正在运行。
projects 列出服务器管理的项目。
purgeaudit 清除项目审计跟踪日志文件直到指定的时间段。
putcfg 为项目安装新的配置文件。
query 在没有工作区的情况下获取工作区和项目特定信息。
readcfg 重新读取服务器配置文件。
shell 在服务器上运行程序或脚本。
showdiffs 生成关于两个RSO之间差异的报告。
showlabels 显示与指定标签匹配的仓库中所有修订版本。
shutdown 关闭服务器。
startup 启动服务器。

要获取任何命令的更多信息,请输入:
sosadmin help command_name

例如,要列出所有已定义的服务器:
sosadmin list

要检查服务器PRJ_SRV是否正在运行:
sosadmin ping PRJ_SRV

你可能感兴趣的:(Cliosoft,SOS,版本管理工具)