
Estou tentando entender como o ZFS funciona quando faço, por exemplo, um instantâneo. Quando uso a lista zfs na máquina, recebo alguns pontos de montagem e alguns caminhos. Por exemplo, recebo algo assim:
rpool/ROOT/s10x_u10_wos_17b 5.3gb 58.2gb 5.3gb /
Eu recebo como ponto de montagem a raiz /
.
Meu primeiro pensamento foi que existe o arquivo real e quando naveguei para o /rpool
diretório não havia diretório ROOT. Depois de pensar um pouco, vi que /rpool/ROOT
na verdade está montado no legado, então deve estar em outro lugar.
Alguém poderia explicar onde estão os arquivos quando ele é montado no legado e talvez por que esse modo legado é usado?
Responder1
Não entendo o propósito do ponto de montagem legado.
O ZFS fornece uma estrutura hierárquica de conjuntos de dados dentro de um pool. No seu caso, você tem um pool chamado rpool
e pelo menos os seguintes conjuntos de dados:
rpool
rpool/ROOT
rpool/ROOT/s10x_u10_wos_17b
Cada um desses conjuntos de dados geralmente é um sistema de arquivos (embora possa ser um dispositivo de volume/bloco).
Assim como cada um desses conjuntos de dados é provavelmente um sistema de arquivos completo/independente, cada um também pode ser montado ou não de forma independente.
Por padrão, o ZFS montará conjuntos de dados filhos em seu local lógico dentro do pai... Se o rpool
conjunto de dados for montado em /rpool
(ou seja: padrão), você descobrirá que o rpool/ROOT
conjunto de dados foi montado em /rpool/ROOT
, etc...
Isso é controlado pela mountpoint
propriedade - execute zfs get -rt filesystem mountpoint
para ver seu valor atual para cada conjunto de dados.
- Se o valor for um caminho, o ZFS montará automaticamente o conjunto de dados nesse caminho quando o pool for importado. O padrão (como mencionado acima) é montar o sistema de arquivos no pai.
- Se o valor for
none
, o ZFS não montará o sistema de arquivos e o sistema de arquivosnão podeser montado usandomount
qualquer um deles. - Se o valor for
legacy
, o ZFS não montará o sistema de arquivos, mas você poderá usarmount
eumount
para gerenciar o ponto de montagem do sistema de arquivos manualmente. Você também pode usar/etc/fstab
para orientar a montagem automática.
Na sua situação, o rpool/ROOT/s10x_u10_wos_17b
conjunto de dados é montado em /
(ou seja: é o seu sistema de arquivos raiz). Para conseguir isso, você pode configurar mountpoint=/
e deixar o ZFS cuidar das coisas ou configurá-lo mountpoint=legacy
e montá-lo explicitamente.
Como este é o seu sistema de arquivos raiz, deixar o ZFS gerenciá-lo para você não é realmente uma opção, e você precisará especificar o ponto de montagem explicitamente.
Portanto, rpool/ROOT/s10x_u10_wos_17b
tem mountpoint=legacy
.
Responder2
O ponto de montagem legado geralmente é usado quando os sistemas de arquivos são montados usando fstab
.
Na página de manual do FreeBSD:
Se necessário, os sistemas de arquivos ZFS também podem ser gerenciados com ferramentas tradicionais (mount(8), umount(8), fstab(5)). Se o ponto de montagem de um sistema de arquivos estiver definido como legado, o ZFS não fará nenhuma tentativa de gerenciar o sistema de arquivos e o administrador será responsável por montar e desmontar o sistema de arquivos.