Compartilhar Diretório entre LXC no Proxmox com ZFS

Este tutorial descreve como criar um diretório compartilhado entre dois ou mais containers LXC no Proxmox, utilizando ZFS como backend de armazenamento — sem usar o disco do sistema.

✅ Objetivo

Permitir que múltiplos containers LXC compartilhem um mesmo diretório físico localizado em um dataset ZFS (por exemplo, STOR1), com total persistência e desempenho local.

🧱 Pré-requisitos

  • Proxmox VE com ZFS configurado
  • Containers LXC não privilegiados
  • Acesso root ao Proxmox host

🧭 Etapas

1. Identifique o ZFS pool disponível

Execute no Proxmox host:

zfs list

Exemplo de saída:

NAME                        USED  AVAIL  REFER  MOUNTPOINT
STOR1                      24.8G   874G   128K  /STOR1
STOR1/compartilhado-lxc      96K   874G    96K  /STOR1/compartilhado-lxc
...

Se o dataset /STOR1/compartilhado-lxc ainda não existir, crie:

zfs create STOR1/compartilhado-lxc

2. Ajuste as permissões do diretório compartilhado

chown 100000:100000 /STOR1/compartilhado-lxc
chmod 770 /STOR1/compartilhado-lxc

Isso permite que containers não privilegiados com UID 0 enxerguem o conteúdo com permissões adequadas.

3. Configure os containers LXC

Edite os arquivos de configuração dos containers:

nano /etc/pve/lxc/103.conf
nano /etc/pve/lxc/105.conf

Adicione a seguinte linha em ambos:

mp0: /STOR1/compartilhado-lxc,mp=/mnt/compartilhado

Se mp0 já estiver em uso, use mp1, mp2 etc.

4. Reinicie os containers

pct restart 103
pct restart 105

5. Verifique se o diretório está sendo compartilhado

Dentro de qualquer container:

ls /mnt/compartilhado
touch /mnt/compartilhado/teste.txt

Depois, acesse o outro container e confirme se o arquivo aparece no mesmo local.

📌 Notas finais

  • Esse método é ideal para alta performance local e persistência segura usando ZFS.
  • Permissões adicionais podem ser ajustadas usando grupos dentro dos containers.
  • Esse bind é gerenciado diretamente pelo Proxmox via lxc.conf, e sobrevive a reboots.

Related Articles

Responses