Hi all,
TL;DR: I have a single FreeBSD host with a few datasets, each dataset has a few jails, what's the best way to set up and manage those jails and where to I get the docs to do that? (Each dataset is one protection domain.)
I believe that ezjail is the way to go, I believe that I don't need VIMAGE but I'm not sure, I don't know if there are additional features I should check.
Details:
I've been checking handbook and various tips&tricks pages about jails, and things are getting more confusing by the day - there are just too many details, many pages seem to be outdated (but not mention the FreeBSD version, grr), and I don't want to spend days on an approach, just to find that that it was outdated and possibly misguided. And I'm seeing references to VIMAGE and don't know what the status is, or if it is useful - probably no but who knows? And I don't know if there are more such features that may or may not be applicable, and it's hard to google for things that you don't even know the name of, or if they exist at all.
So... what's the most useful set of instructions for organizing jails?
I am aware that the answer may depend on the use case, so here is mine, just to give you an idea of the level of (non-)complexity I need to handle:
1. The jails run inside a single FreeBSD host (i.e. no clustering or failover, just good old ZFS backup to a separate machine).
2. There are multiple ZFS datasets (two for now).
Each dataset is operated upon by a couple of jails (one to retrieve data from the LAN; one to offer a read-only view of the data (sambad or rsyncd); maybe a webserver to display statistics and such).
There is currently no use case that requires that a jail accesses multiple datasets.
3. There are no end users on the FreeBSD host.
(I will likely assign a separate user id for each dataset, as an extra layer of protection. I don't know how much that will buy me.)
4. If there's a trade-off between reliability and something else, I will always favor reliability.
TL;DR: I have a single FreeBSD host with a few datasets, each dataset has a few jails, what's the best way to set up and manage those jails and where to I get the docs to do that? (Each dataset is one protection domain.)
I believe that ezjail is the way to go, I believe that I don't need VIMAGE but I'm not sure, I don't know if there are additional features I should check.
Details:
I've been checking handbook and various tips&tricks pages about jails, and things are getting more confusing by the day - there are just too many details, many pages seem to be outdated (but not mention the FreeBSD version, grr), and I don't want to spend days on an approach, just to find that that it was outdated and possibly misguided. And I'm seeing references to VIMAGE and don't know what the status is, or if it is useful - probably no but who knows? And I don't know if there are more such features that may or may not be applicable, and it's hard to google for things that you don't even know the name of, or if they exist at all.
So... what's the most useful set of instructions for organizing jails?
I am aware that the answer may depend on the use case, so here is mine, just to give you an idea of the level of (non-)complexity I need to handle:
1. The jails run inside a single FreeBSD host (i.e. no clustering or failover, just good old ZFS backup to a separate machine).
2. There are multiple ZFS datasets (two for now).
Each dataset is operated upon by a couple of jails (one to retrieve data from the LAN; one to offer a read-only view of the data (sambad or rsyncd); maybe a webserver to display statistics and such).
There is currently no use case that requires that a jail accesses multiple datasets.
3. There are no end users on the FreeBSD host.
(I will likely assign a separate user id for each dataset, as an extra layer of protection. I don't know how much that will buy me.)
4. If there's a trade-off between reliability and something else, I will always favor reliability.