Configurando o sinalizador noatime para sistemas de arquivos dentro de um contêiner lxc

5

Meu sistema de arquivos host é ext4 montado com o sinalizador noatime . Mas dentro de um contêiner lxc, a bandeira está ausente.

Aqui está a saída de mount no host: /dev/sdb1 on /home type ext4 (rw,noatime)

E aqui está a saída de mount no contêiner: /dev/sdb1 on / type ext4 (rw)

Agora tenho duas perguntas:

1. Faz diferença se noatime estiver definido no contêiner?

Meu palpite é sim .

2. Qual é a melhor maneira de definir noatime para o contêiner?

Idealmente, eu gostaria de configurar de tal forma que ele sempre respeite os flags do sistema de arquivos do host.

Atualizar O /proc/mounts mostra entradas ligeiramente diferentes:

rootfs / rootfs rw 0 0
/dev/sdb1 /home ext4 rw,noatime 0 0
    
por HRJ 20.08.2014 / 07:01

4 respostas

2
  1. Isso faz a diferença. atime no contêiner funciona como você esperaria, tendo um impacto negativo no desempenho.
  2. De acordo com este tíquete , é necessário usar uma solução alternativa, usando um gancho de montagem, em vez de ter o LXC montar para você
por 05.09.2014 / 15:35
1

Meu palpite é que quando uma chamada ao sistema grava em um arquivo, o código do kernel que implementa o status do sinalizador noatime e obtém essa informação da mesma rotina do kernel que fornece a informação para o proc sistema de arquivos.

No entanto, isso está longe de ser uma visão autoritativa e, se for importante, você deve confirmá-la.

O atime realmente é atualizado? Verifique no host e no sistema hospedado. Eu duvido que o tempo seja registrado de forma diferente, mas, novamente, isso é um palpite.

Dependendo de quanto tempo você precisa para contar que a resposta está correta, talvez seja necessário procurar uma resposta autoritária sobre qual deve ser o comportamento. Se isso não estiver funcionando como planejado, isso pode mudar no futuro, e lembre-se de que o LXC ainda não está muito além de sua primeira versão de produção. Fazer perguntas pode ajudar a estabilizar a resposta, mas talvez levá-la a uma lista de desenvolvedores do LXC?

    
por 31.08.2014 / 08:50
0

Eu acho que é um bug em como o arquivo / etc / mtime é atualizado. Verifique / proc / mounts no contêiner e no host.

    
por 29.08.2014 / 21:20
0

Não é realmente uma resposta, mais um pensamento: outro então alguém acreditaria, as ferramentas básicas de fs (mount, df) usam / etc / mtime, que é um arquivo de texto simples escrito por mount e outras ferramentas, como fonte para fs / mount em formação. Se você está chrooted, seu / etc / mtab pode ou não ter um conteúdo que reflita a situação real do seu sistema, dependendo de quando o arquivo / etc / mtab foi criado. Seu / etc / mtab no container obviamente não está refletindo a configuração atual (como visto em / proc / mounts).

    
por 05.09.2014 / 15:13