Clisoft SOS设置Server和Project
一、关于SOS Servers、Clients、Projects和Work Areas
以下三个图是官方文档中介绍的三种情况
图1:带有两个客户端的SOS服务器
图2:使用本地缓存服务器
图3:远程设计团队的缓存服务器
因为SOS软件需要频繁的读写许多文件,因此使用网络存储可能会遇到延迟。
为了获得最佳性能,可以将项目仓库和缓存设置在本地硬盘上,而不是使用网络存储。
如果用户必须使用网络存储作为工作区,并且工作区很大,可以将SOS_STARTUP_USE_TMP
设置为1
优化启动过程,这种优化允许SOS客户端在读取之前将工作区数据库文件复制到本地机器的/tmp
目录。
当所有数据都位于网络存储设备上,下图是官方文档中建议的目录结构,其中nfs
代表网络存储。
二、使用SOSAdmin应用程序
- 使用管理员账户启动
sosadmin
[bhlu@master ~]$ sosadmin
# sosadmin help 获取命令列表
# sosadmin help command 获取指定命令的详细帮助
服务状态值,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
- 在 SOSAdmin 窗口中,点击
New
- 按照下列建议配置新服务器(按图上的即可)
Symbolic name
中输入SOS服务器名称- 选择
Set up a new primary server
- 点击
Recommend
,会自动选择有效的Host Name
和Host Port
(如果你在不同的主机上启动了SOSAdmin,推荐可能不正确) - 点击
Repository Path
旁边的Browse
,指定项目仓库的父目录。 Repository Backup
指定一个用于存储PostgreSQL连续备份的位置。- (可选)
Client Authentication Required
配置客户端认证,这里一般选择No
,如需配置,可以查看官方文档。 - (可选)
Use SSL
指定使用SSL加密服务器之间的通信 - 选择
Set up a new cache server
- 点击
Recommend
,会自动选择有效的Host Name
和Host Port
。 Cache Path
指定项目仓库的缓存目录。Cache Backup
指定项目仓库的缓存目录备份位置。Update Mode
- 如果您的多个站点位于相近的时区,请选择
Immediate
(立即) - 如果您只有一个站点,请选择
On Demand
(按需) - 如果您有多个分布在广泛时区的站点,请选择
Every
并指定一个60分钟的间隔。
- 如果您的多个站点位于相近的时区,请选择
- 点击
OK
- 然后在 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
- 选中创建的 Server ,然后点击
Project
,出现项目窗口。
- 点击
New
,创建新项目对话框打开。
- 点击
Create
即可 - 配置相关(以下主要是解释为主,大家根据实际情况配置)
# 每个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所在所有组都有相同的权限
}
-- 用户特定定义(结束) --
- 以下是我配置示例
[bhlu@master ~]$ vim /sos/project/repo/trinity.rep/trinity/setup/sosd.cfgADMIN 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;}
}
- 读取配置,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