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.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.mzph.cn/news/892035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调整Python+Pytest+Allure+Yaml+Pymysql框架中需要执行的用例顺序

当pytest框架中有时时候会因为用例的前后关联关系需要调整用例执行顺序时则可以跟进具体的要求调整pytest.ini配置文件中执行用例文件夹的前后顺序 当如果是需要调整某个文件夹中用例的执行顺序时,则跟进具体的文件调整对应testcases中test_*.py文件中的执行顺序

【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解

一、Dify & DMXAPI 1、Dify DIFY(Do It For You)是一种自动化工具或服务,旨在帮助用户简化操作,减少繁琐的手动操作,提升工作效率。通过DIFY,用户能够快速完成任务、获取所需数据,并且可以…

C++编程基础之override关键字

在C中,override关键字用于显式地标识派生类中的成员函数是对基类中虚函数的重写,具有以下重要作用和使用说明: 作用 增强代码可读性:通过使用override关键字,能够清晰地向阅读代码的人表明该函数是有意重写基类中的虚…

Redis数据库笔记—— Hash(哈希)的扩容机制(rehash)

大家好,这里是Good Note,关注 公主号:Goodnote,专栏文章私信限时Free。详细介绍Hash(哈希)的扩容机制(rehash)、源码、以及扩容和缩容过程。 文章目录 Redis 字典(dict)结构源码哈希…

支持向量机算法(一):像讲故事一样讲明白它的原理及实现奥秘

1、支持向量机算法介绍 支持向量机(Support Vector Machine,SVM)是一种基于统计学习理论的模式识别方法, 属于有监督学习模型,主要用于解决数据分类问题。SVM将每个样本数据表示为空间中的点,使不同类别的…

数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)

将有序数组转换为二叉搜索树 https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/ 描述 给你一个整数数组 nums ,其中元素已经按 升序 排列请你将其转换为一棵 平衡 二叉搜索树 示例 1 输入:nums [-10,-3,0,5,9…

【博主推荐】 Microi吾码开源低代码平台,快速建站,提高开发效率

🍬引言 🍬什么是低代码平台? 低代码平台(Low-Code Platform)是一种使开发人员和业务用户可以通过图形化界面和少量的编程来创建应用程序的开发工具。与传统的编程方式相比,低代码平台大大简化了开发过程&a…

理解 Tomcat 架构与自定义实现

前言 Tomcat 是一个轻量级的 Web 容器,被广泛应用于 Java Web 开发中。通过它,我们可以轻松地部署和运行 Web 应用。在本文中,我们将深入分析 Tomcat 的核心架构,同时结合一段代码,手动实现一个简化的 Tomcat 服务&am…

用户界面软件02

基于表单的用户界面 在“基于表单的用户界面”里面,用户开始时选中某个业务处理(模块),然后应用程序就使用一系列的表单来引导用户完成整个处理过程。大型机系统上的大部分用户界面都是这样子的。[Cok97]中有更为详细的讨论。 面…

go如何从入门进阶到高级

针对Go语言的学习,不同阶段应采取不同的学习方式,以达到最佳效果.本文将Go的学习分为入门、实战、进阶三个阶段,下面分别详细介绍 一、社区 Go语言中文网 作为专注于Go语言学习与推广的平台,Go语言中文网为开发者提供了丰富的中…

采用标准化的方式开展设计-研发中运用设计模式

概述 实现规范化、标准化的引导式设计,以业务需求为输入,识别业务特点,并通过引导式设计,找到最适合的设计模式、具体方案,汇总成为应用的设计,拉齐各应用的设计一的致性。 采用标准化的方式开展设计…

Qt之屏幕录制设计(十六)

Qt开发 系列文章 - screencap(十六) 目录 前言 一、实现原理 二、实现方式 1.创建录屏窗口 2.录屏窗口类定义 3.自建容器对象定义 4.用户使用 5.效果演示 总结 前言 利用Qt实现屏幕录制设计,可以通过使用Qt自带的类QScreen、QPixma…

【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 1. 选择结构基本概念 2. 主要语句类型​(if、if-else、switch) 3. 跃迁函数中变量的取值范围 4. 计算阶跃函数的值 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务:输入x的值&#x…

自定义字典转换器用于easyExcel 导入导出

文章目录 引言I 字典转换器、注解、序列化器注解定义自定义字典转换器用于easyExcel 导入导出自定义字典序列化器II 字典存储设计数据库表结构redis缓存引言 需求导入Excel时,根据字典内容或者字段编码转换 导出Excel时,根据字典内容或者字段编码转换 接口响应数据序列化时,…

Mac软件介绍之录屏软件Filmage Screen

软件介绍 Filmage Screen 是一款专业的视频录制和编辑软件,适用于 Mac 系统 可以选择4k 60fps,可以选择录制电脑屏幕,摄像头录制,可以选择区域录制。同时也支持,简单的视频剪辑。 可以同时录制电脑麦克风声音 标准…

RK3588平台开发系列讲解(系统篇)Linux Kconfig的语法

文章目录 一、什么是Kconfig二、config模块三、menuconfig四、menu 和 endmenu五、choice 和 endchoice六、source七、depends on八、default九、help十、逻辑表达式沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是Kconfig Kconfig的语法及代码结构非常简单。本博…

.NET 9.0 WebApi 发布到 IIS 详细步骤

微软表示,.NET 9 是迄今为止性能最高的 .NET 版本,对运行时、工作负载和语言方面进行了 1,000 多项与性能相关的改进,并采用了更高效的算法来生成更好的代码。 .NET 9 是 .NET 8 的继任者,特别侧重于云原生应用和性能。 作为标准期…

感知器的那些事

感知器的那些事 历史背景Rosenblatt和Minsky关于感知机的争论弗兰克罗森布拉特简介提出感知器算法Mark I感知机争议与分歧马文明斯基简介单层感知器工作原理训练过程多层感知器工作原理单层感知机 vs 多层感知机感知器模型(Perceptron),是由心理学家Frank Rosenblatt在1957年…

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存

Flutter中的网络请求图片存储为缓存,与定制删除本地缓存 1:封装请求图片函数 2:访问的图片都会转为本地缓存,当相同的请求url,会在本地调用图片 3:本地缓存管理【windows与andriod已经测试】【有页面】【有…

复杂园区网基本分支的构建

目录 1、各主机进行网络配置。2、交换机配置。3、配置路由交换,进行测试。4、配置路由器接口和静态路由,进行测试。5、最后测试任意两台主机通信情况 模拟环境链接 拓扑结构 说明: VLAN标签在上面的一定是GigabitEthernet接口的&#xff0c…