Installation on Synology Virtual Machine Managager

Tags: #<Tag:0x00007f3261d873f0> #<Tag:0x00007f3261d87238>

Also worth mentioning. Just first start is so long and CPU intensive. It’s getting better with 2nd and following starts.

can you tell me how?

Well that is abit of magic. There are something in this OVF that makes mine OVA start the Guest Addon but not in the official:

fer-ovf
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Synology Virtual Machine Manager, UTC time: 2021-2-17T16:22:28-->
<Envelope xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:syno="https://www.synology.com/">
  <References>
    <File ovf:href="ha-test-disk1.vmdk" ovf:id="file1"/>
  </References>
  <DiskSection>
    <Info>Virtual disk information</Info>
    <Disk ovf:capacity="34359738368" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized"/>
  </DiskSection>
  <NetworkSection>
    <Info>The list of logical networks</Info>
    <Network ovf:name="bridged">
      <Description>The VM Network network</Description>
    </Network>
  </NetworkSection>
  <VirtualSystem ovf:id="ha-test">
    <Info>A virtual machine</Info>
    <Name>ha-test</Name>
    <OperatingSystemSection ovf:id="102" syno:utc_offset="0" vmw:osType="GeneralOS">
      <Info>A virtual machine exported from Synology NAS</Info>
    </OperatingSystemSection>
    <VirtualHardwareSection>
      <Info>Virtual hardware requirements</Info>
      <System>
        <vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
        <vssd:InstanceID>0</vssd:InstanceID>
        <vssd:VirtualSystemIdentifier>ha-test</vssd:VirtualSystemIdentifier>
        <vssd:VirtualSystemType>vmx-11</vssd:VirtualSystemType>
      </System>
      <Item>
        <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
        <rasd:Description>Number of Virtual CPUs</rasd:Description>
        <rasd:ElementName>1 virtual CPU(s)</rasd:ElementName>
        <rasd:InstanceID>1</rasd:InstanceID>
        <rasd:ResourceType>3</rasd:ResourceType>
        <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
      </Item>
      <Item>
        <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
        <rasd:Description>Memory Size</rasd:Description>
        <rasd:ElementName>2048MB of memory</rasd:ElementName>
        <rasd:InstanceID>2</rasd:InstanceID>
        <rasd:ResourceType>4</rasd:ResourceType>
        <rasd:VirtualQuantity>2048</rasd:VirtualQuantity>
      </Item>
      <Item>
        <rasd:Address>0</rasd:Address>
        <rasd:Description>IDE Controller</rasd:Description>
        <rasd:ElementName>IDE Controller 0</rasd:ElementName>
        <rasd:InstanceID>3</rasd:InstanceID>
        <rasd:ResourceType>5</rasd:ResourceType>
      </Item>
      <Item>
        <rasd:AddressOnParent>0</rasd:AddressOnParent>
        <rasd:ElementName>Hard disk 1</rasd:ElementName>
        <rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
        <rasd:InstanceID>4</rasd:InstanceID>
        <rasd:Parent>3</rasd:Parent>
        <rasd:ResourceType>17</rasd:ResourceType>
      </Item>
      <Item>
        <rasd:Caption>vNic Driver</rasd:Caption>
        <rasd:Connection>bridged</rasd:Connection>
        <rasd:Description>Ethernet Adapter</rasd:Description>
        <rasd:ElementName>eth0</rasd:ElementName>
        <rasd:InstanceID>5</rasd:InstanceID>
        <rasd:ResourceSubType>virtio</rasd:ResourceSubType>
        <rasd:ResourceType>10</rasd:ResourceType>
      </Item>
	  <vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="efi"/>
    </VirtualHardwareSection>
  </VirtualSystem>
</Envelope>

I’m a bit of a dare devil (posting a public link to my nas here).

https://drive.erlandsson.myds.me/d/s/604439883978678397/voPsOgbeGmfn17q2UQM1AyQiJkOZwA5P-wLDgpe9mYwg_

2 Likes

thanks i have downloaded

Edit:
but for me was OK how writes above @fEnIo

…i downloaded qcow2 than imported in VMM to the image area …

1 Like

What are the advantages of this method of installation over the reliable and well-maintained Docker route? Is it just the Home Assistant OS “extras” like snapshots, HACS etc, or are there other reasons to switch to VMM?

You’ve answered it yourself - by running VM you are actually running official full stack from HA. Also, it runs on separate IP from your Synology so you will not have clashes with ports (for ex. AdGuard/PiHole clashing with Synology DNS).
It’s just less work to install, configure and maintain.

And BTW - HACS runs same in Docker as it runs in Supervised - that is just custom component.

1 Like

play series of devices has a bit different architecture then non play devices. At least that is how it was. It had a bit of less power in other things while for video decompression and playback it should be more optimized. Play is for video playback.

Here is a picture of the different methods (running in VM is not a hack and is considered supported).

HI, before to migrate to Raspberry Pi4B, I successfully installed the OVA image file on my DS718+, but I couldn’t connect HA on LAN because my router RT-AX88U (Merlin FW) doesn’t support NAT Loopback.
Are you able to connect HA inside VM on synology by the LAN or like me you are forced to connect just from remote or using a VPN?
Did I made something wrong?

Thanks in advance for your kind reply
Giorgio

I’m also running Merlin FW…

Are you saying that you can’t access http://192.168.1.NUMBER:8123 at all?

Not at all, only the not supervised part

Workaround is use ie EXPRESSVPN to get “local connection” emulating remote connection to VM (to reach the full supervised HA)

Ok, I found what is needed in the Virtual Machine description file, it turns out that the OperatingSystemSection ovf:id= must be "102" for VMM to pickup the running Guest Addon in the Virtual Machine.

I’ll create a patch later but this is the change I made:

I’ve uploaded the patched file while this is in review (and it might take some time given it’s been "102" before) so it can be downloaded from: https://www.dropbox.com/s/1ev7g9xhck5bhw5/hassos_ova-5.11_syn-patch.ova?dl=1

Maybe you find it out if you compare your OVF with that one which we use and update the vendor properties for Synology, so the next build will support Qemu Agent for you too. I think longterm simpler as providing a custom OVF :slight_smile:

1 Like

I’ve just created a PR: https://github.com/home-assistant/operating-system/pull/1233

I’ve been spending ~4 hours trying different options, building a new OVA and testing in VMM and it turned out to just being ovf:id 102 vs 100.

I’ve been running my Home Assistant using Synology Virtual Machine Manager for some months now. Clearly it’s not the fastest set-up (when I try to run the DOODS addon it takes 2 seconds to process an image that takes 0.1 second on a fast machine), but overall I’m very happy with it.
This ‘guest agent’ thing is new to me (well I know there was some text in synology VMM about installing an agent, but I didn’t know how to do it). Am is missing some important functionality?

Thanks, you are absolutely right. After 2 days of installation, both the Nas cpu and the virtualized one always remain around 5-10%. HAOS runs perfectly without any issues

And what about the RAM usage ? Just curious.

With VM you don’t share memory so the VM instance will “use” all the assigned memory from the Synology perspecitve…

This is my current ram/cpu use with 2GB ram and 1 CPU core.

Thank you. 2GB is a minimum for HA OS ? My 918+ is running with 4GB. I’m not sure it will be enough.