Compute

SFCB - CIM

haewon83 2023. 8. 8. 17:44

 

 

VMware는 Open Source CIMOM(Common Information Model Object Manager)을 fork 해서, SFCB(Small Footprint CIM Broker)를 구현

CIMOM은 Client의 Request를 전달받아 처리하고, 이를 각각의 Provider에게 전달하는 역할

 

CIM은 DMTF(Distributed Management Task Force)에 의해서 정의된 Open Framework으로 VMware가 Hardware Device와 Service를 관리하기 위해 사용

이를 위해서 CIM에서는 관리 Data와 이 Data에 대한 작업을 처리하기 위해 필요한 여러 Mechanism을 표준화(Semantic) >> object-oriented management information model

CIM은 Relational Database와 유사하게

Data Table 대신, Object가 있고,

SQL Query 대신, Assocation이 있음

모든 Object는 DMTF 기반 CIM 표준의 Specification에 있는 Object를 사용

 

 

CIM Provider는 CIMOM에 의해서 Provider에게 전달된 Client의 Request를 받아서 처리하는 역할

Provider 개발 시, registration file과 MOF 포함

개발한 Provider 설치 시, registration file은 모든 Object를 CIMOM에 등록

CIM Provider에는 Static과 Dynamic 두 가지 종류

Dynamic Provider가 일반적으로 Hardware를 관리하기 위해 구현되는 Provider(language는 C로구만 구현 가능, C++은 지원하지 않음)

CIMOM과 CIM Provider 사이에 Data는 CMPI encoding 표준을 이용 >> CIMOM이 CIM-XML(text-based encoding format)을 CMPI로 변환할 수도 있고, CMPI를 CIM-XML로 변환할 수도 있음

CIM-XML은 CIM request/response object를 DTD(Data Type Definition)를 이용한 XML format에 맞게 encoding하는 protocol

 

 

ESXi가 지원하는 개발 가능한 Host Extensibility Model

  • Common Information Model (CIM) plug-ins
  • ESXCLI plug-ins
  • Host Profile plug-ins
  • Userworld tools

 

Setting the CIM Log Level

1. Set the log level.
# esxcli system wbem set -l [debug|info|warning|error]
 
2. Stop sfcbd.
# esxcli system wbem set -e false
 
3. Restart sfcbd.
# esxcli system wbem set -e true

 

SFCB 정보 조회

# esxcli system wbem get
   Enabled: true
   WS-Management Service: true
   Enable HTTPS: true
   Authorization Model: password
   Port: 5989
   HTTP Procs: 2
   HTTPS Procs: 4
   Provider Procs: 16
   Keepalive Timeout: 1
   Keepalive Max Requests: 10
   Provider Sample Interval: 30
   Provider Timeout Interval: 120
   HTTP Max Content Length: 1048576
   Max Message Length: 40000000
   Thread Stack Size: 1048576
   Provider Resource Pool Override:
   SSL Cipher List: !aNULL:kECDH+AESGCM:ECDH+AESGCM:RSA+AESGCM:kECDH+AES:ECDH+AES:RSA+AES
   Threadpool Size: 5
   Readonly: false
   Log Level: debug
   Service Location Protocol PID: 2100438
   WS-Management PID: 2100919
   CIM Object Manager PID: 2101200
   Enabled SSL Protocols:
   Enabled System SSL Protocols: tlsv1.2
   Enabled Running SSL Protocols: tlsv1.2
 
# pidof sfcbd
2101200 2101155 2101068 2100874 2100871 2100870 2100867 2100866
 
# pidof openwsmand
2100919

 

CIM 조회 테스트

# enum_instances cim_unitarycomputersystem | head -10
 
OMC_UnitaryComputerSystem.CreationClassName="OMC_UnitaryComputerSystem",Name="4c4c4544-0044-5910-8048-c3c04f4d3833"
                          Name = 4c4c4544-0044-5910-8048-c3c04f4d3833
             CreationClassName = OMC_UnitaryComputerSystem
               ResetCapability = 2
                RequestedState = 5
    OtherDedicatedDescriptions = { System Virtualization,  }
                    NameFormat = HWA
                  EnabledState = 2
                EnabledDefault = 2

 

SFCB Provider 조회

# esxcli system wbem provider list
Name              Enabled  Loaded
----------------  -------  ------
sfcb_base            true    true
vmw_base             true    true
vmw_hdr              true    true
vmw_iodmProvider     true    true
vmw_kmodule          true    true
vmw_omc              true    true
vmw_pci              true    true

 

Provider 등록 파일 목록

[root@localhost:/var/lib/sfcb/registration] ls -al
total 72
drwxr-xr-x    1 root     root           512 Aug  7 15:31 .
drwxr-xr-x    1 root     root           512 Aug  7 15:31 ..
-rw-rw-rw-    1 root     root            72 Aug  7 15:31 loaded
-rw-r-----    1 root     root             1 Aug  7 15:31 maxwait
drwxr-xr-x    1 root     root           512 Aug  7 15:28 repository
-r--r--r--    1 root     root          4626 Feb 17  2021 sfcb_base-providerRegister
-r--r--r--    1 root     root          6235 Feb 17  2021 vmw_base-providerRegister
-r--r--r--    1 root     root           388 Feb 17  2021 vmw_hdr-providerRegister
-r--r--r--    1 root     root          4220 Feb 17  2021 vmw_iodmProvider-providerRegister
-r--r--r--    1 root     root           164 Feb 17  2021 vmw_kmodule-providerRegister
-r--r--r--    1 root     root         15404 Feb 17  2021 vmw_omc-providerRegister
-r--r--r--    1 root     root          1565 Feb 17  2021 vmw_pci-providerRegister

 

SFCB 환경 파일

# cat /etc/sfcb/sfcb.cfg
# Do not modify this header.
# VMware ESXi 7.0.2
disabledProviders:
providerSampleInterval:30
doBasicAuth:true
sslClientCertificate:ignore
provProcs:16
sslCipherList:!aNULL:kECDH+AESGCM:ECDH+AESGCM:RSA+AESGCM:kECDH+AES:ECDH+AES:RSA+AES
httpsProcs:4
httpProcs:2
maxMsgLen:40000000
readOnly:false
enableHttps:true
wsman:true
threadStackSize:1048576
enabled:true
threadPoolSize:5
httpsPort:5989
providerTimeoutInterval:120
keepaliveTimeout:1
loglevel:debug
httpMaxContentLength:1048576
keepaliveMaxRequest:10