PowerEdge: Numaralandırmanın ötesinde WSMAN i keşfetme

Summary: Dell TechCenter'da Dell İşletim Sistemi ve Uygulama Çözümleri - Project Sputnik, Microsoft Windows, Red Hat Linux, SUSE, Ubuntu ve daha fazlası

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

WSMAN, Dell iDRAC için seçilen yönetim API'sidir ve uzaktan sistem yönetimini mümkün olduğunca kapsamlı hale getirmek için yoğun çalışmalar devam etmektedir. Bir eklenti
için WSMAN protokolünü inceledikten sonra, ilk numaralandırma eyleminden sonra karmaşık hale geldiğini gördüm. Doğru anahtar özellikleriyle get/put/create/delete/custom Actions'ın nasıl çağrılacağına ilişkin belge veya örnek yoktur. Bu bilginin birincil kaynağı, takip etmek için fazla uzun olan DMTF'nin WSMAN teknik özelliği ve WSMAN-CIM bağlantısı teknik özelliğidir. Yine bu makale içeriğinin çoğunluğu DMTF teknik özellik belgelerinden gelmektedir. Bu, bu bilgiyi bazı örneklerle (Linux'ta) sindirme girişimidir.

 SFCB ve openwsman kullanmaya başlama hakkında paylaştığım teknik rapora şuradan ulaşabilirsiniz: https://linux.dell.com/files/whitepapers/WBEM_based_management_in_Linux.pdf. WSMAN ve SFCB'de yeniyseniz, pdf bu makaleden daha iyi bir başlangıç noktası olacaktır. Yukarıdaki teknik incelemede olduğu gibi, öncelikle bu makaledeki

openwsman ve SFCB CIMOM uygulamalarıyla ilgilidir Şimdi, bir WSMAN sunucusu verildiğinde, wsman API tarafından yönetilebilen tüm bileşenleri listelemenin bir yolu var mı? WSMAN sunucularının çoğu arka uçta bir CIMOM ile konuşur ve CIMOM'ların yönetim işlevlerini ortaya çıkarır. Bunun anlamı, bir WSMAN sunucusunun yönetim özelliklerinin arka uçta CIMOM'a kayıtlı CIM sağlayıcılarına bağlı olduğudur. CIMOM'da, CIMOM'a kayıtlı tüm sınıfları listelemek için çağrılabilecek, EnumerateClassNames adında yerleşik bir işlev vardır.

Cause

WSMAN belirtiminde EnumerateClassNames için bire bir eşleme olmadığından, bu yöntem WSMAN'deki diğer özel işlevler gibi çağrılır. Bunun uygulamaya özgü olduğunu ve wsmancli uygulaması için geçerli olduğunu unutmayın. Gelecek sürümlerde bu farklı olabilir veya güncelleştirilebilir.

Resolution

CIMOM'un özü EnumerateClassNames İşlev aşağıdaki gibi çağrılabilir: wsmancli:

 

wsman invoke -a EnumerateClassNames --hostname=test_host --port=5985 --username=abc --password=password http://schemas.openwsman.org/wbem/wscim/1/instrinsic  --namespace=root/cimv2

 

 <s:Body>

    <n1:EnumerateClassNames>

      <n1:name>root/cimv2:CIM_Service</n1:name>

      <n1:name>root/cimv2:Syslog_RecordInLog</n1:name>

      <n1:name>root/cimv2:Linux_SambaValidUsersForShare</n1:name>

       <n1:name>root/cimv2:Linux_BaseBoard</n1:name>

      <n1:name>root/cimv2:Linux_SambaForceUserForShare</n1:name>

      <n1:name>root/cimv2:Linux_Processor</n1:name>

      <n1:name>root/cimv2:CIM_RecordForLog</n1:name>

      <n1:name>root/cimv2:Linux_SambaShareForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaServiceConfigurationForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaHostsForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaForceUserForGlobal</n1:name>

      <n1:name>root/cimv2:CIM_OSProcess</n1:name>

      <n1:name>root/cimv2:CIM_RunningOS</n1:name>...................
 

Çıktı yukarıdaki gibi görünür ve root/cimv2 ad alanında şunu gösterir: Linux_Processor kayıtlı sınıflardan biridir. Yeni sınıflar kaydolduğunda birkaç CIM sınıfı devralınır root veya cimv2tıklatın ve komut tüm bu sınıf adlarını listeler. Genel olarak, aşağıdakilerle tüm sınıfları yoksayabilirsiniz: CIM_ önek. Linux_ ön ekine sahip tüm sınıflar, bir Linux sistemine yüklenen sağlayıcılar tarafından kaydedilen sınıflardır.
Dell in iDRAC ı ile çalışırken en çok aşağıdaki konularda dersler ilgilenmiştir: DCIM_ prefix.

 Sınıf adları listesiyle, getClass ayıklama işlevi Linux_Processor Sınıf tanımı aşağıdaki gibidir:

 

wsman invoke -a GetClass --hostname=test_host --port=5985 --username=abc --password=password http://schemas.openwsman.org/wbem/wscim/1/intrinsic/Linux_Processor  --namespace=root/cimv2
 

 Yukarıdaki komut, içinde tanımlanan tüm özellikleri listeler. Linux_Processor yerel olarak. Diğerinden miras kalan özelliklerden herhangi biri anlamına gelir CIM_* Sınıflar geçerli uygulamayla birlikte listelenmez. Sınıf tanımları yöntemleri, parametreleri ve anahtar özelliklerini ortaya çıkarır, ancak komut yalnızca yerel özellikleri döndürerek anahtar özelliklerini tanımlanamaz hale getirir. Yine, bu bir uygulama sınırlamasıdır wsmancli'dir.

Süre GetClass iyi bir başlangıçtır, çıktısı al, koy veya oluştur veya özel eylemleri çağırmak için anahtar özellikleri tanımlamak için yeterli değildir.
Peki, bunu başarmak için başka hangi teknikler kullanılabilir? İşte bu noktada EPR'ler yardımcı olabilir.


Uç Nokta Referansı (EPR), iki bilgi parçası içeren bir örneğin işaretçisidir: ResourceURI ve bir Seçici Seti. Trafik ResourceURI örneğinin oluşturulduğu sınıf adına sahiptir ve Seçici Kümesi, bir örneğin benzersiz bir şekilde tanımlanabileceği özellikleri listeler. Belirli bir sınıfın EPR'leri aşağıdakine benzer bir komutla numaralandırılabilir:

wsman enumerate -M epr  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor -h test_host-P 5985 -u abc -p password -O out

 <?xml version="1.0" encoding="UTF-8"?>

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">

  <s:Header>

    <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>

    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/PullResponse</wsa:Action>

    <wsa:RelatesTo>uuid:ca52c9e9-cd47-1d47-8003-a52924d9bed4</wsa:RelatesTo>

    <wsa:MessageID>uuid:ca622bb3-cd47-1d47-8097-a52924d9bed4</wsa:MessageID>

  </s:Header>

  <s:Body>

    <wsen:PullResponse>

      <wsen:EnumerationContext>ca4fdd21-cd47-1d47-8095-a52924d9bed4</wsen:EnumerationContext>

      <wsen:Items>

        <wsa:EndpointReference>

          <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

          <wsa:ReferenceParameters>

            <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor</wsman:ResourceURI>

            <wsman:SelectorSet>

              <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

              <wsman:Selector Name="SystemCreationClassName">Linux_ComputerSystem</wsman:Selector>

              <wsman:Selector Name="SystemName">localhost.localdomain</wsman:Selector>

              <wsman:Selector Name="CreationClassName">Linux_Processor</wsman:Selector>

              <wsman:Selector Name="DeviceID">0</wsman:Selector>

            </wsman:SelectorSet>

          </wsa:ReferenceParameters>

        </wsa:EndpointReference>

      </wsen:Items>

    </wsen:PullResponse>

  </s:Body>

</s:Envelope>



Hedef sistemdeki tüm işlemciler arasında yukarıdaki çıktı tek bir işlemciye aittir.
Çıktıda resourceURI şu şekilde listelenir: https://sblim.sourceforge.net/wbem/wscim/1/cim-schema/2/Linux_Processor ve SelectorSet değerlerini listeler __cimnamespace, SystemCreationClassName, SystemName, CreationClassName, and DeviceID. Bu, miras alınan ve yerel olarak tanımlanan sınıftaki tüm özellikler anlamına gelir) bu özellikler bir örneği benzersiz olarak tanımlamak için kullanılabilir.


 Dolayısıyla, şunun gibi bir komuttan geçerli bir yanıt bekleyebilirsiniz:

wsman get  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor?SystemCreationClassName="Linux_ComputerSystem",SystemName="localhost.localdomain",CreationClassName="Linux_Processor",DeviceID="3",__cimnamespace="root/cimv2" -h test_host -P 5985 -u abc -p password -O get



 Yukarıdaki istekte başka özellikler kullanılıyorsa, arka uçtaki CIMOM bir örneği benzersiz olarak tanımlayamaz. Bir örnekte özel yöntemler çalıştırmak için, yöntem çağırmanın anahtar özelliklerini tanımlamak üzere sınıfın EPR'sini kullanın.


Bir ilişkilendirmenin EPR'lerini de numaralandırabilirsiniz. Bir sınıf adı verildiğinde, bunun standart bir Sınıf adı mı, ilişkilendirme sınıfı mı olduğu anlaşılamaz. İlişkilendirme örneği iki örneğe işaret eder, bu nedenle EPR'si, başvurduğu örneklerin veya nesnelerin EPR'lerini içerir. Aşağıda bunun bir örneği verilmiştir:

wsman enumerate -M epr  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_CSProcessor -h test_host -P 5985 -u abc -p password -O out

 <?xml version="1.0" encoding="UTF-8"?>

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">

  <s:Header>

    <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>

    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/PullResponse</wsa:Action>

    <wsa:RelatesTo>uuid:2efbfcad-cd4b-1d4b-8003-a52924d9bed4</wsa:RelatesTo>

    <wsa:MessageID>uuid:2efc1c6f-cd4b-1d4b-80b3-a52924d9bed4</wsa:MessageID>

  </s:Header>

  <s:Body>

    <wsen:PullResponse>

      <wsen:EnumerationContext>2ef7f6f5-cd4b-1d4b-80b1-a52924d9bed4</wsen:EnumerationContext>

      <wsen:Items>

        <wsa:EndpointReference>

          <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

          <wsa:ReferenceParameters>

            <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_CSProcessor</wsman:ResourceURI>

            <wsman:SelectorSet>

              <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

              <wsman:Selector Name="GroupComponent">

                <wsa:EndpointReference>

                  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

                  <wsa:ReferenceParameters>

                    <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_ComputerSystem</wsman:ResourceURI>

                    <wsman:SelectorSet>

                      <wsman:Selector Name="CreationClassName">Linux_ComputerSystem</wsman:Selector>

                      <wsman:Selector Name="Name">localhost.localdomain</wsman:Selector>

                      <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

                    </wsman:SelectorSet>

                  </wsa:ReferenceParameters>

                </wsa:EndpointReference>

              </wsman:Selector>

              <wsman:Selector Name="PartComponent">

                <wsa:EndpointReference>

                  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

                  <wsa:ReferenceParameters>

                    <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor</wsman:ResourceURI>

                    <wsman:SelectorSet>

                      <wsman:Selector Name="SystemCreationClassName">Linux_ComputerSystem</wsman:Selector>

                      <wsman:Selector Name="SystemName">localhost.localdomain</wsman:Selector>

                      <wsman:Selector Name="CreationClassName">Linux_Processor</wsman:Selector>

                      <wsman:Selector Name="DeviceID">0</wsman:Selector>

                      <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

                    </wsman:SelectorSet>

                  </wsa:ReferenceParameters>

                </wsa:EndpointReference>

              </wsman:Selector>

            </wsman:SelectorSet>

          </wsa:ReferenceParameters>

        </wsa:EndpointReference>

      </wsen:Items>

    </wsen:PullResponse>

  </s:Body>

</s:Envelope>



Linux_CSProcessor Bağlantılar Linux_ComputerSystem ve Linux_Processor, İşlemcilerin Bilgisayar Sistemlerinde olduğunu göstererek, detaylandırarak GroupComponent ve PartComponent bölümleri.

EPR'leri ve örneklere erişmek için kullanımlarını anlamak için zaman harcadım ve bunun başkalarına yardımcı olabileceğini düşündüm. Yorumlarınızı veya önerilerinizi aşağıda bırakmaktan çekinmeyin.

Yasal Uyarı:

Yukarıdaki makale sadece bilgilendirme amaçlıdır. İçerik, bahsedilen teknolojiler ve terminolojiler hakkındaki yorumumdandır. Bu bilgiler olduğu gibi sağlanmıştır ve bazı yazım hataları ve/veya teknik yanlışlıklar içerebilir.
 

Affected Products

SUSE Linux Enterprise Server 12, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8, SUSE Linux Enterprise Server 15, Ubuntu Server LTS

Products

C Series, HS Series, Modular Infrastructure, Rack Servers, Tower Servers, XE Servers, XR Servers, OEM Server Solutions
Article Properties
Article Number: 000145895
Article Type: Solution
Last Modified: 10 Sept 2026
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.