![]() ![]() These datasets will be invisible in Storage->Pools, and any operations on these datasets (snapshots, replication, etc.) can only be performed using CLI tools in the shell. Avoid creating datasets with names beginning with a period (.).Name your datasets and zvols so their function is obvious, not just today, but 5 or more years in the future.Only nest datasets when necessary, and then only to a maximum depth of around 2, to minimize jankiness with permissions and ACLs.Create zvols on mirror pools, if possible.Have separate datasets for separate sharing protocols when practical.Group data of similar criticality in the same dataset. ![]() The top-level of a pool is reserved don't just use it as a dumping ground.Is some data so critical that you need to snapshot every 30 minutes? That data should be collected within its own dataset. Lastly, datasets can have independent snapshot/replication intervals.What permissions structure do you intend? Nested datasets, in particular, can result in hairy permissions and/or ACL inheritance settings that are hard to debug.Once running, the VM can mount a host dataset via NFS (preferred) or SMB (not recommended, due to SMB's single-threaded operation). Do you want to run VMs? VM disks can only be zvols, not datasets.To provide access to a dataset on the host, you'll need to use the jail manager to map a host dataset to a mount point within the jail. In particular, warden installs a dataset hierarchy under tank/jails, and iocage installs a hierarchy under tank/iocage, where tank is the pool. Do you want to run plugins or jails? The jail manager ( warden or iocage) will construct a standard set of datasets for its own use, so you shouldn't construct any datasets with the same names.Also, iSCSI can only use zvols, whereas the others can only use datasets. What sharing mechanisms do you intend to support? AFP, NFS, SMB, iSCSI? It's generally a bad idea to have multiple sharing protocols acting on a single dataset, as it runs the risk of multiple users stepping on each other in that dataset, as file locking isn't shared across protocols, and working out what happened afterwards can be confusing. ![]() A dataset can contain a zvol or another dataset, but a zvol cannot contain any child datasets or zvols.Ģ) Consider all the use cases for your data (These are actually created in /dev/zvol/tank/, but appear under pool tank in Storage->Pools.) Unlike these other disk images, a zvol is NOT a file, but is a reference to a block device. These are similar to other virtual disks, like vmWare's VMDK or Hyper-V's VHD. A dataset is essentially its own independent ZFS filesystem. ![]() This is also the smallest structure for setting ZFS flags.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |