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 这两个发行版本待定。

资源参考:OpenLMIopenlmi-pcpPython openlmifedoraproject

二、软件介绍

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 : 系统日志管理模块

 #设置 ca

 scp root@ server1:/etc/Pegasus/server.pem /etc/pki/ca-trust/source/anchors/client2-cert.pem

 update-ca-trust extract
 
 systemctl 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.service

 Name=httpd

 Caption=The Apache HTTP Server

 Enabled=No

 Status=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 存储

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/132458426