O uso de disco para a mesma unidade mostra 20K no host e 16G no contêiner

3

Ao comparar o uso do disco para um disco rígido montado, o uso é completamente diferente quando comparado entre o host e o contêiner. Estou executando o Ubuntu 14.04 no host e no contêiner lxc.

O disco rígido é montado no host, conforme confirmado por /etc/mtab , que possui a seguinte entrada: /dev/nvme0n1 /mnt/SSD ext4 rw 0 0 . A unidade, no entanto, não é montada usando /etc/fstab . A unidade é montada dentro do contêiner lxc usando configurações de fstab em: /var/lib/lxc/container_name/fstab .

Do host :

# du -hs /mnt/SSD/
20K     /mnt/SSD/

# df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                        63G  4.0K   63G   1% /dev
tmpfs                       13G  1.4M   13G   1% /run
/dev/mapper/sifr--vg-root  314G  241G   58G  81% /
none                       4.0K     0  4.0K   0% /sys/fs/cgroup
none                       5.0M     0  5.0M   0% /run/lock
none                        63G     0   63G   0% /run/shm
none                       100M     0  100M   0% /run/user
/dev/sda1                  236M  100M  124M  45% /boot
/dev/nvme0n1               1.1T   71M  1.1T   1% /mnt/SSD

Do container :

$ du -hs /mnt/SSD/
16G /mnt/SSD/

$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/sifr--vg-root  314G  241G   58G  81% /
none                       4.0K     0  4.0K   0% /sys/fs/cgroup
none                        13G  136K   13G   1% /run
none                       5.0M     0  5.0M   0% /run/lock
none                        63G  4.0K   63G   1% /run/shm
none                       100M     0  100M   0% /run/user
  1. Como e por que a mesma unidade mostra dois usos diferentes?
  2. Qual é o uso correto?

Atualização: Depois de desmontar a unidade usando sudo umount /dev/nvme0n1 , vejo agora o uso de disco de 16 GB no host:

$ du -hs /mnt/SSD/
16G     /mnt/SSD/

Montei outra unidade /dev/sdb usando /etc/fstab e dei acesso ao contêiner usando o mesmo método: /var/lib/lxc/container_name/fstab . O uso da segunda unidade também é consistente e o conteúdo está disponível no contêiner e no host.

As diferenças entre as duas unidades são que /dev/nvme0n1 é uma unidade nvme que foi montada manualmente, enquanto /dev/sdb é uma unidade magnética e foi montada usando /etc/fstab .

O que poderia estar causando a diferença no comportamento e como tornar /dev/nvme0n1 disponível no contêiner?

    
por Greg 20.03.2016 / 14:37

1 resposta

2

A razão é que o host tem acesso à unidade montada, o container não. Isso ocorre porque não há nada montado em /mnt/SSD no contêiner. Portanto, o host acessa e armazena dados no SSD ( /dev/nvme0n1 ) quando ultrapassa /mnt/SSD , enquanto o contêiner acessa um diretório em seu disco raiz ( /dev/mapper/sifr--vg-root ).

Para colocar isso no contêiner, você precisa de uma bind mount e pode permitir a criação de um diretório no sistema de arquivos do contêiner. Para fazer isso, você precisa adicionar a opção create=dir na fstab do container:

/mnt/SSD      /moint/point/in/the/container    none   bind,create=dir

>

% bl0ck_qu0te%     
por cmks 20.03.2016 / 14:52