Clisoft SOS设置Server和Project

devtools/2025/1/12 7:19:51/

Clisoft SOS设置Server和Project

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

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

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

图2:使用本地缓存服务器
在这里插入图片描述

图3:远程设计团队的缓存服务器
![[SOS_Admin-09.png]]

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

当所有数据都位于网络存储设备上,下图是官方文档中建议的目录结构,其中nfs代表网络存储。
在这里插入图片描述

二、使用SOSAdmin应用程序

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

![[sos-01.png]]

服务状态值,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
    在这里插入图片描述
  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名用户。对于更多或更少的用户,请使用下表中的值:

每个守护进程的最大用户数102550100200300500
设置
最大数据库连接数203560110210310510
共享缓冲区 (MB)128128128128256384640
线程数(主服务器)8122450100150250
线程数(缓存服务器)12183675150225375

想要修改已创建的 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,出现项目窗口。
    ![[Clisoft SOS设置Server和Project-03.png]]
  2. 点击New,创建新项目对话框打开。
    在这里插入图片描述
  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.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;}
}
  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


http://www.ppmy.cn/devtools/149820.html

相关文章

【数据结构:前缀树Trie】

目录 前言前缀树介绍和应用一、前缀树的定义前缀树的问题和思考前缀树的映射思想前缀树三大性质 二.前缀树节点结构三. 前缀树接口介绍和实现四个接口API1. insert(String word)2. search(String word)3. startsWith(String pre)4. delete(String word) API实现1. 查询操作sear…

使用 Conda创建新的环境遇到的问题

下载速度很慢 1、更新 conda update -n base -c defaults conda2、清理缓存 conda clean --all解决方法 方法 1:关闭严格的渠道优先级 检查是否开启了严格渠道优先级: conda config --show channel_priority 如果返回 strict,说明启用了严…

QT Must be called on Chrome_UIThread; actually called on Unknown Thread.

具体错误 [4448:9040:0109/135034.634:FATAL:render_frame_host_impl.cc(672)] Check failed: ::content::BrowserThread::CurrentlyOn(BrowserThread::UI). Must be called on Chrome_UIThread; actually called on Unknown Thread. Backtrace:QWebEngineUrlSchemeHandler::q…

利用AI大模型和Mermaid生成流程图

核心点1:利用大模型生成流程图的语句(Code) 确定业务流程: 用户需要明确要绘制的业务流程,包括主要步骤、决策点以及各步骤之间的关系。将确定的业务流程以文字形式描述出来。 生成Mermaid代码: 将描述好的…

理解Apache Spark中的宽窄依赖

在Apache Spark中,宽窄依赖是理解其运行原理和RDD(弹性分布式数据集)数据结构的关键概念,以下是具体分析: 从Spark运行原理角度 宽依赖:宽依赖意味着一个父RDD的分区会被多个子RDD分区使用,通…

生成idea ui风格界面代码

创建一个类似 IntelliJ IDEA 的用户界面(UI)涉及多个组件和复杂的布局设计。为了简化这个过程,我们可以使用 **Java Swing** 或 **JavaFX** 来实现一个基本的 IDE 界面,模仿 IntelliJ IDEA 的主要布局元素,如菜单栏、工…

Axios:前沿科技浪潮下的 HTTP 交互革新引擎

目录 一、引言 二、Axios 基础 2.1 安装 2.2 基本使用 2.2.1 GET 请求 2.2.2 POST 请求 2.2.3 PUT 和 DELETE 请求 三、Axios 配置 3.1 全局配置 3.2 自定义配置 四、Axios 拦截器 4.1 请求拦截器 4.2 响应拦截器 五、Axios 高级用法 5.1 并发请求 5.2 取消请求…

Go语言如何实现高性能缓存服务

在Go语言中实现高性能缓存服务,需要综合考虑数据结构的选择、并发控制、内存管理以及持久化策略等多个方面。以下是一些关键步骤和最佳实践,可以帮助你构建高性能的缓存服务: 选择合适的数据结构: 使用哈希表(如Go的m…