AWS DataSync Agent on Proxmox

Goal: get AWS DataSync Agent running under Proxmox on hardware1 with limited system resources.

Start by following the DataSync documentation, but stop after downloading the KVM image. Extract the qcow2 file from the ZIP archive and copy it to your Proxmox host.

When I did this the image was named aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2. Time to create a VM:

qm create 101 --memory 4096 --sockets 1 --cores 4 --name aws-datasync --kvm yes --net0 "virtio,bridge=vmbr0"

Notice that we didn’t give the VM any storage. That’s because we need to import the DataSync Agent image seperately:

qm importdisk 101 aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2 local-zfs

Note that local-zfs is the name of the PVE volume I use for VMs. Yours may be named something else.

Now we make configure the VM to properly use the disk:

# qm rescan
# qm set 101 --virtio0 local-zfs:vm-101-disk-0
# qm set 101 --boot c --bootdisk virtio0

Now you can start up the VM, connect to console, and resume following the DataSync documention, just skip past the part where it talks about virt-install.

Great success: screenshot of AWS DataSync console showing completed sync job!

Here’s what it looks like on console when you create the VM and attach the disk:

root@brick:~# qm create 101 --memory 4096 --sockets 1 --cores 4 --name aws-datasync --kvm yes --net0 "virtio,bridge=vmbr0"
root@brick:~# ls
aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2
root@brick:~# file aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2
aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2: QEMU QCOW2 Image (v3), 85899345920 bytes
root@brick:~# qm importdisk 101 aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2 local-zfs
importing disk 'aws-datasync-2.0.1671049950.1-x86_64.xfs.gpt.qcow2' to VM 101 ...
transferred 0.0 B of 80.0 GiB (0.00%)
[...]
Successfully imported disk as 'unused0:local-zfs:vm-101-disk-0'
root@brick:~# qm rescan
rescan volumes...
root@brick:~# qm set 101 --virtio0 local-zfs:vm-101-disk-0
update VM 101: -virtio0 local-zfs:vm-101-disk-0
root@brick:~# qm set 101 --boot c --bootdisk virtio0
update VM 101: -boot c -bootdisk virtio0
root@brick:~# qm config 101
boot: c
bootdisk: virtio0
kvm: 1
memory: 4096
meta: creation-qemu=7.1.0,ctime=1673493034
name: aws-datasync
net0: virtio=06:48:03:13:B4:50,bridge=vmbr0
smbios1: uuid=9fee5040-1501-41d1-a06c-b1c9dc1d43cf
sockets: 1
virtio0: local-zfs:vm-101-disk-0,size=80G
vmgenid: 5acd8d4a-7f23-4440-b71a-7ec6f130e8f9

  1. A QNAP TBS-453DX with an Intel J4115 CPU, 16GB of RAM, and 4x 2T SSD in RAIDZ. ↩︎

Want to keep reading? / go foward / go back