巧用cfengine管理linux服务器(转)

1、Linux 和 Unix 系统自动化管理入门 本文详细介绍了Linux和Unix系统中自动化管理的必要性、方法和工具。内容涵盖系统管理员的工作内容、自动化方法论、SSH安全管理、cfengine配置、基础设施搭建、应用部署、日志分析、监控工具(如Nagios和Ganglia)、系统安全性提升、基本自动化工具的使用(如Bash、Perl、sed、AWK)以及自动化流程优化和团队协作等内容。此外,还展望了自动化在未来的发展趋势,包括人工智能、容器化、云原生自动化与DevOps的融合。适用于不同规模企业的自动化实践指导。 阅读详情

cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。Cfengine
适用于管理各种环境,从一台主机到上万台主机的机群均可使用。到2.2 版本为止,我们现在所知的用于一般性管理的最大安装机群约为20,000 台。
  图-1 是Cfengine 的组成部分的关系图 。
   

 图-1 Cfengine 的组成部分的关系图
   
  基本安装
 在任何一种情况下,你都需要两个库:BerkeleyDB,用于内部数据库的使用;和OpenSSL,用于加密方法。这些库都是开放资源,并且如
同cfengine一样可以免费使用。没有这些库,你将无法使用cfengine,你也不能用其他的库来替代这两个库。本文使用的RHEL
5.0已经包括这些库。
 #wget
linux
/dag/redhat/el5/en/i386/dag/RPMS/cfengine-2.2.2-1.el5.rf.i386.rpm">ftp://fr.rpmfind.net/
linux
/dag/redhat/el5/en/i386/dag/RPMS/cfengine-2.2.2-1.el5.rf.i386.rpm
 #rpm -ivh cfengine-2.2.2-1.el5.rf.i386.rpm
 接下来的一步是建立cfengine工作目录树的基本结构:
 手动建立Cfengine的工作目录
 # mkdir /var/cfengine
 # mkdir /var/cfengine/bin
 # mkdir /var/cfengine/inputs
 接下来,在工作目录bin的子目录下(例如:/var/cfengine/bin)建立cfengine可执行程序的本地副本。实际运行过程中,是这些副本被执行,因此当网络在执行任务期间断掉,也不会对系统产生风险。
 步骤3 复制Cfengine二进制代码到工作目录
 # cp /usr/local/sbin/cfagent /var/cfengine/bin
 # cp /usr/local/sbin/cfexecd /var/cfengine/bin
 # cp /usr/local/sbin/cfservd /var/cfengine/bin
 # chown -R root:0 /var/cfengine
 # chmod -R 755 /var/cfengine
  3运行所需的进程
 在最简单的安装中,可以通过在每台主机上手动运行cfagent来使用cfengine。但是,如果运行一个或多个守护进程,则会获益良多。
 (1)cfexecd守护进程
 尽管在理论上可以按需随时运行cfagent,但最好定期自动运行cfagent。这是使用cfexecd
 的时间;cfexecd以守护进程的方式运行并按定义、预定义的计划执行cfagent。通过将时间类添加到cfagent.conf的
control块的schedule设置中对此计划进行修改。默认设置是Min00_05,这意味着cfagent将在每个小时的前5分钟运行。要每小时
运行两次,例如,可以将下面的代码放入cfagent.conf的control段中:
 schedule=(Min00_05Min30_35)
 cfexecd守护进程没有自己的配置文件,但它不在cfagent.conf之外使用此设置。
 还可以使用系统的cron守护进程定期运行cfexecd。下列条目可以添加到系统crontab(通常
 为/etc/crontab)中以便每小时执行(和报告)cfagent:
 0 * * * * root /usr/local/sbin/cfexecd -F
 -F选项告诉cfexecd不要进入守护进程模式,因为它正由cron运行。
 为获得可靠性,请以守护进程的方式运行cfexecd,还可以从cron运行(可能是每天一次)。
 然后,可以在cfagent.conf中检查crontab条目并检查cfexecd守护进程是否正在运行。如果将下面的代码放入cfagent.conf中,请执行这些检查并更正任何问题:
 editfiles:
 { /etc/crontab
 AppendIfNoSuchLine "0 * ** * root /var/cfengine/bin/cfexecd -F"
 }
 processes:
 "cfexecd" restart "/var/cfengine/bin/cfexecd"
 通过此技术,如果一种方法工作不正常,那么另一方法最后会修复它的问题。
 (2)cfservd守护进程
 cfservd守护进程在所有系统中并非是必需的。它需要运行cfengine文件
服务器
,对我们而言,它只是中心配置
服务器
。它还允许从其他系统远程执行cfagent。如果需要此功能,则需要在每个系统中运行cfservd。在任一情况下,都应始终进行检查,以确保它与cfagent.conf中的下列命令一起运行:
 processes:
 "cfservd" restart "/var/cfengine/bin/cfservd"
 3 查看类标识系统
 类是cfengine的核心。每个系统都属于一个或多个类。或者,如果换一种视角思考,许多类都是在每次cfagent运行时基于各种不同种类信
息进行创建。配置文件中的每个操作都仅限于特定的类。因此,任何给定的操作都可以只在一个主机上或运行特定操作系统的多个主机上执行,也可以在每个主机上
执行。要在任意给定的系统中确定定义哪些标准类,请运行下面的命令:
 #cfagent -p -v 如图-2 。


  
  图 2查看类标识系统
 如您所见,我的系统存在相当数量的预定义类。它们可以划分为如下类别:
 操作系统:linux_i686_2_6_18_8_el5xen
 体系结构:linux_i686_2_6_18_8_el5xen__1_SMP
 主机名:kaybee_orgkaybeeorg
 IP地址:10_1_110_1_1_1ipv4_10ipv4_10_1ipv4_10_1_1ipv4_10_1_1_1
 日期/时间:May Min15_20 Min19 Q2 Tuesday Yr2008
 可以以此使用ps -ef|grep cf 命令和netstat -anlp|grep cfservd  查看进程运行情况的服务占用的端口情况如图 3、4


  
  图 3使用ps -ef|grep cf 命令查看服务进程


  
  使用netstat -anlp|grep cfservd命令查看服务占用的端口
  在前面,向大家介绍了在linux服务器如何安装cfengine(配置引擎),下面笔者开始配置cfengine管理Linux服务器。
 一、创建基本的配置文件
 这些配置文件需要放置在配置服务器上的主配置目录中。这些文件都是公共文件并以最初形式在网络中的每台服务器上使用。
 (1) cfservd.conf示例
 下面是cfservd守护进程的配置文件。它允许客户机传送主配置文件集合,还允许通过cfrun
 远程执行cfagent。显然,只有一个系统允许访问中心配置文件(服务器),但是,允许cfservd访问这些文件不会损害其他系统上的任何文
件(因为它们不复制这些文件)。但是,所有系统都可以从远程执行cfagent中获益,因为它允许从远程系统中按需执行cfagent。因此,可以在所有
系统中使用下列cfservd.conf,这正是我们所需要的功能:
 control:
 domain = ( mydomain.com )
 AllowUsers = ( root )
 cfrunCommand = ( "/var/cfagent/bin/cfagent" )
 admit:
 /usr/local/var/cfengine/inputs *.mydomain.com
 /var/cfagent/bin/cfagent *.mydomain.com
 Cfrun Command设置指定在接收到来自cfrun的连接时,要执行的cfagent二进制文件的位
 置。admit段非常重要,因为它指定哪个主机访问哪个文件。您必须授予对中心配置目录和cfagent二进制文件的访问权。您还需要对客户机需要从此服务器传送的任何其他文件授予访问权。
 (2)基本update.conf
 update.conf文件必须尽可能地简单并应进行较少的更改。此文件在cfagent.conf之前由
 cfagent分析和执行。如果cfagent.conf文件已受损,则在下次客户机执行cfagent时,它们会获得新版本,因为其
update.conf文件仍然有效。损坏的update.conf文件会带来麻烦,因此建议在将文件放入中心配置目录时,对任何更改都要进行彻底的测
试。另外,此文件在每台主机(包括服务器)上运行。cfagent命令很巧妙,在配置服务器上运行时在本地复制文件(而非通过网络)。control段定
义一些变量,然后在copy段使用。可以通过$(var)或${var}序列来完成变量替代。
 1  control:
 2   actionsequence = ( copy tidy )
 3   domain         = ( mydomain.com )
 4   workdir        = ( /var/cfengine )
 5   policyhost     = ( server.mydomain.com )
 6   master_cfinput = ( /usr/local/var/cfengine/inputs )
 7   cf_install_dir = ( /usr/local/sbin )
 8
 9  copy:
 10       $(cf_install_dir)/cfagent    dest=$(workdir)/bin/cfagent
 11                                                mode=755
 12                                                       type=checksum
 13
 14       $(cf_install_dir)/cfservd    dest=$(workdir)/bin/cfservd
 15                                    mode=755
 16                                    type=checksum
 17
 18       $(cf_install_dir)/cfexecd    dest=$(workdir)/bin/cfexecd
 19                                    mode=755
 20                                    type=checksum
 21
 22       $(master_cfinput)            dest=$(workdir)/inputs
 23                                    r=inf
 24                                    mode=644
 25                                    type=binary
 26                                    exclude=*.lst
 27                                    exclude=*~
 28                                    exclude=#*
 29                                    server=$(policyhost)
 30  tidy:
 31       $(workdir)/outputs pattern=* age=7
 注意行号是笔者添加的便于解释参数:
 第5行:字符串server.mydomain.com应替换为配置你自己服务器的主机名。
 第6行:包含主配置文件的主配置服务器目录。
 第7行:每个服务器保存cfengine二进制文件的位置。
 第11行:指定了源目录应递归复制到目标目录,递归深度无限制。
 第13行:此选项最初会令人误解。它指定任何本地文件应与主副本进行字节比较,以确定
 是否需要更新。
 第17行:此选项指出从指定的服务器中检索文件。
 第31行:位于tidy段的此命令删除outputs/目录中在最后7天尚未访问的所有文件。
 每个文件的权限(模式)在每次运行时都要进行检查,即使文件已经存在也是如此。
 (3)cfagent.conf的框架
 这是cfengine配置的实质。对系统执行的任何更改都有希望通过此文件来完成。这里的示例cfagent.conf非常简单,只用于测试。如
果从cfengine调用脚本并且这些脚本生成任何输出,则输出结果将显示出来(交互式执行时),被记录或通过电子邮件发送(从cfexecd执行时)。
因为通常情况下每个小时执行cfagent,所以如果出现问题或有些内容被更改且需要向管理员发送通知,则任何脚本都应产生输出。
 1. control:
 2. actionsequence = ( files directories tidy disable processes )
 3. domain = ( mydomain.com )
 4. timezone = ( CST )
 5. access = ( root )
 6. #Wherecfexecdsendsreports
 7. smtpserve r= ( mail.mydomain.com )
 8. sysadm = (
root@mydomain.com
)
 9. files:
 10. /etc/passwd mode=644 owner=root action=fixall
 11. /etc/shadow mode=600 owner=root action=fixall
 12. /etc/group mode=644 owner=root action=fixall
 13. directories:
 14. /tmpmode=1777 owner= root group=root
 15. tidy:
 16. /tmp recurse=inf age=7 rmdirs=sub
 17. disable:
 18. /root/.rhosts
 19. /etc/hosts.equiv
 20. processes:
 21. "cfservd" restart "/var/cfengine/bin/cfservd"
 22. "cfexecd" restart "/var/cfengine/bin/cfexecd"
 第2行:actionsequence命令非常重要,但容易忽略。必须在此变量中列出要处理的每个代码段。如果编写了一个新的代码段,但忘记将其添加到此列表中,则命令不会执行。
 第4行:cfengine将确保系统使用此列表中的一个时区进行配置。
 第10行:此代码段检查一些重要文件的所有权和权限并更正它发现的任何问题。
 第14行:此代码段检查/tmp/目录中的权限并在需要时更正这些权限。如果需要,它还创
 建目录。
 第16行:此代码段从/tmp/目录中删除过去7天中尚未访问的所有文件。还删除/tmp/的子
 目录而非此目录本身。
 第17行:出于
安全
原因,禁用这些文件。如果发现这些文件,则这些文件被重命名。如果
 这些文件是可执行文件,则可执行的位被取消设置。
 第20行:本段验证cfservd和cfexecd守护进程是否正在运行,如果没有运行,则启动它们。
  二、创建配置服务器
 配置服务器包含cfengine配置文件的主副本。它还像所有客户机系统一样,定期处理此配置文件。服务器必须运行经过正确配置的
cfservd,以便客户机系统可以从系统中检索主配置文件。配置服务器需要特殊位置来保存cfengine主配置文件。在本例中,此位置是/usr
/local/var/cfengine/inputs/。此位置可以是除/var/cfengine/inputs/之外的任何目录,因为重要主机在执
行时与其他主机一样,将文件复制到此目录中。
 与所有系统相似,此服务器也应作为守护进程或从cron(最好是两者)运行cfexecd。
 下面生成服务器密钥,需要在服务器系统上运行cfkey来创建公钥和私钥文件。这些文件位于/var/cfengine/ppkeys/目录中并
将被命名为localhost.priv和localhost.pub。然后需要将localhost.pub复制到同一目录中的新文件中。此文件应称为
root-10.1.1.1.pub,假定您的IP地址为10.1.1.1。只需让cfrun命令连接到本身即可,但无论如何执行此操作会很有用。
 根据下节描述的客户机的IP地址,服务器还需要在适当文件中保存的每个客户机的公钥。
 三、准备客户机系统
 客户机系统的配置相对简单。一旦安装了实际的cfengine二进制文件,则需要生成和复制适当的公钥(如本节所述)。还需要从主服务器手动复制
update.conf文件,并放在/var/cfengine/inputs/中。在正确的位置保存此文件后,则应手动运行cfagent以
下载
其
余的配置文件并完成系统配置。每个客户机都应以守护进程的方式或从cron运行cfexecd。可能要在每个客户机上运行cfservd并允许使用
cfrun远程执行cfagent。假定已经在服务器上的cfagent.conf文件中完成了配置,则这些守护进程将在第一次手动执行cfagent时
启动。
 下面生成客户机密钥,需要在每个客户机系统上运行cfkey。此操作将在/var/cfengine/ppkeys/中创建
localhost.priv和localhost.pub。然后,需要将中心服务器的公钥复制到客户机。如果服务器的IP地址是10.1.1.1,则应
将其公钥复制到客户机上/var/cfengine/ppkeys/目录中的root-10.1.1.1.pub。最后,需要将客户机的公钥
(localhost.pub)复制到服务器的/var/cfengine/ppkeys/目录中。此外,此文件应按照客户机的IP地址进行命名(如果其
IP地址是10.2.2.2,则此文件应在服务器上被命名为root-10.2.2.2.pub)。这可以手动完成,也可以在初始系统配置脚本中自动完
成。
   四、使用cfrun
 cfrun命令允许在网络上任何数量的系统中执行cfagent。它需要在当前目录中包含名为
 cfrun.hosts的配置文件(或通过-f选项指定的文件)。文件的内容应如下所示:
 domain=mydomain.com
 server.mydomain.com
 client1.mydomain.com
 client2.mydomain.com
 除域设置外,此文件仅是包含每台主机(包括服务器)的一个列表。通过将下列选项添加到
 文件顶部,还可以将输出记录到一系列文件中(而非显示在屏幕上):
 outputdir=/tmp/cfrun_output
 maxchild=10106
 上述代码告诉cfrun生成10个进程,并将每台主机的输出保存在指定目录的不同文件中。
 通常运行cfrun可以不带参数。如果确实要指定参数,格式如下所示:
 cfrunCFRUN_OPTIONSHOSTS--CFAGENT_OPTIONS-CLASSES
 CFRUN_OPTIONS是可选的。可为cfrun命令包含任何数量的选项。接着,可以指定主机
 名的可选列表。如果已指定了某些主机,则只联系这些主机。如果未指定任何主机,则联系
 cfrun.hosts文件中的每个主机。
 第一个--之后是在每个远程系统上运行的要传送给实际cfagent命令的任何选项。第二个--
 之后是类的可选列表。如果指定了某些类,那么只有与其中某个类匹配的主机将实际执行
 cfagent(尽管已联系了每个主机,因为每个主机必须决定它是否匹配其中一个类)。
 五、 应用实例:使用cfengine备份数据
 如果您已经阅读本文之前的大部分内容,就会知道cfengine非常棒。一旦安装并运行了cfengine,它就可以为您做任何事,包括备份数据。
 1、使用cfengine执行本地备份
 首先,可以使用cfengine完成文件和目录的复制。cfengine可以执行完美的复制--包括
 特殊文件、符号链接以及目录的复制。它还可以保留文件的宿主和权限。下面是一个基本的配置,可以将其放入cfagent.conf文件中(如果已经有了一个copy段,可以在现有的copy段后面直接添加内容):
 copy:
 /etc dest=/usr/local/backup/etc purge=true r=inf
 这样可以让网络中的每台主机都递归地将/etc/目录精确地复制到/usr/local/backup/目录中。purge=true选项可以让复制操作删除那些源目录中没有而目标目录中存在的文件。
 每次执行cfagent时都会执行这个复制过程,通常来说这过于频繁了。可以限制每天只执行一次这种操作:
 copy:
 Hr06.OnTheHour::
 /etc dest=/usr/local/backup/etc purge=true r=inf
 现在只有在每天06:00运行cfagent时才会执行复制操作。此处假设您在整点时运行cfagent,而且每小时运行一次。如果不这样做,就
应该适当调节示例中的时间设置。此例的问题是每天的备份都会覆盖前一天的备份。因此,您用来判断系统/etc/目录中可能出现的问题的时间只有不到24个
小时。不必担心,我可以增强备份系统的功能,让它保留一周中有价值的备份。
 control:
 day_of_week = ( ExecResult(/bin/date+%a) )
 copy:
 Hr06.OnTheHour::
 /etc dest=/usr/local/backup/${day_of_week}/etc
 purge=truer=inf
 现在您可以把有价值的备份数据保留7天,这些备份位于/usr/local/backup/Mon/etc、
 /usr/local/backup/Tue/etc等目录中。
 2、 在备份时排除文件
 如果想在备份时包括或者排除一些文件,可以在copy段中使用3个可选参数。第一个是
 ignore参数。可以指定任意多个这种参数,每个参数都提供了一种模式,任何匹配的文件和目录都将被忽略。这是防止对特定目录执行递归操作的惟一方法。
 第二个参数是include。可以使用这个参数来指定在复制时应该包括的所有文件列表。可以
 指定任意多个include参数,但是即使只有一个include参数,也会导致不匹配的文件在默认情况下被排除在复制操作之外。
 最后一个参数是exclude选项。任何匹配这种模式的文件都会被排除在复制操作之外。下
 面是一个例子:
 copy:
 Hr06.OnTheHour::
 /home dest=/usr/local/backup/home purge=true r=inf
 ignore=cache #Netscapecachedirectory
 ignore=Cache #Mozillacachedirectory
 exclude=*.tmp
 上面的例子表示tmp文件会被排除在备份文件之外。
 总结:cfengine 是一种独特的系统管理工具。即使您没有决定使用它,但其概念和执行将对您的工作产生帮助。如果您决定使用它,您将发现 cfengine 无限的灵活性和惊人的用处。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点: http://blog.chinaunix.net/u/12479/showart_1151050.html

使用cfengine来实现服务器的自动化配置 一、概述 二、工作环境 三、理论知识 (一)cfengine的程序结构及配置文件 (二)cfengine的工作方式 四、配置过程 (一)下载安装 (二) 准备工作 (三)工作方式二 1.对服务器端进行配置 2.对客户端进行配置 3.设为开机启动 4.排错: 5.新加入一台客户机 (四)工作方式一 1.配置客户机上的cfservd.conf 2.编辑服务器上的cfrun.hosts客户端列表 3.在服务器上运行cfrun 4.注意: 五、小结 立即下载

相关推荐

ICNN实现入侵检测的思路与源码(CIC-IDS-2017)

基于ICNN实现入侵检测,可用于现实网络

t1274171989的博客 8415

CFEngine CE在Ubuntu 20.04的配置即代码落地实践

配置即代码(GitOps)是现代基础设施治理的核心范式,其本质是将运维逻辑转化为可版本控制、可自动化执行、可审计回滚的声明式策略。CFEngine 作为轻量级自治代理型配置管理工具,依托拉模式架构与本地策略执行机制,天然支持离线环境、边缘节点和高安全隔离场景,显著区别于Ansible推模式或Puppet中心化架构。其核心价值在于将安全基线、服务状态、系统参数等运维经验固化为可复用的代码资产,结合Ubuntu 20.04 LTS的内核稳定性与glibc兼容性保障,实现低开销、高可靠的状态持续合规。本文聚焦CF

weixin_30736301的博客 410

Matplotlib字体警告终结者:为什么总提示DejaVu Sans?5种场景解决方案大全

本文深入解析Matplotlib中常见的DejaVu Sans字体警告问题,并提供5种典型场景的完整解决方案。从理解字体系统的三层架构和缓存机制,到解决中文显示、远程服务器部署、TeX渲染、缓存优化及生产环境配置等实际问题,帮助开发者彻底摆脱字体警告困扰,实现稳定可靠的数据可视化。

view3的博客 500

Cfengine3.5的安装及简单说明和使用

cfengine是一个自动化、集中化管理系统工具,它的宗旨是“让你的系统始终运行在你想要的模式下”。它实现的思想就是制定一些策略,让系统定时运行一个进程,去检查系统当前的状态与策略的要求是否一致,不一致的话,就按策略要求去执行一遍。而这种策略可以在本地定制,也可以在中心策略服务器配置,然后通知客户端去更新策略并执行策略。当你所管理的服务器成一定规模时,使用这个工具,将大大提高工作效率,我也是最近才

学思的专栏 2914

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法

Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 目录 Unity AssetBundle 之 (入门)简单的资源打包成AB包的方法 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、实现步骤 六、关键代码 一、简单介绍 Unity中的一些基础知识点。 本节介绍,Asset Bundle 在 Unity中的使用,入门第一篇,如何AssetBundle标记,如何打包成AssetBundle的操作方法,有不对的地方欢迎指正。...

仙魁XAN 1万+

基于云平台的ATS系统微服务架构方案研究

在当前智慧地铁的升级转型过程中,城市轨道交通ATS系统面临着稳定性差、运维方 式繁琐和故障应急处理效率低等问题。为此,提出一种基于云平台的ATS系统微服务架构方案; 研究了ATS系统在云平台上的微服务总体架构、ATS应用的微服务划分和设计、容器部署方式 及通信交互模式,可实现系统松耦合和易扩展,达到节约计算资源、提高系统稳定性和运营效 率的目的

mi_lan1的博客 966

最值得考虑的Linux自动化工具:CFEngine

如果数据中心使用Linux系统,系统管理员有大量的可供选择的工具。在适当配置后,Linux工具可以在数据中心运营的几乎每个方面提供有效帮助。 Linux数据中心的工具在使用上往往有一定复杂度,但是为此付出额外操作是值得的。因为这些复杂的工具能够提供一系列的具有很大灵活性的功能和服务。本文介绍最值得考虑的Linux自动化工具:CFEngine。 Linux...

weixin_34259232的博客 393

BRep实战指南:从理论到文件格式的全面解析

本文全面解析BRep(边界表示法)从基础概念到文件格式的实战应用。详细介绍了BRep的数学定义、工业应用场景,以及STEP、IGES等主流文件格式的对比与使用技巧,帮助读者掌握三维建模核心技术并优化性能。

weixin_29235923的博客 407

批量部署管理服务器的成熟方案Puppet,Func,cfengine汇总贴

http://dadloveu.blog.51cto.com/715500/659517 多台linux服务器的集中统一批量布署管理, 用什么工具最好呢? 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有。如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题。 cfengine、 puppet、 func

ak47mig的网志(自家用,谢绝无聊斗鸡) 2500

5张图,搞懂三方支付机构的“备付金账户”体系

本文将详细解析第三方支付机构各类备付金账户的功能定位、所承载的支付业务处理流程以及日常管理。

银行信息系统应用架构详解 2143

三模冗余设计

在数字电路设计中,Voter模块(表决器) 和 三模冗余(Triple Modular Redundancy, TMR) 是高可靠性系统的核心设计技术,主要用于容错和抗辐射(如航天、医疗设备等关键领域)。容错机制:若任一模块故障(如SEU,单粒子翻转),其他两个模块仍能保证正确输出。功耗与面积:TMR会显著增加资源占用(约3倍),需权衡可靠性和成本。航天电子:抗辐射芯片(如FPGA)中用于防止单粒子翻转(SEU)。故障检测:可扩展设计以检测并隔离故障模块(如通过BIST)。

qq_45776815的博客 2051

cfengine配置

Linux cfengine服务器与客户端的配置 一、cfengine 的概述 cfengine(配置引擎)是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。它的目标是使系统从任何状态收敛到一种理想状态。依照它的作者 Mark Burgess 所说,cfengine 总是使您的系统更接近于您所定义的配置; 它决不会使系...

weixin_34391445的博客 240

选择的 Python 解释器无效,请尝试更改解释器以启用 IntelliSense、Lint 分析和调试等功能。请查看输出,详细了解解释器无效的原因。

摘要:在VS Code中配置Anaconda Python解释器时若出现"解释器无效"错误,可通过修改用户设置解决。具体步骤:1) 按Ctrl+Shift+P打开命令面板;2) 搜索并打开用户设置JSON文件;3) 添加conda路径配置项,示例格式为"python.condaPath": "D:\\Anaconda\\setup\\Scripts\\conda.exe";4) 同时启用环境激活选项"python.terminal.act

猿小白的博客 844

多台linux服务器的集中统一批量布署管理

<br />veyron 给出几种思路:1、机器少的话,可参考rsh/openssh、expect、rpm包管理结合,自已写个远程控程工具,很简单2、如果服务器配置、软件比较通用(如常用工具ftp、基本配置),可考虑在服务器分发包中进行定制,这样在服务器系统安排完成后相应软件也齐活。当然对于其它应用如db等,还是需要老老实实编译安装。。3、如果服务器数据级很大(>1000),那需要考虑将工具做成client/sever 多并发了处理了。。脚本效率太低。hutuwormFunc 可以实现。Func 可以让你在

小庄往左走 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

帮助Linux管理员简化任务并实现自动化的七大工具

我们在本文中介绍了使日常任务实现自动化,从而为Linux管理员简化工作的几款工具。它们是简化自动化和报告工作的Puppet、Chef、CFEngine、配置管理和IT企业自动化软件Ansible、用于取证分析的开源配置管理工具Foreman、Katello以及自动化和监控工具Nagios。

流風餘韻的专栏 2659

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

多台linux服务器的集中统一批量布署管理, 用什么工具最好呢?

cfengine、 puppet、 func哪种会好些呢? 我看下网上介绍的这些资料吧 这些之后一一贴上相关的资料 cfengine基本配置 文字太多跳转下面的页面查看 http://holy2010.blog.51cto.com/1086044/418063 配置管理工具Puppet简介、安装 (转) 本文转自:http://...

weixin_34067102的博客 3974

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

docker 配置文件管理_Docker世界中的配置管理

docker 配置文件管理 任何管理多台服务器的人都可以确认手动执行此任务是浪费时间和风险。 配置管理(CM)已有很长时间了,我没有一个唯一的原因可以想到为什么不使用其中一种工具。 问题不在于是否采用其中之一,而是要选择哪一个。 那些已经拥抱彼此并投入大量时间和金钱的人可能会争辩说,最好的工具就是他们选择的工具。 通常情况下,选择会随着时间而变化,而今天一个选择与另一个选择的理由可能并不相同。...

danpob13624的博客 514

Linux下自动化工具

一、自动化工具       自动化工具的优势在于可部分地替代人工的过程,能重复不断地执行,能精确判断数值和字符对象。例如,自动地产生数据,自动地打开应用程序,自动地查找控件,自动地输入数据,自动地操作控件,自动地收集测试结果等。 二、用于日常使用的自动化工具       1、Puppet       Puppet是一款开源工具,旨

北京麟卓 943
上一篇: 虚拟桌面:VmwareVDI架构详解
下一篇: cfengine概述
leminsky
博客等级 码龄22年 43粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值