Rump unikernel persistance storage

89 Views Asked by At

I am currently learning about rump unikernels, and I ran successfully the tutorial to run an nginx static server.

However many services might require some sort of persistence. How can I add persistence to a rump unikernel ?

1

There are 1 best solutions below

0
On

You can attach a Disk and use it to store persistent data information. Rump supports mounting external disks - see here:

https://github.com/rumpkernel/rumprun/blob/master/doc/config.md#blk-block-devices-and-filesystems

You configure a mount-point and a device, and then attach them in the same order (for example in qemu -drive argument). for example, with qemu virtio device, use these values:

  • source: "dev"
  • mountpoint: whatever path you want the device accessible in the unikernel
  • fstype: "blk" (in aws you would use etfs)
  • path: /dev/ld0a ("0" - the first device, "a" - the first partition)

Of course like in any software, you can use a database or some other network based storage.

Also, checkout Project Unik (full disclosure, I am one of its creator) - we try to create a management platform for unikernels, rump included. one of our features is persistent volume support.