Currently, the build process and OSv runtime assume that the ZFS filesystem must be mounted from the 1st partition on /dev/vblk0 which maps to the device /dev/vblk0.1. However, it would be beneficial to be able to mount the ZFS filesystem from a different device and partition.
There are at least two desirables scenarios we would like to support:
Building an image with 2 partitions on a single disk and running OSv from it - 1st one with ROFS intended to store code and 2nd one with ZFS intended for mutable data
Building images and running OSv with 2 disks - 1st with ROFS on it with all code and 2nd one with ZFS intended for data
This has at least two benefits:
It is more memory efficient because loading libsolaris.so from ROFS requires one copy of files in memory compared to 2 copies when libsolaris.so is loaded from bootfs
Provides isolation between code and data where each is either on 2 separate partitions or disks
Even though this issue is closed, I am referencing this SeaweedFS app readme that describes extensively how we use the 2nd method (ZFS on a separate disk).
Currently, the build process and OSv runtime assume that the ZFS filesystem must be mounted from the 1st partition on
/dev/vblk0
which maps to the device/dev/vblk0.1
. However, it would be beneficial to be able to mount the ZFS filesystem from a different device and partition.There are at least two desirables scenarios we would like to support:
This has at least two benefits:
libsolaris.so
from ROFS requires one copy of files in memory compared to 2 copies whenlibsolaris.so
is loaded from bootfs