Após os testes, posso relatar que funciona sem problemas, apenas não use nomes fs, como contêineres, imagens, excluídos e instantâneos. Decidi usar o prefixo "z-" para sistemas de arquivos não-lxd para evitar qualquer colisão no futuro.
Eu tenho 2 discos e gostaria de criar um pool raid0 do ZFS no Ubuntu 16.04 para uso diário e manter os contêineres do LXC nele. Estará tudo bem gerenciar este pool sozinho e permitir que o LXD o gerencie ao mesmo tempo? Eu só quero que o ZFS trabalhe com o bare metal e não queira usar arquivos de loop para o LXD.
Após os testes, posso relatar que funciona sem problemas, apenas não use nomes fs, como contêineres, imagens, excluídos e instantâneos. Decidi usar o prefixo "z-" para sistemas de arquivos não-lxd para evitar qualquer colisão no futuro.
Em vez de usar uma convenção de nomenclatura para evitar conflitos, use um conjunto de dados:
root@vm:~# zfs create test/data
root@vm:~# zfs create test/lxd
root@vm:~# lxd init
Name of the storage backend to use (dir or zfs) [default=zfs]:
Create a new ZFS pool (yes/no) [default=yes]? no
Name of the existing ZFS pool or dataset: test/lxd
...
root@vm:~# zfs list
NAME USED AVAIL REFER MOUNTPOINT
test 492K 38.5G 96K /mnt/test
test/data 96K 38.5G 96K /mnt/test/data
test/lxd 96K 38.5G 96K none
Os conjuntos de dados têm suas próprias propriedades do ZFS e isso permite que o LXD faça o que quiser dentro do conjunto de dados e isso não afetará outros conjuntos de dados. Também parece que o lxd gerencia as propriedades do conjunto de dados: desativando a montagem automática com mountpoint=none
.