༭Ƽ: |
ҪܰͰ͵ķֲʽøʵԼʹóʵԭԼʵսĶ˽顣
CSDNɻAlice༭Ƽ |
|
ǰ
OpenLMI һ Linux ƽ̨ķùӦòߣĿǰҵù
Chef,Puppet,Saltstackȥ 10 ̨϶˵С˼ûκѹ
ȥ 50 ̨Ҳ˵ûȥ 1000+ ̨أDzǾͷʹˣͬӲͬں˰汾ͬ汾ΪЧʣOpenLMI
˴óOpenLMI ɹءûû顢ϵͳװɾȡͨ
Python ԿȽͬƷ˵OpenLMI Ƿdzģ Fedora
21 Ϊƽ̨ OpenLMI IJ̺ʹ÷
OpenLMI ǿʽ Linux ܹOpenLMI ǿԴĿʹ WBEM
Linux ϵͳWBEM Web-Based Enterprise ManagementWBEM
DMTFDistributed Management Task Forceֲʽ飩೧̵İ´ĿΪҵһĽӿڼWBEM
ģؼIJģͣͶķʽ淶Encoding SpecificationԼڿͻ˺ͷ֮䴫ݵģʽWBEM
(Web-Based Enterprise Management) Ϊһҵ糫飬ʼ 1996
꣬淶ҵܹԴʹá
OpenLMI
OpenLMI ṩһ׳ APIϵͳعԼײϵͳĸӳͳһOpenLMI
ṩһĴͻ˳й롣дɰװЩҪعܵķ
ϣȻ OpenLMI Щṩؽӿڣͻ˳ǣɿȡнӿʹ
C/C++Python Java ԡoenlmi ĿΪ Linux ϵͳṩõĻʩûáӲϵͳϵͳOpenLMI
ּڼüƷOpenLMI Ϊ Linux ṩùӿڡOpenLMI
ûִ²
áͼط
áͼرػԶ̲ϵͳ
áرػԶ̵Ĵ洢磻
ʹ C/C++PythonJava нϵͳ

ͼ 1. OpenLMI Ľṹʾͼ
OpenLMI Ľṹʾͼ
ͨͼ 1 ˽ OPenLMI Ҫ¼֣
һ״ֳΪ LMI Providers CIM ProvidersɰװҪصķϡѯĺͼϵͳ
һ껴Զ APIֳ OpenLMI object brokerеĴΪṩȡӿڡ
һ껴ͨѶʩʹ https ӵ XML OpenLMI ΪǰȫԣΪʹ
TLSHTTPSмͨš
LMIshellһͻ˿ͻ˳ͨ OpenLMI object broker
LMI Providersͻͨʹ WBEM + HTTPS Э CIMOM
LMIshell ͻϵͳ
һйߺ lmi
űߣ Python lmishell
ԣ C/C++Java ȣɽṹͼ 2
ͼ 2. LMIshell ɽṹ

Ҫ Linux а汾 OpenLMI ֧
Fedora OpenLMI Ҫƽ̨ Fedora 18 汾ʼ֧֣Ƽʹ
Fedora 21 ֮İ汾ǿṩйRHEL CentOSӰ汾 7
ʼ֧֣а汾ṩֹûҪͨ epel Դװ openlmi
SuSE Linux Ӱ汾 12 ʼ֧֣ṩһֹDebian Ubuntu
а汾Ŀǰ֧֡
OpenLMI Ӧû
ʹųֱֱ̃́Ϳͻˡϵͳƽ̨ȫ 64 λ Fedora
21 ϵͳip ַƣ
192.168.0.1 Managed systems ƣserver1
192.168.0.2 LMIshell Clint ƣclient2
2 ڵµ hosts ļ
# vi /etc/hosts
192.168.0.1 server1
192.168.0.2 client2
Ȱװ
# yum install openlmi
Ȼ
# systemctl start tog-pegasus
# systemctl enable tog-pegasus
ǽ 5989 ˿
# firewall-cmd --permanent --add-port 5989/tcp
Selinux Ϊ permissive ģʽ
# setenforce 0
pegasus û
# passwd pegasus
Զ̷Ȩ
ļ
#vi /etc/Pegasus/access.conf
һУ
ALL EXCEPT pegasus:wbemNetwork
Ϊ
ALL EXCEPT root pegasus:wbemNetwork
ͻ
Ȱװ OpenLMI űļ
# 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
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 ԵõбϢͼ
3 ͼ 3 롰 help Եõб
ͼ 3. lmi

lmi Ӧʵ
鿴Ӳ
Ҫ鿴Ӳڱʹýģʽ lmi> ʾ hwinfo ɡͼ
4
ͼ 4. 鿴Ӳ

ͼ 3 ʾռӲϢƻõͺƣCPU ͣCPU
CPU ģCPU ĹƵʡcpu ߳ͺšڴڴƵʡڴϢ͵Ϣ
״̬ɫ˵ͼ 3 п SMART Status ״̬ʾ OKʾΪɫʾΪɫʾ״̬ȷ˵ϵͳûмľ״̬ʾΪɫ
error ʾģû ռԶӲҪû롣һӣʹ
-h ȻԶƼɣ嵥 1 Dz̺档
嵥 1. 鿴Ӳ
# lmi -h cyq
lmi> hwinfo
username: pegasus
password:
Hostname: centos70n02.linux.net
Chassis Type: SMBIOS Reseved
Manufacturer: HP
Model: Not Specified (ProLiant DL385p Gen8)
Serial Number: CN7230040Z
Asset Tag: CN7230040Z
Virtual Machine: N/A
Motherboard info: N/A
CPU: AMD Opteron(TM) Processor 6238
Topology: 2 cpu(s), 24 core(s), 24 thread(s)
Max Freq: 3500 MHz
Arch: x86_64
Mmory: 16.0 GB
Modules: 8.0 GB, DDR3 (DIMM), 1333 MHz, HP, Not
Specified
8.0 GB, DDR3 (DIMM), 1333 MHz, HP, Not Specified
Slots: 2 used, N/A total |
˵hwinfo Ҫ
hwinfo system
ȡơ
hwinfo motherboardȡϢ
hwinfo cpuȡ CPU Ϣ
hwinfo memoryȡڴϢ
hwinfo [all] ȡϢ
hwinfo pciȡ pci Ϣ
hwinfo disks: ȡϢ |
鿴ϵͳϢ
OpenLMI ռӲϢռغԶϵͳϵͳҪռݰϵͳ汾ϢǽãӿϢں˰汾ʱSElinux
״̬־ϵͳϵͳԵȡһӣ嵥 2 Dz̺档
嵥 2. 鿴ϵͳϢ
lmi> system
Host: localhost.localdomain
Hardware: To Be Filled By O.E.M.
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
CPU: Intel(R) Celeron(R) CPU G1820 @ 2.70GHz,
x86_64 arch
CPU Topology: 1 cpu(s), 2 core(s), 2 thread(s)
Memory: 8.0 GB
Disk Space: 65.7 GB total, 57.2 GB free
OS: Fedora release 21 (Twenty One)
Kernel: 3.19.3-200.fc21.x86_64
Language: zh_CN.UTF-8
Time Zone: Asia/Shanghai (NTP is on)
SELinux: on (Permissive)
Firewall: off
Logging: on (journald)
Networking:
NIC 1
Name: wlp0s26u1u1
Status: In Service
IPv4 Address: 192.168.1.101
IPv6 Address: fe80::16e6:e4ff:fe29:6c16
MAC Address: 14:E6:E4:29:6C:16 |
ķ
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 ¼һ
ϵͳ
sw 鿴װɾغԶ̵Ǽӣ
鿴һ飬ʹ
lmi> sw show pkg php
װһʹ
lmi> sw install httpd
һʹ
lmi> sw update nmap
ɾһʹ
lmi> sw remove nmap
洢
lmi storage д洢ãIJȽ϶߽ܼ࣬õ ,
鿴洢豸б
ʹlmi> storage list嵥 3 Dz̺档
嵥 3.鿴洢豸б
lmi>storage
list
Name Size Format
/dev/sda 8589934592 MS-DOS partition table
/dev/sr0 58120192 iso9660
/dev/mapper/fedora-root 7159676928 ext4
/dev/mapper/fedora-swap 859832320 swap
/dev/sda1 524288000 ext4
/dev/sda2 8064598016 physical volume (LVM) |
ʹνṹʾ洢豸бʹlmi> storage tree嵥 4 Dz̺档
嵥 4..ʹνṹʾ洢豸б
lmi> storage
tree
Name Size Format
/dev/sda 8589934592 MS-DOS partition table
/dev/sda1 524288000 ext4
/dev/sda2 8064598016 physical volume (LVM)
fedora 8061452288 volume group (LVM)
/dev/mapper/fedora-root 7159676928 ext4
/dev/mapper/fedora-swap 859832320 swap |
鿴ijһ洢豸飬嵥 5 Dz̺档
嵥 5.鿴ijһ洢豸
lmi> storage
show /dev/disk/by-id/ata-VBOX_HARDDISK_VB289545a2-5d00c206-part1
/dev/disk/by-id/ata-VBOX_HARDDISK_VB289545a2-5d00c206-part1:
Name Value
Type Partition
DeviceID /dev/disk/by-id/ata-VBOX_HARDDISK_VB289545a2-5d00c206-part1
Name /dev/sda1
ElementName sda1
Total Size 524288000
Block Size 512
Partition Type primary
Starting sector 2048
Ending sector 1026047
Sector Size 512
Disk /dev/sda
Filesystem ext4
UUID 4ebdf6a9-530e-417f-b9ef-a7974e2aa339
Persistence Persistent
Total space on filesystem 499355648
Free space on filesystem 333806592 |
ӿڹ
ʹ lmi net ûԲ鿴ӵӿڵӿơĿǰ״̬MAC
ַбܼõ 鿴豸бʹ
lmi>net device
list
ElementName OperatingStatus MAC Address
enp0s3 In Service 08:00:27:49:FE:04
lo Not Available 00:00:00:00:00:00 |
ӿµ 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
ûû
lmi user group ûûģʹԲ鿴ӡɾػԶϵϵͳʻܼõӡ
鿴Ѿڵûбʹ
lmi> user list
鿴Ѿڵûбʹ
lmi>group list
һûʹ
lmi> user create cyq1
鿴Ѿijûбʹ
lmi> user show cyq1
Name UID Home Login shell Password last change
cyq1 1001 /home/cyq1 /bin/bash 2015/04/15
ɾһûʹ
lmi> user delete cyq1
Դ
lmi power еԴģʹرաܼõӡ
鿴ϵͳֵ֧ĵԴʹ
lmi> power list
PowerState Available
suspend yes
force reboot yes
hibernate yes
force poweroff yes
poweroff yes
reboot yes
ϵͳʹ
lmi> power reboot
ϵͳߣʹ
lmi> power hibernate
ϵͳʹ
lmi> power suspend
رϵͳʹ
lmi> power poweroff
ֱģʽ˵
˽ģʽ⡣ʹֱģʽֱͨģʽִٶȱȽϿ죬ҪûϤֲ
2 ӣ
ʾԶmanagedsystem.mydomain.org еķб
# lmi -h managedsystem.mydomain.org
service list C all |
Զϵ raid 洢
#lmi -h managedsystem.mydomain.org
storage raid create 5 /dev/sdb /dev/sdd /dev/sde |
ܽ
Linux ϵͳԱ˵ OpenLMI һdzõĹߣܹпٴIJϵͳ洢װɾȹĽܵ绷һӣŷȺģԽԽԶúͲЩܹʹ÷dzײСɱϵͳԱļֵõ֡
|