当前位置: 首页 > article >正文

Clisoft SOS设置Server和Project

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.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


http://www.kler.cn/a/488605.html

相关文章:

  • 简聊MySQL的顺序读写和随机读写
  • 信息系统项目管理-采购管理-采购清单示例
  • 【云商城】高性能门户网构建
  • nginx 1.6.3配置虚拟主机与rewrite-location匹配规则
  • 【数据结构】航班查询系统:链表的实际运用
  • 【深度学习】深度(Deep Learning)学习基础
  • 【JAVA面试】自动装箱和自动拆箱
  • c++程序设计(第3版)系列教程
  • rk3568平台Buildroot编译实践:内核rootfs定制 及常见编译问题
  • 【模型训练】在AutoDL上使用LLamaFactory进行模型训练
  • 思维转换:突破思维桎梏,创造更高效的工作与生活
  • MPI 在深度学习中的应用与分布式训练优化
  • VS2015 + OpenCV + OnnxRuntime-Cpp + YOLOv8 部署
  • 【Java项目】基于SpringBoot的【校园新闻系统】
  • Java面试题~~
  • c#版本、.net版本、visual studio版本之间的对应关系
  • 【机器视觉】OpenCV 图像基本变换
  • git提交
  • PHP的扩展Imagick的安装
  • 企业级PHP异步RabbitMQ协程版客户端 2.0 正式发布
  • 【JVM-2.1】如何使用JMC监控工具:详细步骤与实战指南
  • 基于Python编程语言的自动化渗透测试工具
  • CoreDNS 概述:云原生 DNS 服务的强大解决方案
  • springboot 加载本地jar到maven
  • Docker Compose etcd 服务
  • iOS 中spring动画的使用