3-xen-orchestra-install #4
							
								
								
									
										49
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								README.md
									
									
									
									
									
								
							| @@ -349,6 +349,55 @@ zpool/data/opt      /opt        off | |||||||
| zpool/data/opt/git  /opt/git    on | zpool/data/opt/git  /opt/git    on | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ## Nested environment-independent datasets | ||||||
|  |  | ||||||
|  | ### Caution | ||||||
|  |  | ||||||
|  | If you want a dedicated dataset for a directory that lives deeper in your file system tree than just `/opt/git`, for example like `/var/lib/docker` make sure to not recursively create this structure in a single `zfs create` command. | ||||||
|  |  | ||||||
|  | In [Adding another boot environment-independent dataset](#adding-another-boot-environment-independent-dataset) above you can safely do: | ||||||
|  | ``` | ||||||
|  | zfs create -o canmount=off zpool/data/opt | ||||||
|  | ``` | ||||||
|  | Here `zpool/data` already exists, you're only creating one child dataset `opt` and you're setting `-o canmount=off` so that it never mounts into your `/opt` directory. | ||||||
|  |  | ||||||
|  | Now consider the same setup for `/var/lib/docker`. If you follow the exact same approach: | ||||||
|  | ``` | ||||||
|  | zfs create -o canmount=off zpool/data/var/lib | ||||||
|  | ``` | ||||||
|  | Docker will correctly report: | ||||||
|  | ``` | ||||||
|  | cannot create 'zpool/data/var/lib': parent does not exist | ||||||
|  | ``` | ||||||
|  | You might want to just create the parent then with `-p` argument: | ||||||
|  | ``` | ||||||
|  | zfs create -p -o canmount=off zpool/data/var/lib | ||||||
|  |            ~~ | ||||||
|  | ``` | ||||||
|  | Note, however, that `-o canmount=off` only applies to `lib` dataset and that `zpool/data/var` has just been auto-mounted into `/var`: | ||||||
|  | ``` | ||||||
|  | # zfs list -r -oname,mountpoint,canmount,mounted zpool/data | ||||||
|  | NAME                MOUNTPOINT  CANMOUNT  MOUNTED | ||||||
|  | zpool/data          /           off       no | ||||||
|  | zpool/data/home     /home       on        yes | ||||||
|  | zpool/data/opt      /opt        off       no | ||||||
|  | zpool/data/opt/git  /opt/git    on        yes | ||||||
|  | zpool/data/var      /var        on        yes  <--- | ||||||
|  | zpool/data/var/lib  /var/lib    off       no | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### Advice | ||||||
|  |  | ||||||
|  | Instead create nested parents in multiple steps where you set each one to `-o canmount=off`: | ||||||
|  | ``` | ||||||
|  | zfs create -o canmount=off zpool/data/var | ||||||
|  | zfs create -o canmount=off zpool/data/var/lib | ||||||
|  | ``` | ||||||
|  | Lastly create the dataset you want mounted: | ||||||
|  | ``` | ||||||
|  | zfs create zpool/data/var/lib/docker | ||||||
|  | ``` | ||||||
|  |  | ||||||
| # Development | # Development | ||||||
|  |  | ||||||
| ## Conventional commits | ## Conventional commits | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user