Onde as configurações do zfs são escritas?

5

No FreeBSD 10.0, quando alguém cria partições zfs e configura onde elas estão montadas (permissões, etc.), onde esta informação é armazenada? /etc/fstab está praticamente vazio.

ou seja:

$ zfs mount
zpool0/ROOT/default             /
zpool0/home                     /home
zpool0/tmp                      /tmp
zpool0/usr                      /usr
zpool0/usr/local                /usr/local
zpool0/usr/obj                  /usr/obj
zpool0/usr/ports                /usr/ports
zpool0/usr/ports/distfiles      /usr/ports/distfiles
zpool0/usr/ports/packages       /usr/ports/packages
zpool0/usr/src                  /usr/src
zpool0/var                      /var
zpool0/var/crash                /var/crash
zpool0/var/db                   /var/db
zpool0/var/db/pkg               /var/db/pkg
zpool0/var/empty                /var/empty
zpool0/var/log                  /var/log
zpool0/var/mail                 /var/mail
zpool0/var/run                  /var/run
zpool0/var/tmp                  /var/tmp

Eu obtive grepped /etc e /var para as strings encontradas acima e não estou obtendo nenhum resultado.

    
por ericx 06.10.2014 / 01:53

2 respostas

9

As informações do pool do ZFS não são armazenadas em um arquivo de texto simples. As informações sobre um pool são armazenadas nos próprios discos. As informações do pool do ZFS também podem ser gravadas em um arquivo de cache do ZFS , mas ele não contém a montagem informação de ponto.

Se você deseja obter valores de ponto de montagem para seus pools do ZFS, use o seguinte:

zfs get mountpoint <pool name>
zfs get mountpoint <pool name>/<dataset>

Se você quiser alterar valores de ponto de montagem, use o comando zfs set . Mais informações sobre o gerenciamento de pontos de montagem .

Além disso, aqui estão alguns outros comandos úteis que você pode usar para obter informações sobre seus pools do ZFS:

zfs list
zpool list
zpool status

Se você quiser descobrir onde o arquivo de cache do pool do ZFS está, use o seguinte comando:

zpool get cachefile <pool name>

Especificamente para o seu caso:

zpool get cachefile zpool0

Se você quiser ler as informações desse arquivo, poderá usar o comando zdb . Tenha cuidado ao usar este comando . Pode ser perigoso usar. Mais informações .

Um pool do ZFS pode ser criado sem um arquivo de cache , portanto, se o zpool get cachefile comando não mostra um não entre em pânico.

Editar : atualizei minha resposta, Michael está correto que o arquivo de cache do pool do ZFS não contém informações sobre pontos de montagem. No entanto, ainda deixarei as informações sobre o arquivo de cache apenas no caso de alguém achar útil.

    
por 06.10.2014 / 06:48
4

Como Gene aponta , a lista de sistemas de arquivos (não partições!) em um pool do ZFS é armazenada dentro do piscina em si. Especificamente, ele é armazenado como parte do pool metadata , que não é facilmente acessível em forma bruta.

Você pode acessar os metadados usando zdb (a ferramenta de depuração do ZFS), mas precisa ser cuidadoso, bem como ter alguma familiaridade com o formato em disco do ZFS para interpretar corretamente a saída de algumas das chamadas possíveis de zdb. (Afinal, é um depurador.)

Você também pode trabalhar com ele usando outros comandos do ZFS, incluindo os subcomandos dos comandos zpool e zfs .

Normalmente, ao trabalhar com sistemas de arquivos do ZFS , você apenas usará os comandos zfs , provavelmente zfs create , zfs destroy (cuidado; este realmente faz o que diz na lata! ), zfs get e zfs set . No seu caso específico, você provavelmente estará mais interessado no atributo mountpoint , que especifica duas coisas:

  • Se definido como um caminho, o ponto de montagem desse sistema de arquivos ZFS na hierarquia geral do sistema de arquivos, e montagem automática
  • Se definido como legacy , o sistema de arquivos será montado "manualmente" (usando ferramentas não reconhecidas pelo ZFS), como o antigo mount (possivelmente por meio do / etc / fstab) ao especificar um ponto de montagem
  • Se definido como none , o sistema de arquivos não pode ser montado; isso é semelhante à configuração de canmount to off

Os arquivos de cache ZFS não estão relacionados a isso, pois o arquivo de cache contém apenas informações pool e você está perguntando sobre as informações do sistema de arquivos . Os metadados do sistema de arquivos são sempre armazenados no próprio pool.

    
por 06.10.2014 / 09:42