The SDX Pro is game changer for us, being able to remotely deploy a VM to the edge without any additional hardware to configure/install greatly simplifies our remote deployments, as well as maintenance.
If you combine this with kickstart, preseed, or cloud-init instructions, you can have zero-touch VM creation. This lets you run one command, and literally walk away for 10 minutes and come back to a pre-configured running VM.
You can adjust the following as you see fit:
--ram, --disk size, --vcpus
(The SDX Pro comes with 8GB of RAM and 8 cores, so size accordingly.)
Here’s an example for a Ubuntu 18.04 Server VM w/ a preseed for zero-touch deployment:
virt-install --connect=qemu+tcp://YourRoutersIP/system --name YourVMNameHere --ram 2048 --disk size=15 --network bridge:br0 --cpu host --vcpus 2 --virt-type kvm --os-type linux --os-variant ubuntu16.04 --graphics none --location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' --extra-args="url=http://yourpreseed.cfg console=ttyS0 hostname=YourVMsHostnameHere locale=en_US keyboard-configuration/layoutcode=us" --noautoconsole --wait 15 --autostart
If you don’t have a preseed configuration or want to customize the installation and step through the installer:
virt-install --connect=qemu+tcp://YourRoutersIP/system --name YourVMNameHere --ram 2048 --disk size=15 --network bridge:br0 --cpu host --vcpus 2 --virt-type kvm --os-type linux --os-variant ubuntu16.04 --graphics none --location 'http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' --extra-args="console=ttyS0" --autostart
VM’s can be managed using virt-manager or virsh:
virsh # connect qemu+tcp://{Router's IP Address}/system
Please enter your authentication name: admin
Please enter your password:
virsh # list
Id Name State
----------------------------------------------------
5 SDX-Ubuntu1804 running
One thing to keep in mind before putting this in a production environment:
Firmware 8.1.0 has a bug which exposes the KVM TCP port to WAN, and ignores firewall rules. This should be fixed in the next firmware release.