Linux 系统运维工具之 OpenLMI

一、前要

OpenLMI(全称 Open Linux Management Infrastructure)即开放式的 Linux 管理基础架构。OpenLMI 是一个开源项目,用于管理 Linux 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理员隐藏基础系统的大部分复杂性。OpenLMI 分发有一组服务,这些服务可通过本地或远程访问并提供多种语言绑定、标准 API 和标准脚本接口,这些接口可用于管理和监控硬件、操作系统和系统服务,OpenLMI 旨在提高使用 WBEM 标准的 Linux 系统管理,为管理 Linux 系统提供常用的基础设施。它还可让用户配置、管理并监控硬件、操作系统及系统服务,可帮助用户快速大量的部署系统存储、软件包安装删除、网络管理等工作。对此,我们来整理 OpenLMI 的部署过程和使用方法,供相关同学参考。

OpenLMI 可让用户执行以下操作:

配置、管理和监控服务器及虚拟机运行情况;

配置、管理和监控本地或者远程操作系统;

配置、管理及监控本地或者远程的存储和网络;

使用 C/C++、Python、Java 或者命令行界面调用系统管理。

Fedora 是 目前OpenLMI 的主要开发平台。从 Fedora 18 这个版本开始支持,推荐使用 Fedora 21 及其之后的版本,它们可以提供所有功能组件。RHEL 和 CentOS,从版本 7 开始支持,centos6下是无法安装openlmi的,这两个发行版本可提供大部分功能组件。注意,用户需要通过 epel 软件源安装 openlmi 软件包。SuSE Linux 从版本 12 开始支持,可以提供一部分功能组件。Debian 和 Ubuntu 这两个发行版本待定。

资源参考:OpenLMI;openlmi-pcp;Python openlmi;fedoraproject

二、软件介绍

1)产品简介

OpenLMI 是一个 Linux 平台的服务配置管理应用部署工具,功能类似于目前业界的配置管理工具 Chef,Puppet,Saltstack。OpenLMI 旨在为在物理机和虚拟机上运行红帽企业 Linux 系统的生产服务器提供一个通用管理接口。OpenLMI 的主要功能包括管理存储设备、网络、系统服务、用户帐户、硬件和软件配置、电源管理和 Active Directory 的交互。OpenLMI 里面提供了一整套的代理程序包括:控制器、客户端程序与命令行工具码,即以下三个组件组成:

系统管理代理: 这些代理安装在受管系统上,即需要监控的服务器上。用来查询,修改和监控系统运行情况。代理程序可安装在那些需要控管的服务器或虚拟机上,然后再由 OpenLMI 控制器来管理这些代理程序,并提供相关接口,系统管理代理通常称为通用信息模型提供商( LMI Providers )或 CIM 提供商(CIM Providers)。

标准对象代理(OpenLMI object broker): 它负责管理代理并为其提供接口。标准对象代理也称为 CIM 对象监控器或 CIMOM

客户端应用程序和脚本:客户端应用程序和脚本通过标准对象代理调用系统管理代理,它使用 https 连接的 XML 技术,这也是OpenLMI 被认为是安全性,因为它使用 TLS(HTTPS)进行加密通信。其中,LMIshell是一个客户端客户端程序,主要包括组命令行工具和 lmi 交互命令,其他语言的脚本工具,它的作用是通过 OpenLMI object broker 來调用 LMI Providers。这个客户端通过使用 WBEM + HTTPS 协议访问 CIMOM。

在这里插入图片描述
在这里插入图片描述
2)受管系统安装配置

受管系统即你想要使用 OpenLMI 客户端工具监控和管理的系统,OpenLMI 提供了一系列 RPM 软件包进行发布,其中包括 CIMOM、各个 CIM 提供程序和客户端应用,我们在受管系统部署安装OpenLMI,过程会用到TCP 5989 (wbem-https):
在这里插入图片描述

#安装软件包
yum install openlmi -y
或
yum install tog-pegasus -y  #安装 OpenPegasus CIMOM 及其系统的所有依赖项,并为 peg asus 用户创建一个用户帐户。
yum install openlmi-{storage,networking,service,account,powermanagement}  #安装用于存储、网络、服务、帐户和电源管理的 CIM 提供程序#打开防火墙的 5989 端口firewall-cmd --permanent --add-port 5989/tcp
iptables -I INPUT 1 -p tcp --dport 5989 -j ACCEPT#设置 Selinux 为 permissive 模式setenforce 0#设置 pegasus 用户密码passwd pegasus    #默认情况下,只有 pegasus 用户才能远程和本地访问 CIMOM#设置远程访问权限,自定义被允许连接到 OpenPegasus CIMOM 的用户列表,修改配置文件vim /etc/Pegasus/access.conf   #修改把下面一行;#ALL EXCEPT pegasus:wbemNetwork   //修改为ALL EXCEPT root pegasus:wbemNetwork#启动服务
systemctl start tog-pegasus   #启动tog-pegasus.service服务来启动 OpenPegasus CIMOM
systemctl enable tog-pegasus

3)客户端配置

客户端访问CIMOM,过程中OpenLMI 使用基于 Web 的企业管理(WBEM)协议,该协议通过 HTTP 传输层运行。标准 HTTP 基本身份验证在此协议中执行,这意味着用户名和密码与请求一起传输。因此,需要将 OpenPegasus CIMOM 配置为使用 HTTPS 进行通信,以确保安全的身份验证。受管系统上需要一个安全套接字层(SSL)或传输层安全(TLS)证书来建立加密频道。

yum install openlmi-tools  #交互式安装LMIShell,用于访问 OpenPegasus 提供的 CIM 对象,以及它对系统的所有依赖项yum install 'openlmi-scripts*'#说明:目前 OpenLMI 脚本文件主要包括如下模块:OpenLMI-account :用户帐户管理模块OpenLMI-logicalfile: 文件和目录管理模块OpenLMI-networking: 网络配置管理模块OpenLMI-powermanagement: 电源管理模块OpenLMI-service: 服务系统管理模块OpenLMI-storage: 存储管理模块OpenLMI-hardware: 硬件信息检索模块OpenLMI-software : 软件管理模块OpenLMI-journald : 系统日志管理模块#设置 cascp root@ server1:/etc/Pegasus/server.pem /etc/pki/ca-trust/source/anchors/client2-cert.pemupdate-ca-trust extractsystemctl restart tog-pegasus.service

4)lmi命令说明

lmi 命令格式:lmi [options]

主要选项:

 ---hosts-file <hosts> 路径包含目标主机名的文件。 每个主机都必须列在一行--user <user> 目标主机所使用的用户名--same-credentials 所有主机使用一个认证文件-n --noverify 不验证 SSL 证书-v 屏幕显示输出信息--trace 显示回溯上的错误-c --config-file <config> 路径为用户配置文件-h --host <host> 目标主机名称--notrace 禁止显示回溯--log-file <log_file> 输出日志文件-N --no-headings 不打印表格标题-L --lister-format (table | csv) 输出使用 table 或者 CSV 格式

说明:lmi 交互模式下支持如下子命令:

file : 文件系统等数据格式的管理
help :打印帮助信息
hwinfo : 显示收集的硬件信息。
system : 显示收集的系统信息。
sssd :sssd 系统服务管理功能。
selinux: selinux 管理。
group :用户组管理功能。
service : 系统服务管理。
storage: 基本的存储设备的信息。
sw : 系统软件管理。
net:网络服务管理
power :系统电源管理
user :用户管理
journald:系统日志
realmd: 管理 AD 或 Kerberos 域成员。
locale; 设置键盘布局、语言、时区、时间等功能。

说明 : 不同的 Linux 发行版本支持的子命令数量有差异,其中数量最多功能最全的是 Fedora 21。用户在终端下输入 lmi 进入交互环境,然后输入“?”或者 help 命令可以得到子命令列表和其他帮助。

5)命令使用

1、查看主机硬件配置
要查看主机硬件情况,对于本地主机使用交互模式,在 lmi> 提示符下输入 hwinfo 子命令即可

 hwinfo system :获取主机名称。hwinfo motherboard:获取主板信息。hwinfo cpu:获取 CPU 信息。hwinfo memory:获取内存信息。hwinfo [all] :获取所有信息。hwinfo pci:获取 pci 插槽信息。hwinfo disks: 获取磁盘信息。

2、查看软件: lmi> system

收集内容包括:操作系统版本信息,防火墙配置,网络接口信息、内核版本、时区、SElinux 状态、日志系统、系统语言等。下面是一个例子,清单 2 就是操作过程和输出界面。

 lmi 的 service 子命令可以用来查看、启动、停止、重新启动本地和远程服务。下面是两个例子。 查看运程主机服务运行情况,使用如下命令:lmi> service show httpd.serviceName=httpdCaption=The Apache HTTP ServerEnabled=NoStatus=Running停止一个本地服务,使用如下命令:lmi> service stop sshd.service说明:service 命令其他主要参数包括:list 打印所有服务列表show 显示服务运行情况start 启动一个服务stop 停止一个服务restart 重新启动一个服务reload 重新加载一个服务配置lmi> sw show pkg php   #查看一个软件包详情lmi> sw install httpd    #安装一个软件包lmi> sw update nmap   # 升级一个软件包lmi> sw remove nmap    #删除一个软件包

3、查看存储:lmi>storage list

lmi> storage tree  #树形结构显示存储设备列表
lmi>  storage show /dev/disk/by-id/ata-VBOX_HARDDISK_VB289545a2-5d00c206-part1 #查看具体某个存储详情

4、查看网络

lmi>net device list#设置网络接口新的 ip 地址lmi> net address replace enp0s3 192.168.0.130 24#激活一个网络接口lmi> net activate enp0s3#设置 dns 服务器 ip 地址lmi> net dns add enp0s3 192.168.0.1

5、用户管理

#查看用户lmi> user list#查看已经存在的用户组列表lmi>group list#添加一个用户lmi> user create myql#查看已经某用户详情列表lmi> user show myq1#删除一个用户lmi> user delete myq1

6)直接命令模式

除了交互模式外。还可以使用直接命令模式,这种直接模式的执行速度更快:


lmi -h managedsystem.mydomain.org service list – all   #显示所有的服务列表lmi -h managedsystem.mydomain.org storage raid create 5 /dev/sdb /dev/sdd /dev/sde  # 设置远程主机上的 raid 存储

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/116295.html

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

相关文章

英码深元“三位一体”AI场景化解决方案,助力多地化工园区快速实现智慧化转型!

我国是世界公认的化工大国&#xff0c;同时也是崛起中的化工强国。近年来多起重大爆炸事故暴露出我国化工园区安全问题突出&#xff0c;特别是在安全风险管控数字化转型、智能化升级方面存在明显短板和不足&#xff0c;尤其突出的痛点&#xff1a;化工园区的日常管理方式较为粗…

VBA_MF系列技术资料1-172

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

【数据结构】带头双向循环链表及其实现

目录 1.带头双向循环链表 2.带头双向循环链表实现 2.1初始化 2.2销毁 2.3头插 2.4链表打印 2.5头删数据 2.6尾插数据 2.7尾删数据 2.8链表判空 2.9查找一个数据 2.10在pos位置前插入数据 2.11删除pos位置 2.12求链表的长度 2.顺序表和链表的比较 1.带头双向循环…

【python爬虫】4.爬虫实操(菜品爬取)

文章目录 前言项目&#xff1a;解密吴氏私厨分析过程代码实现&#xff08;一&#xff09;获取与解析提取最小父级标签一组菜名、URL、食材写循环&#xff0c;存列表 代码实现&#xff08;二&#xff09;复习总结 前言 上一关&#xff0c;我们学习了用BeautifulSoup库解析数据和…

matlab的基本使用

matlab的基本使用&#xff0c;可以参考如下的教程&#xff1a;matlab教程 本文针对基本内容进行记录。 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件&#xff0c;用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人&…

Python学习笔记:正则表达式、逻辑运算符、lamda、二叉树遍历规则、类的判断

1.正则表达式如何写&#xff1f; 序号实例说明1.匹配任何字符(除换行符以外)2\d等效于[0-9]&#xff0c;匹配数字3\D等效于[^0-9]&#xff0c;匹配非数字4\s等效于[\t\r\n\f]&#xff0c;匹配空格字符5\S等效于[^\t\r\n\f]&#xff0c;匹配非空格字符6\w等效于[A-Za-z0-9]&…

大数据Flink简介与架构剖析并搭建基础运行环境

文章目录 前言Flink 简介Flink 集群剖析Flink应用场景Flink基础运行环境搭建Docker安装docker-compose文件编写创建并运行容器访问Flink web界面 前言 前面我们分别介绍了大数据计算框架Hadoop与Spark,虽然他们有的有着良好的分布式文件系统和分布式计算引擎&#xff0c;有的有…

java基础-----第八篇

系列文章目录 文章目录 系列文章目录一、Java类加载器二、双亲委托模型 一、Java类加载器 JDK自带有三个类加载器&#xff1a;bootstrap ClassLoader、ExtClassLoader、AppClassLoader。 BootStrapClassLoader是ExtClassLoader的父类加载器&#xff0c;默认负责加载%JAVA_HOME…

自动驾驶攻城战,华为小鹏先亮剑

点击关注 文&#xff5c;刘俊宏 编&#xff5c;苏扬、王一粟 本文为光锥智能x腾讯科技联合出品 2023年过半&#xff0c;城市NOA&#xff08;城市领航辅助驾驶&#xff09;的元年如预期中到来了吗&#xff1f; 8月25日&#xff0c;成都车展开幕&#xff0c;与4个月之前的上海…

PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化实践技术应用

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

华为云云服务器评测|华为云云耀云服务器L实例使用教学

文章目录 教学小故事 教学 华为云云耀云服务器L实例是一款提供高效、可靠、安全的基础设施服务的云服务器。下面是使用教学&#xff1a; 登录华为云官网。 测评产品链接&#xff1a;https://www.huaweicloud.com/product/hecs-light.html 进入云耀云服务器管理控制台&#xf…

Qt 查找文件夹下指定类型的文件及删除特定文件

一 查找文件 bool MyXML::findFolderFileNames() {//指定文件夹名QDir dir("xml");if(!dir.exists()){qDebug()<<"folder does not exist!";return false;}//指定文件后缀名&#xff0c;可指定多种类型QStringList filter("*.xml");//指定…

算法竞赛备赛之数学知识训练提升,暑期集训营培训

1.质数 在大于1的整数&#xff0c;如果质包含1和本身这两个约数&#xff0c;就称之为素数/质数。 1.质数的判定&#xff08;试除法&#xff09; 优化后的&#xff1a; #include<iostream> #include<algorithm> ​ using namespace std; ​ bool is_prime(int n…

Python基础篇(17):模块与包

一、as 关键字的使用 1、as 关键字的作用&#xff1a;给导入的模块取别名 import 测试1 as Test_1 import 测试2 as Test_2Test_1.say_hello() Test_2.say_hello() 二、if __name__ __main__ 1、作用 测试当前模块所编写的代码块&#xff0c;根据业务自主选择需要运行的代…

二叉树的构建及遍历

目录 题目题目要求示例 解答方法一、实现思路时间复杂度和空间复杂度代码 方法二、实现思路时间复杂度和空间复杂度代码 题目 二叉树的构建及遍历 题目要求 题目链接 示例 解答 方法一、 先构建二叉树&#xff0c;再中序遍历。 实现思路 按照给出的字符串创建二叉树&am…

华为云云服务器评测|基于华为云云耀云服务器L实例开展性能评测,例如 MySQL、Clickhouse、Elasticsearch等等

在当今云计算时代&#xff0c;越来越多的企业和个人开始选择将应用部署在云服务器上&#xff0c;以便更好地满足高性能、可靠性和可扩展性等需求。而华为云云耀云服务器L实例不仅提供了高性能和可靠性的计算和存储资源&#xff0c;而且具有灵活和高效的成本控制&#xff0c;深受…

C语言基础之——结构体

前言&#xff1a;小伙伴们又见面啦&#xff0c;那么本篇文章&#xff0c;我们就将对C语言基础知识的最后一个章节——结构体展开讲解。 世上无难事&#xff0c;只要肯攀登&#xff01; 目录 一.什么是结构体 二.结构体讲解 1.结构体的声明和变量的定义 2.结构体成员的类型…

8. 损失函数与反向传播

8.1 损失函数 ① Loss损失函数一方面计算实际输出和目标之间的差距。 ② Loss损失函数另一方面为我们更新输出提供一定的依据。 8.2 L1loss损失函数 ① L1loss数学公式如下图所示&#xff0c;例子如下下图所示。 import torch from torch.nn import L1Loss inputs torch.tens…

mysql‘逻辑删除‘和‘唯一索引‘冲突的解决方案

一、冲突出现原因 在user表中将name字段设置唯一索引&#xff0c;添加逻辑删除字段del_flag&#xff08;1为删除&#xff0c;0为未删除&#xff09;之后&#xff0c;将name张四的字段删除&#xff0c;再添加一个name张四的记录则会出现冲突 二、解决 1.设置唯一索引组&#x…

【数学建模】清风数模正课7 多元线性回归模型

多元线性回归分析 回归分析就是&#xff0c;通过研究自变量X和因变量Y的相关关系&#xff0c;来解释Y的形成机制&#xff0c;从而达到通过X去预测Y的目的。 所以回归分析需要完成三个使命&#xff0c;首先是识别重要变量&#xff0c;其次是判断正负相关&#xff0c;最后是估计…