Is it possible (or conversely a terrible idea) to expose zfs snapshots to a container?
My goal is to enable 'previous versions' via samba's shadow_copy2 vfs object, preferably backed by zfs snapshots, for document storage that can be recovered without IT (me) intervention. The documents in question consume a considerable amount of space, and continuous growth; perhaps 15gb of hot data (accessed at least daily), and (currently) 1.7TB of cool/cold data.
There is several paths to accomplish this as I see it.
The most resource efficient would be to run samba in a lxc container instance, bind mounts to expose a host directory, and bind mounts to expose native zfs snaps to the container. This keeps everything in one filesystem, with no concern about reclaiming space from one container or vm as requirements change.
There is obviously concerns about exposing the snaps, the management of them, naming schema, and mounting/unmounting on creation and removal.
The second would be to use a vm, seperate zfs filesystem carved from raw partitions, or as a disk image on local (non zfs) storage. This means predetermining the disk space allocated for this storage subsystem (a non trivial task considering the unsteady growth of the datastore), and the overhead of two zfs filesystems (arc memory).
The third is to forgo Proxmox, and revert to my existing layout of a Centos host, zfs filesystem, and samba on the host. Not as optimal, as I lose the great management interface, and am running network accessible services on the host.
---
I'm all ears for suggestions, please.
My goal is to enable 'previous versions' via samba's shadow_copy2 vfs object, preferably backed by zfs snapshots, for document storage that can be recovered without IT (me) intervention. The documents in question consume a considerable amount of space, and continuous growth; perhaps 15gb of hot data (accessed at least daily), and (currently) 1.7TB of cool/cold data.
There is several paths to accomplish this as I see it.
The most resource efficient would be to run samba in a lxc container instance, bind mounts to expose a host directory, and bind mounts to expose native zfs snaps to the container. This keeps everything in one filesystem, with no concern about reclaiming space from one container or vm as requirements change.
There is obviously concerns about exposing the snaps, the management of them, naming schema, and mounting/unmounting on creation and removal.
The second would be to use a vm, seperate zfs filesystem carved from raw partitions, or as a disk image on local (non zfs) storage. This means predetermining the disk space allocated for this storage subsystem (a non trivial task considering the unsteady growth of the datastore), and the overhead of two zfs filesystems (arc memory).
The third is to forgo Proxmox, and revert to my existing layout of a Centos host, zfs filesystem, and samba on the host. Not as optimal, as I lose the great management interface, and am running network accessible services on the host.
---
I'm all ears for suggestions, please.