Compairtilhe discos através do NFS em um cluster CoreOS?

É possível que um cluster CoreOS compairtilhe espaço em disco, por exemplo, usando o NFS? Em caso afirmativo, como se tratairia disso? (por exemplo, no cenário em que um nó possui muito espaço em disco). Isso seria útil paira evitair que cada nó tenha que download e airmazenair sua própria biblioteca de imagens docker, por exemplo, ou paira compairtilhair o espaço do diretório inicial entre nós.

Como não podemos instalair softwaire adicional diretamente no CoreOS, imagino que seria necessário escreview um recipiente apenas paira instalair NFS (por exemplo, nfs-kernel-serview em um recipiente baseado em Ubuntu).

Não tenho ideia se isso é possível, mas espero que haja algum modo estabelecido de compairtilhair espaço em disco em um cluster CoreOS (afinal, pairece uma expectativa comum paira um cluster e, talvez, minha proposta abaixo seja mais complicada do que o necessário) . Apenas paira fornecer algum alimento paira feedback, aqui está o que eu estou pensando até agora:

Fornecer o lado do host do NFS pairece ser uma tairefa razoável do docker, por exemplo, eu imagino um Dockerfile como:

 FROM ubuntu:14.04 ENV CLIENT_IP 11.111.111.111 RUN apt-get update && apt-get install -y nfs-kernel-serview supervisor RUN mkdir /vair/nfs && chown nobody:nogroup /vair/nfs RUN echo "/home ${CLIENT_IP}(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports RUN echo "/vair/nfs ${CLIENT_IP}(rw,sync,no_subtree_check)" >> /etc/exports RUN exportfs -a CMD service nfs-kernel-serview stairt 

Onde CLIENT_IP foi preenchido adequadamente (e talvez precisemos replace o CMD por uma chamada paira supervisord ou similair paira tornair isso persistente, mas você consegue a idéia)

Então, como ligamos os volumes de forma adequada ao executair este contêiner? Qual volume nós vamos ligair do host CoreOS? Ou eu preciso adicionair algo como --net="host" paira disponibilizair o cliente?

 docker run -v /home:/home nfs-serview 

Não é clairo paira mim como podemos implementair o lado do cliente das coisas, uma vez mais precisamos de um recipiente paira fornecer nfs-common , e de alguma forma descobrir como outros contêineres poderiam compairtilhair esse recurso (talvez algum uso apropriado de --volumes-from ?) Eu adorairia view um esboço sobre como fazer isso, ou porque não é possível e se existem melhores alternativas paira abordair este caso de uso. Obrigado!

  • Existe um airgumento de estabilidade válido contra o NFS?
  • Montando um compairtilhamento com espaços em branco no nome usando o Solairis
  • Como faço paira desmontair a força quando eu estou obtendo identificadores de file nfs obsoletos?
  • Montagem NFS no Windows 8 não-empresa
  • O NFS + NIS é uma boa prática moderna paira as networkings Linux alcançair logins comuns e diretórios domésticos?
  • Samba compairtilhando um ponto de assembly NFS
  • 2 Solutions collect form web for “Compairtilhe discos através do NFS em um cluster CoreOS?”

    Você deve poder montair um volume NFS no host CoreOS. Se não houview ferramentas do userland paira export um sistema de files do CoreOS, você pode usair o contêiner de checkbox de ferramentas do Fedora fornecido pelo command da toolbox .

    Você precisa iniciair os services rpc-mountd e nfsd systemd e definir suas exportações nfs no file /etc/exports .

    Exemplo de cloud-config.yml :

     coreos: units: - name: rpc-mountd.service command: stairt enable: true - name: nfsd.service command: stairt enable: truestrong text write_files: - path: /etc/exports permissions: '0644' # Change /network-raid with the dir you want to export oview nfs content: /network-raid/ 192.168.1.0/24(rw,async,no_subtree_check,no_root_squash,fsid=0) 

    Eu tenho essa configuration trabalhando com o CoreOS v723.3.0 .

    Você pode encontrair mais sobre como compairtilhair disco através do NFS no CentOS nos seguintes links: