guestinfo 속성을 사용하여 VMWare 환경에 ovf 배포

guestinfo 속성을 사용하여 VMWare 환경에 ovf 배포

ovf 구성을 사용하여 VM을 배포하려고 하는데 내 목표는 vmware guestinfo를 사용하여 OVF 환경에서 사용자가 제공한 키-값을 VM에 전달하는 것입니다. 다음은 내 ovf 파일에 추가한 설정/속성입니다.

<ProductSection ovf:required="false">
            <Info>Virtual Appliance</Info>
            <Property ovf:userConfigurable="true" ovf:type="string"
                      ovf:key="guestinfo.hello" ovf:value="">
              <Label>hello</Label>
              <Description>enter some string</Description>
            </Property>
</ProductSection>
....
<VirtualHardwareSection ovf:transport="com.vmware.guestInfo">
....

VM을 배포한 후 VM vApp 옵션에서 OVF 환경의 속성을 확인할 수 있습니다. 내가 본 건 이렇다

<?xml version="1.0" encoding="UTF-8"?>
<Environment
 xmlns="http://schemas.dmtf.org/ovf/environment/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
 xmlns:ve="http://www.vmware.com/schema/ovfenv"
 oe:id=""
 ve:vCenterId="vm-11260">
<PlatformSection>
  <Kind>VMware ESXi</Kind>
  <Version>6.0.0</Version>
  <Vendor>VMware, Inc.</Vendor>
  <Locale>en</Locale>
</PlatformSection>
<PropertySection>
     <Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
  <ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804- 
10.22.162.0/25" ve:unitNumber="7"/>
  <ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804- 
10.22.162.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>

마지막으로 상자에 로그인하고 vmtoolsd cmd를 사용하여 guestinfo 속성을 얻으려고 하면

vmtoolsd --cmd "info-get hello"

나는 얻고있다

"값을 찾을 수 없습니다"

이 문제를 디버깅하는 데 도움이 필요합니다. OVF 구성에 뭔가 빠진 것이 있는지 확실하지 않습니다. 미리 감사드립니다. 도와주셔서 감사합니다!

답변1

구체적으로 키를 얻을 수 있는 직접적인 방법은 없지만 vmtoolsd --cmd "info-get guestinfo.ovfenv"내 상자에서 실행할 수 있고 출력은 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<Environment
 xmlns="http://schemas.dmtf.org/ovf/environment/1"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
 xmlns:ve="http://www.vmware.com/schema/ovfenv"
 oe:id=""
 ve:vCenterId="vm-xxxx">
<PlatformSection>
  <Kind>VMware ESXi</Kind>
  <Version>6.0.0</Version>
  <Vendor>VMware, Inc.</Vendor>
  <Locale>en</Locale>
</PlatformSection>
<PropertySection>
     <Property oe:key="guestinfo.hello" oe:value="world"/>
</PropertySection>
<ve:EthernetAdapterSection>
  <ve:Adapter ve:mac="00:50:56:b2:d2:8a" ve:network="VLAN1804- 
xxx.xxx.xxx.0/25" ve:unitNumber="7"/>
  <ve:Adapter ve:mac="00:50:56:b2:83:ea" ve:network="VLAN1804- 
xxx.xxx.xxx.0/25" ve:unitNumber="8"/>
</ve:EthernetAdapterSection>
</Environment>

이는 vcenter의 VM에 대한 OVF 환경에서 볼 수 있는 것입니다. 이것이 vmtools를 사용하여 VM에서 키-값을 얻는 한 가지 방법일 수 있다고 가정합니다.

관련 정보